Change-Id: Id1057eeb8f884a7409917e75706c8f96027b548a
Signed-off-by: Rex Zhu <rex....@amd.com>
Reviewed-by: Xiaojie Yuan <xiaojie.y...@amd.com>
Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/atom.c | 19 +++++++------------
 drivers/gpu/drm/amd/amdgpu/atom.h |  1 +
 2 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/atom.c 
b/drivers/gpu/drm/amd/amdgpu/atom.c
index d1444aa..7a7878d 100644
--- a/drivers/gpu/drm/amd/amdgpu/atom.c
+++ b/drivers/gpu/drm/amd/amdgpu/atom.c
@@ -1339,18 +1339,13 @@ struct atom_context *amdgpu_atom_parse(struct card_info 
*card, void *bios)
                return NULL;
        }
 
-       str = CSTR(CU16(base + ATOM_ROM_MSG_PTR));
-       while (*str && ((*str == '\n') || (*str == '\r')))
-               str++;
-       /* name string isn't always 0 terminated */
-       for (i = 0; i < 511; i++) {
-               name[i] = str[i];
-               if (name[i] < '.' || name[i] > 'z') {
-                       name[i] = 0;
-                       break;
-               }
-       }
-       pr_info("ATOM BIOS: %s\n", name);
+       idx = CU16(ATOM_ROM_PART_NUMBER_PTR);
+       if (idx == 0)
+               idx = 0x80;
+
+       str = CSTR(idx);
+       if (*str != '\0')
+               pr_info("ATOM BIOS: %s\n", str);
 
        return ctx;
 }
diff --git a/drivers/gpu/drm/amd/amdgpu/atom.h 
b/drivers/gpu/drm/amd/amdgpu/atom.h
index 49daf6d..baa2438 100644
--- a/drivers/gpu/drm/amd/amdgpu/atom.h
+++ b/drivers/gpu/drm/amd/amdgpu/atom.h
@@ -32,6 +32,7 @@
 #define ATOM_ATI_MAGIC_PTR     0x30
 #define ATOM_ATI_MAGIC         " 761295520"
 #define ATOM_ROM_TABLE_PTR     0x48
+#define ATOM_ROM_PART_NUMBER_PTR       0x6E
 
 #define ATOM_ROM_MAGIC         "ATOM"
 #define ATOM_ROM_MAGIC_PTR     4
-- 
1.9.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to