<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=utf-8">
<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:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* 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;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:14.0pt;
        font-family:"Calibri",sans-serif;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri",sans-serif;}
.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="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<br>
From: Christian König <ckoenig.leichtzumerken@gmail.com> <br>
Sent: Wednesday, November 27, 2019 6:08 PM<br>
To: Ma, Le <Le.Ma@amd.com>; amd-gfx@lists.freedesktop.org<br>
Cc: Chen, Guchun <Guchun.Chen@amd.com>; Zhou1, Tao <Tao.Zhou1@amd.com>; Deucher, Alexander <Alexander.Deucher@amd.com>; Li, Dennis <Dennis.Li@amd.com>; Zhang, Hawking <Hawking.Zhang@amd.com><br>
Subject: Re: [PATCH 10/10 v2] drm/amdgpu: reduce redundant uvd context lost warning message</p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Am 27.11.19 um 11:02 schrieb Le Ma:<o:p></o:p></p>
<p class="MsoPlainText">> Move the print out of uvd instance loop in amdgpu_uvd_suspend<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> v2: drop unnecessary brackets<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> Change-Id: Ifad997debd84763e1b55d668e144b729598f115e<o:p></o:p></p>
<p class="MsoPlainText">> Signed-off-by: Le Ma <<a href="mailto:le.ma@amd.com"><span style="color:windowtext;text-decoration:none">le.ma@amd.com</span></a>><o:p></o:p></p>
<p class="MsoPlainText">> ---<o:p></o:p></p>
<p class="MsoPlainText">>   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 10 ++++++----<o:p></o:p></p>
<p class="MsoPlainText">>   1 file changed, 6 insertions(+), 4 deletions(-)<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c <o:p>
</o:p></p>
<p class="MsoPlainText">> b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c<o:p></o:p></p>
<p class="MsoPlainText">> index e324bfe..69248ecb 100644<o:p></o:p></p>
<p class="MsoPlainText">> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c<o:p></o:p></p>
<p class="MsoPlainText">> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c<o:p></o:p></p>
<p class="MsoPlainText">> @@ -376,13 +376,15 @@ int amdgpu_uvd_suspend(struct amdgpu_device *adev)<o:p></o:p></p>
<p class="MsoPlainText">>                                  return -ENOMEM;<o:p></o:p></p>
<p class="MsoPlainText">>   <o:p></o:p></p>
<p class="MsoPlainText">>                      /* re-write 0 since err_event_athub will corrupt VCPU buffer */<o:p></o:p></p>
<p class="MsoPlainText">> -                   if (amdgpu_ras_intr_triggered()) {<o:p></o:p></p>
<p class="MsoPlainText">> -                               DRM_WARN("UVD VCPU state may lost due to RAS ERREVENT_ATHUB_INTERRUPT\n");<o:p></o:p></p>
<p class="MsoPlainText">> +                  if (amdgpu_ras_intr_triggered())<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Can the state change while doing the loop? If yes than I would rather grab that once and use it multiple times.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Christian.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><span style="color:black">[Le]: Got your meaning, and the state will not change here. Will update this in v3.<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="color:black"><o:p> </o:p></span></p>
<p class="MsoPlainText">>                                  memset(adev->uvd.inst[j].saved_bo, 0, size);<o:p></o:p></p>
<p class="MsoPlainText">> -                   } else {<o:p></o:p></p>
<p class="MsoPlainText">> +                  else<o:p></o:p></p>
<p class="MsoPlainText">>                                  memcpy_fromio(adev->uvd.inst[j].saved_bo, ptr, size);<o:p></o:p></p>
<p class="MsoPlainText">> -                   }<o:p></o:p></p>
<p class="MsoPlainText">>          }<o:p></o:p></p>
<p class="MsoPlainText">> +<o:p></o:p></p>
<p class="MsoPlainText">> +      if (amdgpu_ras_intr_triggered())<o:p></o:p></p>
<p class="MsoPlainText">> +                  DRM_WARN("UVD VCPU state may lost due to RAS
<o:p></o:p></p>
<p class="MsoPlainText">> +ERREVENT_ATHUB_INTERRUPT\n");<o:p></o:p></p>
<p class="MsoPlainText">> +<o:p></o:p></p>
<p class="MsoPlainText">>          return 0;<o:p></o:p></p>
<p class="MsoPlainText">>   }<o:p></o:p></p>
<p class="MsoPlainText">>   <o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
</div>
</body>
</html>