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@xxxxxxx> > --- > 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@xxxxxxx> Regards, Felix > } > > ctx = amdgpu_ras_get_context((struct amdgpu_device *)(dev->gpu->kgd)); _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx