[PATCH] drm/amdgpu/atomfirmware: fix LPDDR5 width reporting

Zhang, Hawking Hawking.Zhang at amd.com
Thu Jun 15 22:58:43 UTC 2023


[AMD Official Use Only - General]

Acked-by: Hawking Zhang <Hawking.Zhang at amd.com>

Regards,
Hawking

Get Outlook for iOS<https://aka.ms/o0ukef>
________________________________
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> on behalf of Alex Deucher <alexander.deucher at amd.com>
Sent: Friday, June 16, 2023 6:13:17 AM
To: amd-gfx at lists.freedesktop.org <amd-gfx at lists.freedesktop.org>
Cc: Deucher, Alexander <Alexander.Deucher at amd.com>
Subject: [PATCH] drm/amdgpu/atomfirmware: fix LPDDR5 width reporting

LPDDR5 channels are 32 bit rather than 64, report the width properly
in the log.

v2: Only LPDDR5 are 32 bits per channel.  DDR5 is 64 bits per channel

Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2468
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
 .../gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c   | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
index ef4b9a41f20a..0b7f4c4d58e5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
@@ -327,10 +327,13 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev,
                                         mem_channel_number = igp_info->v11.umachannelnumber;
                                         if (!mem_channel_number)
                                                 mem_channel_number = 1;
-                                       /* channel width is 64 */
-                                       if (vram_width)
-                                               *vram_width = mem_channel_number * 64;
                                         mem_type = igp_info->v11.memorytype;
+                                       if (mem_type == LpDdr5MemType)
+                                               mem_channel_width = 32;
+                                       else
+                                               mem_channel_width = 64;
+                                       if (vram_width)
+                                               *vram_width = mem_channel_number * mem_channel_width;
                                         if (vram_type)
                                                 *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
                                         break;
@@ -345,10 +348,13 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev,
                                         mem_channel_number = igp_info->v21.umachannelnumber;
                                         if (!mem_channel_number)
                                                 mem_channel_number = 1;
-                                       /* channel width is 64 */
-                                       if (vram_width)
-                                               *vram_width = mem_channel_number * 64;
                                         mem_type = igp_info->v21.memorytype;
+                                       if (mem_type == LpDdr5MemType)
+                                               mem_channel_width = 32;
+                                       else
+                                               mem_channel_width = 64;
+                                       if (vram_width)
+                                               *vram_width = mem_channel_number * mem_channel_width;
                                         if (vram_type)
                                                 *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
                                         break;
--
2.40.1

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20230615/6fce302a/attachment-0001.htm>


More information about the amd-gfx mailing list