[PATCH AUTOSEL 6.1 09/10] drm/amdkfd: disable IOMMUv2 support for KV/CZ

Deucher, Alexander Alexander.Deucher at amd.com
Tue Aug 22 15:41:19 UTC 2023


[Public]

> -----Original Message-----
> From: Sasha Levin <sashal at kernel.org>
> Sent: Tuesday, August 22, 2023 7:36 AM
> To: linux-kernel at vger.kernel.org; stable at vger.kernel.org
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Kuehling, Felix
> <Felix.Kuehling at amd.com>; Koenig, Christian <Christian.Koenig at amd.com>;
> Mike Lothian <mike at fireburn.co.uk>; Sasha Levin <sashal at kernel.org>; Pan,
> Xinhui <Xinhui.Pan at amd.com>; airlied at gmail.com; daniel at ffwll.ch; amd-
> gfx at lists.freedesktop.org; dri-devel at lists.freedesktop.org
> Subject: [PATCH AUTOSEL 6.1 09/10] drm/amdkfd: disable IOMMUv2
> support for KV/CZ
>
> From: Alex Deucher <alexander.deucher at 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.Kuehling at amd.com>
> Acked-by: Christian König <christian.koenig at amd.com>
> Tested-by: Mike Lothian <mike at fireburn.co.uk>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> Signed-off-by: Sasha Levin <sashal at 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



More information about the amd-gfx mailing list