drm/amdkfd: disable IOMMUv2 support for KV/CZ
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. v2: use the dGPU queue manager functions Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Tested-by: Mike Lothian <mike@fireburn.co.uk> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
95979df25b
commit
99c1501996
@ -233,10 +233,6 @@ static void kfd_device_info_init(struct kfd_dev *kfd,
|
|||||||
asic_type != CHIP_TONGA)
|
asic_type != CHIP_TONGA)
|
||||||
kfd->device_info.supports_cwsr = true;
|
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)
|
if (asic_type != CHIP_HAWAII && !vf)
|
||||||
kfd->device_info.needs_pci_atomics = true;
|
kfd->device_info.needs_pci_atomics = true;
|
||||||
}
|
}
|
||||||
@ -249,7 +245,6 @@ struct kfd_dev *kgd2kfd_probe(struct amdgpu_device *adev, bool vf)
|
|||||||
uint32_t gfx_target_version = 0;
|
uint32_t gfx_target_version = 0;
|
||||||
|
|
||||||
switch (adev->asic_type) {
|
switch (adev->asic_type) {
|
||||||
#ifdef KFD_SUPPORT_IOMMU_V2
|
|
||||||
#ifdef CONFIG_DRM_AMDGPU_CIK
|
#ifdef CONFIG_DRM_AMDGPU_CIK
|
||||||
case CHIP_KAVERI:
|
case CHIP_KAVERI:
|
||||||
gfx_target_version = 70000;
|
gfx_target_version = 70000;
|
||||||
@ -262,7 +257,6 @@ struct kfd_dev *kgd2kfd_probe(struct amdgpu_device *adev, bool vf)
|
|||||||
if (!vf)
|
if (!vf)
|
||||||
f2g = &gfx_v8_kfd2kgd;
|
f2g = &gfx_v8_kfd2kgd;
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_DRM_AMDGPU_CIK
|
#ifdef CONFIG_DRM_AMDGPU_CIK
|
||||||
case CHIP_HAWAII:
|
case CHIP_HAWAII:
|
||||||
gfx_target_version = 70001;
|
gfx_target_version = 70001;
|
||||||
|
@ -2558,18 +2558,12 @@ struct device_queue_manager *device_queue_manager_init(struct kfd_node *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (dev->adev->asic_type) {
|
switch (dev->adev->asic_type) {
|
||||||
case CHIP_CARRIZO:
|
|
||||||
device_queue_manager_init_vi(&dqm->asic_ops);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CHIP_KAVERI:
|
case CHIP_KAVERI:
|
||||||
device_queue_manager_init_cik(&dqm->asic_ops);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CHIP_HAWAII:
|
case CHIP_HAWAII:
|
||||||
device_queue_manager_init_cik_hawaii(&dqm->asic_ops);
|
device_queue_manager_init_cik_hawaii(&dqm->asic_ops);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CHIP_CARRIZO:
|
||||||
case CHIP_TONGA:
|
case CHIP_TONGA:
|
||||||
case CHIP_FIJI:
|
case CHIP_FIJI:
|
||||||
case CHIP_POLARIS10:
|
case CHIP_POLARIS10:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user