<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<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:#0000FF;margin:5pt;" align="Left">
[AMD Official Use Only]<br>
</p>
<br>
<div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<font size="2"><span style="font-size:11pt">Reviewed-by: John Clements <john.clements@amd.com></span></font><br>
</div>
<div>
<div id="appendonsend"></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size: 11pt;" face="Calibri, sans-serif" color="#000000"><b>From:</b> Li, Candice <Candice.Li@amd.com><br>
<b>Sent:</b> Monday, September 13, 2021 3:55 PM<br>
<b>To:</b> amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org><br>
<b>Cc:</b> Clements, John <John.Clements@amd.com>; Li, Candice <Candice.Li@amd.com><br>
<b>Subject:</b> [PATCH] drm/amdgpu: Update PSP TA unload function</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">Update PSP TA unload function to use PSP TA context as input argument.<br>
<br>
Signed-off-by: Candice Li <candice.li@amd.com><br>
---<br>
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 20 ++++++++++----------<br>
 1 file changed, 10 insertions(+), 10 deletions(-)<br>
<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c<br>
index bc861f2fe0ecf6..7d09b28889afef 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c<br>
@@ -46,7 +46,7 @@ static int psp_sysfs_init(struct amdgpu_device *adev);<br>
 static void psp_sysfs_fini(struct amdgpu_device *adev);<br>
 <br>
 static int psp_load_smu_fw(struct psp_context *psp);<br>
-static int psp_ta_unload(struct psp_context *psp, uint32_t session_id);<br>
+static int psp_ta_unload(struct psp_context *psp, struct ta_context *context);<br>
 static int psp_ta_load(struct psp_context *psp, struct ta_context *context);<br>
 static int psp_rap_terminate(struct psp_context *psp);<br>
 static int psp_securedisplay_terminate(struct psp_context *psp);<br>
@@ -816,12 +816,12 @@ static void psp_prep_ta_unload_cmd_buf(struct psp_gfx_cmd_resp *cmd,<br>
         cmd->cmd.cmd_unload_ta.session_id = session_id;<br>
 }<br>
 <br>
-static int psp_ta_unload(struct psp_context *psp, uint32_t session_id)<br>
+static int psp_ta_unload(struct psp_context *psp, struct ta_context *context)<br>
 {<br>
         int ret;<br>
         struct psp_gfx_cmd_resp *cmd = acquire_psp_cmd_buf(psp);<br>
 <br>
-       psp_prep_ta_unload_cmd_buf(cmd, session_id);<br>
+       psp_prep_ta_unload_cmd_buf(cmd, context->session_id);<br>
 <br>
         ret = psp_cmd_submit_buf(psp, NULL, cmd, psp->fence_buf_mc_addr);<br>
 <br>
@@ -832,7 +832,7 @@ static int psp_ta_unload(struct psp_context *psp, uint32_t session_id)<br>
 <br>
 static int psp_asd_unload(struct psp_context *psp)<br>
 {<br>
-       return psp_ta_unload(psp, psp->asd_context.session_id);<br>
+       return psp_ta_unload(psp, &psp->asd_context);<br>
 }<br>
 <br>
 static int psp_asd_terminate(struct psp_context *psp)<br>
@@ -984,7 +984,7 @@ static int psp_xgmi_load(struct psp_context *psp)<br>
 <br>
 static int psp_xgmi_unload(struct psp_context *psp)<br>
 {<br>
-       return psp_ta_unload(psp, psp->xgmi_context.context.session_id);<br>
+       return psp_ta_unload(psp, &psp->xgmi_context.context);<br>
 }<br>
 <br>
 int psp_xgmi_invoke(struct psp_context *psp, uint32_t ta_cmd_id)<br>
@@ -1275,7 +1275,7 @@ static int psp_ras_load(struct psp_context *psp)<br>
 <br>
 static int psp_ras_unload(struct psp_context *psp)<br>
 {<br>
-       return psp_ta_unload(psp, psp->ras_context.context.session_id);<br>
+       return psp_ta_unload(psp, &psp->ras_context.context);<br>
 }<br>
 <br>
 int psp_ras_invoke(struct psp_context *psp, uint32_t ta_cmd_id)<br>
@@ -1540,7 +1540,7 @@ static int psp_hdcp_initialize(struct psp_context *psp)<br>
 <br>
 static int psp_hdcp_unload(struct psp_context *psp)<br>
 {<br>
-       return psp_ta_unload(psp, psp->hdcp_context.context.session_id);<br>
+       return psp_ta_unload(psp, &psp->hdcp_context.context);<br>
 }<br>
 <br>
 int psp_hdcp_invoke(struct psp_context *psp, uint32_t ta_cmd_id)<br>
@@ -1632,7 +1632,7 @@ static int psp_dtm_initialize(struct psp_context *psp)<br>
 <br>
 static int psp_dtm_unload(struct psp_context *psp)<br>
 {<br>
-       return psp_ta_unload(psp, psp->dtm_context.context.session_id);<br>
+       return psp_ta_unload(psp, &psp->dtm_context.context);<br>
 }<br>
 <br>
 int psp_dtm_invoke(struct psp_context *psp, uint32_t ta_cmd_id)<br>
@@ -1690,7 +1690,7 @@ static int psp_rap_load(struct psp_context *psp)<br>
 <br>
 static int psp_rap_unload(struct psp_context *psp)<br>
 {<br>
-       return psp_ta_unload(psp, psp->rap_context.context.session_id);<br>
+       return psp_ta_unload(psp, &psp->rap_context.context);<br>
 }<br>
 <br>
 static int psp_rap_initialize(struct psp_context *psp)<br>
@@ -1805,7 +1805,7 @@ static int psp_securedisplay_load(struct psp_context *psp)<br>
 <br>
 static int psp_securedisplay_unload(struct psp_context *psp)<br>
 {<br>
-       return psp_ta_unload(psp, psp->securedisplay_context.context.session_id);<br>
+       return psp_ta_unload(psp, &psp->securedisplay_context.context);<br>
 }<br>
 <br>
 static int psp_securedisplay_initialize(struct psp_context *psp)<br>
-- <br>
2.17.1<br>
<br>
</div>
</span></font></div>
</div>
</div>
</body>
</html>