[PATCH 1/2] drm/amdkfd: Initialize HSA_CAP_ATS_PRESENT capability in topology codes
Kuehling, Felix
Felix.Kuehling at amd.com
Mon Jun 10 23:35:30 UTC 2019
On 2019-06-10 13:48, Zeng, Oak wrote:
> Move HSA_CAP_ATS_PRESENT initialization logic from kfd iommu codes to
> kfd topology codes. This removes kfd_iommu_device_init's dependency
> on kfd_topology_add_device. Also remove duplicate code setting the
> same.
>
> Change-Id: I2bf3c000d4795b41afe1b39fe679677c1f86bfbe
> Signed-off-by: Oak Zeng <Oak.Zeng at amd.com>
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_iommu.c | 10 +---------
> drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 6 +++++-
> 2 files changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_iommu.c b/drivers/gpu/drm/amd/amdkfd/kfd_iommu.c
> index 0149475..5f35df2 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_iommu.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_iommu.c
> @@ -66,16 +66,8 @@ int kfd_iommu_device_init(struct kfd_dev *kfd)
>
> top_dev = kfd_topology_device_by_id(kfd->id);
>
> - /*
> - * Overwrite ATS capability according to needs_iommu_device to fix
> - * potential missing corresponding bit in CRAT of BIOS.
> - */
It would be good to preserve this comment by moving it to
kfd_topology_add_device.
> - if (!kfd->device_info->needs_iommu_device) {
> - top_dev->node_props.capability &= ~HSA_CAP_ATS_PRESENT;
> + if (!kfd->device_info->needs_iommu_device)
> return 0;
> - }
> -
> - top_dev->node_props.capability |= HSA_CAP_ATS_PRESENT;
>
> iommu_info.flags = 0;
> err = amd_iommu_device_info(kfd->pdev, &iommu_info);
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> index d241a86..1c184b3 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> @@ -1330,6 +1330,11 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
> dev->gpu->device_info->asic_family);
> }
>
> + if (dev->gpu->device_info->needs_iommu_device)
> + dev->node_props.capability |= HSA_CAP_ATS_PRESENT;
> + else
> + dev->node_props.capability &= ~HSA_CAP_ATS_PRESENT;
> +
> /* Fix errors in CZ CRAT.
> * simd_count: Carrizo CRAT reports wrong simd_count, probably
> * because it doesn't consider masked out CUs
> @@ -1340,7 +1345,6 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
> dev->node_props.simd_count =
> cu_info.simd_per_cu * cu_info.cu_active_number;
> dev->node_props.max_waves_per_simd = 10;
> - dev->node_props.capability |= HSA_CAP_ATS_PRESENT;
There is a comment above the if-block that should be updated when you
remove this.
With these two comments fixed, the series is Reviewed-by: Felix Kuehling
<Felix.Kuehling at amd.com>
Regards,
Felix
> }
>
> ctx = amdgpu_ras_get_context((struct amdgpu_device *)(dev->gpu->kgd));
More information about the amd-gfx
mailing list