<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:#2F5496;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#2F5496">From f097509a17a6ddf6a0f40fb1b73f289227a9539a Mon Sep 17 00:00:00 2001<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">From: Samuel Li <Samuel.Li@amd.com><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">Date: Thu, 27 Apr 2017 13:45:24 -0400<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">Subject: [PATCH 1/1] radeonsi: Use libdrm to get chipset name<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">Change-Id: I614ea71424f9e5c97e4ae68654315d28c89eaa5f<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">Signed-off-by: Samuel Li <Samuel.Li@amd.com><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">---<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">src/gallium/drivers/radeon/r600_pipe_common.c | 10 +++++++++-<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">src/gallium/winsys/amdgpu/drm/amdgpu_public.h |  1 +<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c |  7 +++++++<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">3 files changed, 17 insertions(+), 1 deletion(-)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">index ce84139..b4f9beb 100644<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">--- a/src/gallium/drivers/radeon/r600_pipe_common.c<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+++ b/src/gallium/drivers/radeon/r600_pipe_common.c<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">@@ -36,6 +36,7 @@<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">#include "vl/vl_decoder.h"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">#include "vl/vl_video_buffer.h"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">#include "radeon/radeon_video.h"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+#include "gallium/winsys/amdgpu/drm/amdgpu_public.h"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">#include <inttypes.h><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">#include <sys/utsname.h><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">@@ -788,6 +789,13 @@ static const char* r600_get_device_vendor(struct pipe_screen* pscreen)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"> static const char* r600_get_chip_name(struct r600_common_screen *rscreen)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+             const char *mname = amdgpu_get_chip_name(rscreen->ws);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+             if (mname != NULL) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+                             return mname;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+             }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+             /* fall back to family names*/<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">               switch (rscreen->info.family) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">               case CHIP_R600: return "AMD R600";<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">               case CHIP_RV610: return "AMD RV610";<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">@@ -1314,6 +1322,7 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">               struct utsname uname_data;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">                ws->query_info(ws, &rscreen->info);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+             rscreen->ws = ws;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">                if (uname(&uname_data) == 0)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">                               snprintf(kernel_version, sizeof(kernel_version),<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">@@ -1355,7 +1364,6 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">               r600_init_screen_texture_functions(rscreen);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">               r600_init_screen_query_functions(rscreen);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">-              rscreen->ws = ws;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">               rscreen->family = rscreen->info.family;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">               rscreen->chip_class = rscreen->info.chip_class;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">               rscreen->debug_flags = debug_get_flags_option("R600_DEBUG", common_debug_options, 0);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_public.h b/src/gallium/winsys/amdgpu/drm/amdgpu_public.h<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">index ad133b2..8a50c4d 100644<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">--- a/src/gallium/winsys/amdgpu/drm/amdgpu_public.h<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_public.h<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">@@ -34,6 +34,7 @@ struct pipe_screen;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"> typedef struct pipe_screen *(*radeon_screen_create_t)(struct radeon_winsys *);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+const char* amdgpu_get_chip_name(struct radeon_winsys *ws);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">struct radeon_winsys *<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">amdgpu_winsys_create(int fd, radeon_screen_create_t screen_create);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">index f3a0c95..0c8c329 100644<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">--- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">@@ -532,6 +532,13 @@ static bool amdgpu_winsys_unref(struct radeon_winsys *rws)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">    return destroy;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+const char* amdgpu_get_chip_name(struct radeon_winsys *ws)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+             amdgpu_device_handle dev = ((struct amdgpu_winsys *)ws)->dev;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+             return amdgpu_get_marketing_name(dev);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">+<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">PUBLIC struct radeon_winsys *<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">amdgpu_winsys_create(int fd, radeon_screen_create_t screen_create)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">-- <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#2F5496">2.7.4<o:p></o:p></span></p>
</div>
</body>
</html>