<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Am 06.02.23 um 09:28 schrieb Xiao, Jack:<br>
    <blockquote type="cite"
cite="mid:MW3PR12MB4458C18F7080280760953EACEFDA9@MW3PR12MB4458.namprd12.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <style>@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;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}p.msipheaderdf3d92d6, li.msipheaderdf3d92d6, div.msipheaderdf3d92d6
        {mso-style-name:msipheaderdf3d92d6;
        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;}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]-->
      <div class="WordSection1">
        <p class="msipheaderdf3d92d6" style="margin:0in"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:blue">[AMD
            Official Use Only - General]</span><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt">              
                         >> >> It's simply not allowed to
          free up resources during suspend since those can't be acquired
          again during resume.<o:p></o:p></p>
        <p class="MsoNormal">                              >> The
          in_suspend flag is set at the beginning of suspend and unset
          at the end of resume. It can’t filter the case you mentioned.<o:p></o:p></p>
        <p class="MsoNormal"><br>
                         Why not? This is exactly what it should do.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">[Jack] If freeing up resources during
          resume, it should not hit the issue you described. But only
          checking in_suspend flag would take these cases as warning.</p>
      </div>
    </blockquote>
    <br>
    No, once more: Freeing up or allocating resources between suspend
    and resume is illegal!<br>
    <br>
    If you free up a resource during resume you should absolutely hit
    that, this is intentional!<br>
    <br>
    Regards,<br>
    Christian.<br>
    <br>
    <blockquote type="cite"
cite="mid:MW3PR12MB4458C18F7080280760953EACEFDA9@MW3PR12MB4458.namprd12.prod.outlook.com">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Regards,<o:p></o:p></p>
        <p class="MsoNormal">Jack<o:p></o:p></p>
        <p class="MsoNormal"><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> Koenig, Christian
              <a class="moz-txt-link-rfc2396E" href="mailto:Christian.Koenig@amd.com"><Christian.Koenig@amd.com></a> <br>
              <b>Sent:</b> Monday, February 6, 2023 4:06 PM<br>
              <b>To:</b> Xiao, Jack <a class="moz-txt-link-rfc2396E" href="mailto:Jack.Xiao@amd.com"><Jack.Xiao@amd.com></a>; Christian
              König <a class="moz-txt-link-rfc2396E" href="mailto:ckoenig.leichtzumerken@gmail.com"><ckoenig.leichtzumerken@gmail.com></a>;
              <a class="moz-txt-link-abbreviated" href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a>; Deucher, Alexander
              <a class="moz-txt-link-rfc2396E" href="mailto:Alexander.Deucher@amd.com"><Alexander.Deucher@amd.com></a><br>
              <b>Subject:</b> Re: [PATCH] drm/amdgpu: only WARN freeing
              buffers when DMA is unavailable<o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt">Am 06.02.23 um
          08:23 schrieb Xiao, Jack:<o:p></o:p></p>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="msipheaderdf3d92d6" style="margin:0in"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:blue">[AMD
              Official Use Only - General]</span><o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">>> Nope, that is not related to any
            hw state.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">can use other flag.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal" style="margin-bottom:12.0pt">>>
            It's simply not allowed to free up resources during suspend
            since those can't be acquired again during resume.<o:p></o:p></p>
          <p class="MsoNormal">The in_suspend flag is set at the
            beginning of suspend and unset at the end of resume. It
            can’t filter the case you mentioned.<o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><br>
          Why not? This is exactly what it should do.<br>
          <br>
          <o:p></o:p></p>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">Do you know the root cause of these cases
            hitting the issue? So that we can get an exact point to warn
            the freeing up behavior.<o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><br>
          Well the root cause are programming errors. See between
          suspending and resuming you should not allocate nor free
          memory.<br>
          <br>
          Otherwise we can run into trouble. And this check here is one
          part of that, we should probably add another warning during
          allocation of memory. But this here is certainly correct.<br>
          <br>
          Regards,<br>
          Christian.<br>
          <br>
          <o:p></o:p></p>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Thanks,<o:p></o:p></p>
          <p class="MsoNormal">Jack<o:p></o:p></p>
          <p class="MsoNormal"> <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> Christian König <a
                  href="mailto:ckoenig.leichtzumerken@gmail.com"
                  moz-do-not-send="true">
                  <ckoenig.leichtzumerken@gmail.com></a> <br>
                <b>Sent:</b> Friday, February 3, 2023 9:20 PM<br>
                <b>To:</b> Xiao, Jack <a
                  href="mailto:Jack.Xiao@amd.com" moz-do-not-send="true"><Jack.Xiao@amd.com></a>;
                Koenig, Christian
                <a href="mailto:Christian.Koenig@amd.com"
                  moz-do-not-send="true"><Christian.Koenig@amd.com></a>;
                <a href="mailto:amd-gfx@lists.freedesktop.org"
                  moz-do-not-send="true" class="moz-txt-link-freetext">
                  amd-gfx@lists.freedesktop.org</a>; Deucher, Alexander
                <a href="mailto:Alexander.Deucher@amd.com"
                  moz-do-not-send="true">
                  <Alexander.Deucher@amd.com></a><br>
                <b>Subject:</b> Re: [PATCH] drm/amdgpu: only WARN
                freeing buffers when DMA is unavailable<o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal" style="margin-bottom:12.0pt">Nope, that
            is not related to any hw state.<br>
            <br>
            It's simply not allowed to free up resources during suspend
            since those can't be acquired again during resume.<br>
            <br>
            We had a couple of cases now where this was wrong. If you
            get a warning from that please fix the code which tried to
            free something during suspend instead.<br>
            <br>
            Regards,<br>
            Christian.<o:p></o:p></p>
          <div>
            <p class="MsoNormal">Am 03.02.23 um 07:04 schrieb Xiao,
              Jack:<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="msipheaderdf3d92d6" style="margin:0in"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:blue">[AMD
                Official Use Only - General]</span><o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">>> It's simply illegal to free up
              memory during suspend.<o:p></o:p></p>
            <p class="MsoNormal">Why? In my understanding, the limit was
              caused by DMA shutdown.<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">Regards,<o:p></o:p></p>
            <p class="MsoNormal">Jack<o:p></o:p></p>
            <p class="MsoNormal"> <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> Koenig, Christian <a
                    href="mailto:Christian.Koenig@amd.com"
                    moz-do-not-send="true">
                    <Christian.Koenig@amd.com></a> <br>
                  <b>Sent:</b> Thursday, February 2, 2023 7:43 PM<br>
                  <b>To:</b> Xiao, Jack <a
                    href="mailto:Jack.Xiao@amd.com"
                    moz-do-not-send="true"><Jack.Xiao@amd.com></a>;
                  <a href="mailto:amd-gfx@lists.freedesktop.org"
                    moz-do-not-send="true" class="moz-txt-link-freetext">amd-gfx@lists.freedesktop.org</a>;
                  Deucher, Alexander
                  <a href="mailto:Alexander.Deucher@amd.com"
                    moz-do-not-send="true"><Alexander.Deucher@amd.com></a><br>
                  <b>Subject:</b> AW: [PATCH] drm/amdgpu: only WARN
                  freeing buffers when DMA is unavailable<o:p></o:p></p>
              </div>
            </div>
            <p class="MsoNormal"> <o:p></o:p></p>
            <div>
              <p class="MsoNormal">Big NAK to this! This warning is not
                related in any way to the hw state.<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">It's simply illegal to free up memory
                during suspend.<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">Regards,<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">Christian.<o:p></o:p></p>
            </div>
            <p class="MsoNormal"> <o:p></o:p></p>
            <div class="MsoNormal" style="text-align:center"
              align="center">
              <hr width="98%" size="2" align="center">
            </div>
            <div id="divRplyFwdMsg">
              <p class="MsoNormal"><b><span style="color:black">Von:</span></b><span
                  style="color:black"> Xiao, Jack <<a
                    href="mailto:Jack.Xiao@amd.com"
                    moz-do-not-send="true" class="moz-txt-link-freetext">Jack.Xiao@amd.com</a>><br>
                  <b>Gesendet:</b> Donnerstag, 2. Februar 2023 10:54<br>
                  <b>An:</b> <a
                    href="mailto:amd-gfx@lists.freedesktop.org"
                    moz-do-not-send="true" class="moz-txt-link-freetext">amd-gfx@lists.freedesktop.org</a>
                  <<a href="mailto:amd-gfx@lists.freedesktop.org"
                    moz-do-not-send="true" class="moz-txt-link-freetext">amd-gfx@lists.freedesktop.org</a>>;
                  Deucher, Alexander <<a
                    href="mailto:Alexander.Deucher@amd.com"
                    moz-do-not-send="true" class="moz-txt-link-freetext">Alexander.Deucher@amd.com</a>>;
                  Koenig, Christian <<a
                    href="mailto:Christian.Koenig@amd.com"
                    moz-do-not-send="true" class="moz-txt-link-freetext">Christian.Koenig@amd.com</a>><br>
                  <b>Cc:</b> Xiao, Jack <<a
                    href="mailto:Jack.Xiao@amd.com"
                    moz-do-not-send="true" class="moz-txt-link-freetext">Jack.Xiao@amd.com</a>><br>
                  <b>Betreff:</b> [PATCH] drm/amdgpu: only WARN freeing
                  buffers when DMA is unavailable</span>
                <o:p></o:p></p>
              <div>
                <p class="MsoNormal"> <o:p></o:p></p>
              </div>
            </div>
            <div>
              <div>
                <p class="MsoNormal" style="margin-bottom:12.0pt">Reduce
                  waringings, only warn when DMA is unavailable.<br>
                  <br>
                  Signed-off-by: Jack Xiao <<a
                    href="mailto:Jack.Xiao@amd.com"
                    moz-do-not-send="true" class="moz-txt-link-freetext">Jack.Xiao@amd.com</a>><br>
                  ---<br>
                   drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 3 ++-<br>
                   1 file changed, 2 insertions(+), 1 deletion(-)<br>
                  <br>
                  diff --git
                  a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
                  b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c<br>
                  index 2d237f3d3a2e..e3e3764ea697 100644<br>
                  --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c<br>
                  +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c<br>
                  @@ -422,7 +422,8 @@ void amdgpu_bo_free_kernel(struct
                  amdgpu_bo **bo, u64 *gpu_addr,<br>
                           if (*bo == NULL)<br>
                                   return;<br>
                   <br>
                  -      
                  WARN_ON(amdgpu_ttm_adev((*bo)->tbo.bdev)->in_suspend);<br>
                  +      
                  WARN_ON(amdgpu_ttm_adev((*bo)->tbo.bdev)->in_suspend
                  &&<br>
                  +              
!amdgpu_ttm_adev((*bo)->tbo.bdev)->ip_blocks[AMD_IP_BLOCK_TYPE_SDMA].status.hw);<br>
                   <br>
                           if (likely(amdgpu_bo_reserve(*bo, true) ==
                  0)) {<br>
                                   if (cpu_addr)<br>
                  -- <br>
                  2.37.3<o:p></o:p></p>
              </div>
            </div>
          </blockquote>
          <p class="MsoNormal"> <o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>