drm/amdkfd: Added GFX 11.0.3 Support
authorDavid Belanger <david.belanger@amd.com>
Tue, 26 Jul 2022 13:54:51 +0000 (09:54 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 30 Aug 2022 20:37:11 +0000 (16:37 -0400)
Added missing cases for GFX 11.0.3 code in a few switch statements.

Signed-off-by: David Belanger <david.belanger@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_crat.c
drivers/gpu/drm/amd/amdkfd/kfd_device.c

index a540953..24b414c 100644 (file)
@@ -1522,6 +1522,7 @@ static int kfd_fill_gpu_cache_info(struct kfd_dev *kdev,
                case IP_VERSION(11, 0, 0):
                case IP_VERSION(11, 0, 1):
                case IP_VERSION(11, 0, 2):
+               case IP_VERSION(11, 0, 3):
                        pcache_info = cache_info;
                        num_of_cache_types =
                                kfd_fill_gpu_cache_info_from_gfx_config(kdev, pcache_info);
index 22c0929..65a1d4f 100644 (file)
@@ -91,6 +91,7 @@ static void kfd_device_info_set_sdma_info(struct kfd_dev *kfd)
        case IP_VERSION(6, 0, 0):
        case IP_VERSION(6, 0, 1):
        case IP_VERSION(6, 0, 2):
+       case IP_VERSION(6, 0, 3):
                kfd->device_info.num_sdma_queues_per_engine = 8;
                break;
        default:
@@ -103,6 +104,7 @@ static void kfd_device_info_set_sdma_info(struct kfd_dev *kfd)
        switch (sdma_version) {
        case IP_VERSION(6, 0, 0):
        case IP_VERSION(6, 0, 2):
+       case IP_VERSION(6, 0, 3):
                /* Reserve 1 for paging and 1 for gfx */
                kfd->device_info.num_reserved_sdma_queues_per_engine = 2;
                /* BIT(0)=engine-0 queue-0; BIT(1)=engine-1 queue-0; BIT(2)=engine-0 queue-1; ... */
@@ -150,6 +152,7 @@ static void kfd_device_info_set_event_interrupt_class(struct kfd_dev *kfd)
        case IP_VERSION(11, 0, 0):
        case IP_VERSION(11, 0, 1):
        case IP_VERSION(11, 0, 2):
+       case IP_VERSION(11, 0, 3):
                kfd->device_info.event_interrupt_class = &event_interrupt_class_v11;
                break;
        default:
@@ -399,6 +402,11 @@ struct kfd_dev *kgd2kfd_probe(struct amdgpu_device *adev, bool vf)
                        gfx_target_version = 110002;
                        f2g = &gfx_v11_kfd2kgd;
                        break;
+               case IP_VERSION(11, 0, 3):
+                       /* Note: Compiler version is 11.0.1 while HW version is 11.0.3 */
+                       gfx_target_version = 110001;
+                       f2g = &gfx_v11_kfd2kgd;
+                       break;
                default:
                        break;
                }