[Public] > -----Original Message----- > From: Sasha Levin <sas...@kernel.org> > Sent: Tuesday, August 22, 2023 7:36 AM > To: linux-ker...@vger.kernel.org; sta...@vger.kernel.org > Cc: Deucher, Alexander <alexander.deuc...@amd.com>; Kuehling, Felix > <felix.kuehl...@amd.com>; Koenig, Christian <christian.koe...@amd.com>; > Mike Lothian <m...@fireburn.co.uk>; Sasha Levin <sas...@kernel.org>; Pan, > Xinhui <xinhui....@amd.com>; airl...@gmail.com; dan...@ffwll.ch; amd- > g...@lists.freedesktop.org; dri-de...@lists.freedesktop.org > Subject: [PATCH AUTOSEL 6.1 09/10] drm/amdkfd: disable IOMMUv2 > support for KV/CZ > > From: Alex Deucher <alexander.deuc...@amd.com> > > [ Upstream commit 616f92d188ee7142a95a52068efdbea82645f859 ] > > Use the dGPU path instead. There were a lot of platform issues with IOMMU > in general on these chips due to windows not enabling IOMMU at the time. > The dGPU path has been used for a long time with newer APUs and works > fine. This also paves the way to simplify the driver significantly.
This is not needed for stable. Alex > > v2: use the dGPU queue manager functions > > Reviewed-by: Felix Kuehling <felix.kuehl...@amd.com> > Acked-by: Christian König <christian.koe...@amd.com> > Tested-by: Mike Lothian <m...@fireburn.co.uk> > Signed-off-by: Alex Deucher <alexander.deuc...@amd.com> > Signed-off-by: Sasha Levin <sas...@kernel.org> > --- > drivers/gpu/drm/amd/amdkfd/kfd_device.c | 6 ------ > drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 8 +------- > 2 files changed, 1 insertion(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c > b/drivers/gpu/drm/amd/amdkfd/kfd_device.c > index 27820f0a282d1..4cc5debdd119b 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c > @@ -216,10 +216,6 @@ static void kfd_device_info_init(struct kfd_dev *kfd, > asic_type != CHIP_TONGA) > kfd->device_info.supports_cwsr = true; > > - if (asic_type == CHIP_KAVERI || > - asic_type == CHIP_CARRIZO) > - kfd->device_info.needs_iommu_device = true; > - > if (asic_type != CHIP_HAWAII && !vf) > kfd->device_info.needs_pci_atomics = true; > } > @@ -233,7 +229,6 @@ struct kfd_dev *kgd2kfd_probe(struct > amdgpu_device *adev, bool vf) > uint32_t gfx_target_version = 0; > > switch (adev->asic_type) { > -#ifdef KFD_SUPPORT_IOMMU_V2 > #ifdef CONFIG_DRM_AMDGPU_CIK > case CHIP_KAVERI: > gfx_target_version = 70000; > @@ -246,7 +241,6 @@ struct kfd_dev *kgd2kfd_probe(struct > amdgpu_device *adev, bool vf) > if (!vf) > f2g = &gfx_v8_kfd2kgd; > break; > -#endif > #ifdef CONFIG_DRM_AMDGPU_CIK > case CHIP_HAWAII: > gfx_target_version = 70001; > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > index c06ada0844ba1..5616a722578f5 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > @@ -2335,18 +2335,12 @@ struct device_queue_manager > *device_queue_manager_init(struct kfd_dev *dev) > } > > switch (dev->adev->asic_type) { > - case CHIP_CARRIZO: > - device_queue_manager_init_vi(&dqm->asic_ops); > - break; > - > case CHIP_KAVERI: > - device_queue_manager_init_cik(&dqm->asic_ops); > - break; > - > case CHIP_HAWAII: > device_queue_manager_init_cik_hawaii(&dqm->asic_ops); > break; > > + case CHIP_CARRIZO: > case CHIP_TONGA: > case CHIP_FIJI: > case CHIP_POLARIS10: > -- > 2.40.1