<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:Arial;font-size:10pt;color:#008000;margin:15pt;font-style:normal;font-weight:normal;text-decoration:none;" align="Left">
[Public]<br>
</p>
<br>
<div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Acked-by: Alex Deucher <alexander.deucher@amd.com><br>
</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> Tong Liu01 <Tong.Liu01@amd.com><br>
<b>Sent:</b> Thursday, October 26, 2023 11:41 PM<br>
<b>To:</b> amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org><br>
<b>Cc:</b> Evan Quan <Evan.Quan@amd.com>; Chen, Horace <Horace.Chen@amd.com>; Tuikov, Luben <Luben.Tuikov@amd.com>; Koenig, Christian <Christian.Koenig@amd.com>; Deucher, Alexander <Alexander.Deucher@amd.com>; Xiao, Jack <Jack.Xiao@amd.com>; Zhang, Hawking
 <Hawking.Zhang@amd.com>; Liu, Monk <Monk.Liu@amd.com>; Xu, Feifei <Feifei.Xu@amd.com>; Chang, HaiJun <HaiJun.Chang@amd.com>; Liu01, Tong (Esther) <Tong.Liu01@amd.com><br>
<b>Subject:</b> [PATCH] drm/amdgpu: add unmap latency when gfx11 set kiq resources</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">[why]<br>
If driver does not set unmap latency for KIQ, the default value of KIQ<br>
unmap latency is zero. When do unmap queue, KIQ will return that almost<br>
immediately after receiving unmap command. So, the queue status will be<br>
saved to MQD incorrectly or lost in some chance.<br>
<br>
[how]<br>
Set unmap latency when do kiq set resources. The unmap latency is set to<br>
be 1 second that is synchronized with Windows driver.<br>
<br>
Signed-off-by: Tong Liu01 <Tong.Liu01@amd.com><br>
---<br>
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 1 +<br>
 1 file changed, 1 insertion(+)<br>
<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c<br>
index fd22943685f7..7aef7a3a340f 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c<br>
@@ -155,6 +155,7 @@ static void gfx11_kiq_set_resources(struct amdgpu_ring *kiq_ring, uint64_t queue<br>
 {<br>
         amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_SET_RESOURCES, 6));<br>
         amdgpu_ring_write(kiq_ring, PACKET3_SET_RESOURCES_VMID_MASK(0) |<br>
+                         PACKET3_SET_RESOURCES_UNMAP_LATENTY(0xa) | /* unmap_latency: 0xa (~ 1s) */<br>
                           PACKET3_SET_RESOURCES_QUEUE_TYPE(0));  /* vmid_mask:0 queue_type:0 (KIQ) */<br>
         amdgpu_ring_write(kiq_ring, lower_32_bits(queue_mask)); /* queue mask lo */<br>
         amdgpu_ring_write(kiq_ring, upper_32_bits(queue_mask)); /* queue mask hi */<br>
-- <br>
2.34.1<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>