drm/amdgpu/atomfirmware: update vram info handling for renoir
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 25 Jun 2020 21:51:59 +0000 (17:51 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 2 Jul 2020 16:02:57 +0000 (12:02 -0400)
Add support for integrated_system_info table v12.  Use the actual
v12 structure.

Acked-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c

index 4b8aad1c0b51611cf44ced8f6c774985d77f2aad..1279053324f99e7e5f85cdaae69dbdfbb97592ea 100644 (file)
@@ -111,6 +111,7 @@ int amdgpu_atomfirmware_allocate_fb_scratch(struct amdgpu_device *adev)
 
 union igp_info {
        struct atom_integrated_system_info_v1_11 v11;
+       struct atom_integrated_system_info_v1_12 v12;
 };
 
 union umc_info {
@@ -206,7 +207,6 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev,
                                (mode_info->atom_context->bios + data_offset);
                        switch (crev) {
                        case 11:
-                       case 12:
                                mem_channel_number = igp_info->v11.umachannelnumber;
                                /* channel width is 64 */
                                if (vram_width)
@@ -215,6 +215,15 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev,
                                if (vram_type)
                                        *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
                                break;
+                       case 12:
+                               mem_channel_number = igp_info->v12.umachannelnumber;
+                               /* channel width is 64 */
+                               if (vram_width)
+                                       *vram_width = mem_channel_number * 64;
+                               mem_type = igp_info->v12.memorytype;
+                               if (vram_type)
+                                       *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
+                               break;
                        default:
                                return -EINVAL;
                        }