<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:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:DengXian;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@DengXian";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msipheader251902e5, li.msipheader251902e5, div.msipheader251902e5
{mso-style-name:msipheader251902e5;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@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" style="word-wrap:break-word">
<div class="WordSection1">
<p class="msipheader251902e5" style="margin:0in"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#317100">[AMD Public Use]</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Series is<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards,<br>
Hawking<o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Lazar, Lijo <Lijo.Lazar@amd.com> <br>
<b>Sent:</b> Monday, March 22, 2021 13:57<br>
<b>To:</b> amd-gfx@lists.freedesktop.org<br>
<b>Cc:</b> Zhang, Hawking <Hawking.Zhang@amd.com>; Deucher, Alexander <Alexander.Deucher@amd.com><br>
<b>Subject:</b> [PATCH v2 0/8] Add mode2 reset support for aldebaran<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="msipheader251902e5" style="margin:0in"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#317100">[AMD Public Use]</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This patch series adds support for mode2 reset for aldebaran. Since the<o:p></o:p></p>
<p class="MsoNormal">reset sequence is completely different from existing ones, it adds<o:p></o:p></p>
<p class="MsoNormal">supports using a new reset control method. The reset control and<o:p></o:p></p>
<p class="MsoNormal">handlers can be installed and handle specific types of resets.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">v1:<o:p></o:p></p>
<p class="MsoNormal">1. Changes to the mode2 sequence as PCI space gets lost during the<o:p></o:p></p>
<p class="MsoNormal">sequence.<o:p></o:p></p>
<p class="MsoNormal">2. Add support to wait for specific events from PMFW. Reset complete is<o:p></o:p></p>
<p class="MsoNormal">considered as one such event.<o:p></o:p></p>
<p class="MsoNormal">3. Add support to wait for reset completion on aldebaran<o:p></o:p></p>
<p class="MsoNormal">4. Add a new reset control and reset handler method. Reset control can<o:p></o:p></p>
<p class="MsoNormal">be installed at device, hive or ip level. For now, it's done only at<o:p></o:p></p>
<p class="MsoNormal">device level<o:p></o:p></p>
<p class="MsoNormal">5. Add reset control mechanism to the current recover sequence.<o:p></o:p></p>
<p class="MsoNormal">6. Expose PSP function to load a list of firmwares<o:p></o:p></p>
<p class="MsoNormal">7. Expose CG/PG set functions for use outside of device<o:p></o:p></p>
<p class="MsoNormal">8. Add mode2 reset and restore sequences for aldebaran.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">v2:<o:p></o:p></p>
<p class="MsoNormal">- Coding style fixes<o:p></o:p></p>
<p class="MsoNormal">- Mutex protection for new smu api (#2)<o:p></o:p></p>
<p class="MsoNormal">- Clear bus mastering before reset (#8)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Lijo Lazar (8):<o:p></o:p></p>
<p class="MsoNormal"> drm/amd/pm: Modify mode2 msg sequence on aldebaran<o:p></o:p></p>
<p class="MsoNormal"> drm/amd/pm: Add function to wait for smu events<o:p></o:p></p>
<p class="MsoNormal"> drm/amd/pm: Add support for reset completion on aldebaran<o:p></o:p></p>
<p class="MsoNormal"> drm/amdgpu: Add reset control to amdgpu_device<o:p></o:p></p>
<p class="MsoNormal"> drm/amdgpu: Add reset control handling to reset workflow<o:p></o:p></p>
<p class="MsoNormal"> drm/amdgpu: Add PSP public function to load a list of FWs<o:p></o:p></p>
<p class="MsoNormal"> drm/amdgpu: Make set PG/CG state functions public<o:p></o:p></p>
<p class="MsoNormal"> drm/amdgpu: Add mode2 reset support for aldebaran<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/Makefile | 7 +-<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/aldebaran.c | 380 ++++++++++++++++++<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/aldebaran.h | 34 ++<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/amdgpu.h | 20 +-<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 96 +++--<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 17 +-<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 17 +<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 4 +<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/amdgpu_reset.c | 98 +++++<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/amdgpu_reset.c.ald | 98 +++++<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/amdgpu_reset.h | 87 ++++<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 8 +-<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/pm/inc/aldebaran_ppsmc.h | 3 +-<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h | 16 +-<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/pm/inc/smu_types.h | 1 +<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/pm/inc/smu_v13_0.h | 5 +<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 14 +<o:p></o:p></p>
<p class="MsoNormal">.../drm/amd/pm/swsmu/smu13/aldebaran_ppt.c | 57 ++-<o:p></o:p></p>
<p class="MsoNormal">.../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 42 +-<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 2 +-<o:p></o:p></p>
<p class="MsoNormal">drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h | 2 +<o:p></o:p></p>
<p class="MsoNormal">21 files changed, 956 insertions(+), 52 deletions(-)<o:p></o:p></p>
<p class="MsoNormal">create mode 100644 drivers/gpu/drm/amd/amdgpu/aldebaran.c<o:p></o:p></p>
<p class="MsoNormal">create mode 100644 drivers/gpu/drm/amd/amdgpu/aldebaran.h<o:p></o:p></p>
<p class="MsoNormal">create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_reset.c<o:p></o:p></p>
<p class="MsoNormal">create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_reset.c.ald<o:p></o:p></p>
<p class="MsoNormal">create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_reset.h<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-- <o:p></o:p></p>
<p class="MsoNormal">2.17.1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>