<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<p style="font-family:Calibri;font-size:10pt;color:#008000;margin:5pt;font-style:normal;font-weight:normal;text-decoration:none;" align="Left">
[Public]<br>
</p>
<br>
<div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Series is:</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Reviewed-by: Alex Deucher <alexander.deucher@amd.com></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Sunil Khatri <sunil.khatri@amd.com><br>
<b>Sent:</b> Thursday, July 18, 2024 12:42 AM<br>
<b>To:</b> Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian <Christian.Koenig@amd.com><br>
<b>Cc:</b> amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org>; Khatri, Sunil <Sunil.Khatri@amd.com><br>
<b>Subject:</b> [PATCH v1 6/6] drm/amdgpu: add print support for sdma_v_4_4_2 ip_dump</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Add print support for ip dump for sdma_v_4_4_2 in<br>
devcoredump.<br>
<br>
Signed-off-by: Sunil Khatri <sunil.khatri@amd.com><br>
---<br>
 drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 22 ++++++++++++++++++++++<br>
 1 file changed, 22 insertions(+)<br>
<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c<br>
index 917a767ebaf2..9d4091175d29 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c<br>
@@ -1857,6 +1857,27 @@ static void sdma_v4_4_2_get_clockgating_state(void *handle, u64 *flags)<br>
                 *flags |= AMD_CG_SUPPORT_SDMA_LS;<br>
 }<br>
 <br>
+static void sdma_v4_4_2_print_ip_state(void *handle, struct drm_printer *p)<br>
+{<br>
+       struct amdgpu_device *adev = (struct amdgpu_device *)handle;<br>
+       int i, j;<br>
+       uint32_t reg_count = ARRAY_SIZE(sdma_reg_list_4_4_2);<br>
+       uint32_t instance_offset;<br>
+<br>
+       if (!adev->sdma.ip_dump)<br>
+               return;<br>
+<br>
+       drm_printf(p, "num_instances:%d\n", adev->sdma.num_instances);<br>
+       for (i = 0; i < adev->sdma.num_instances; i++) {<br>
+               instance_offset = i * reg_count;<br>
+               drm_printf(p, "\nInstance:%d\n", i);<br>
+<br>
+               for (j = 0; j < reg_count; j++)<br>
+                       drm_printf(p, "%-50s \t 0x%08x\n", sdma_reg_list_4_4_2[j].reg_name,<br>
+                                  adev->sdma.ip_dump[instance_offset + j]);<br>
+       }<br>
+}<br>
+<br>
 static void sdma_v4_4_2_dump_ip_state(void *handle)<br>
 {<br>
         struct amdgpu_device *adev = (struct amdgpu_device *)handle;<br>
@@ -1895,6 +1916,7 @@ const struct amd_ip_funcs sdma_v4_4_2_ip_funcs = {<br>
         .set_powergating_state = sdma_v4_4_2_set_powergating_state,<br>
         .get_clockgating_state = sdma_v4_4_2_get_clockgating_state,<br>
         .dump_ip_state = sdma_v4_4_2_dump_ip_state,<br>
+       .print_ip_state = sdma_v4_4_2_print_ip_state,<br>
 };<br>
 <br>
 static const struct amdgpu_ring_funcs sdma_v4_4_2_ring_funcs = {<br>
-- <br>
2.34.1<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>