<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">
      <blockquote type="cite">Does this actually work on SR-IOV? Or does
        it just seem to but nothing bad happens because we get a GPU
        reset on a world switch?<br>
      </blockquote>
      I honestly don't know. I think that SR-IOV uses a specialized
      firmware where this packet has a different meaning.<br>
      <br>
      But the real fix would be to get the RLC firmware fix to not
      reinitialize those regs to zero on world switch.<br>
      <br>
      Christian.<br>
      <br>
      Am 17.04.2018 um 16:02 schrieb Deucher, Alexander:<br>
    </div>
    <blockquote type="cite"
cite="mid:DM5PR12MB1820165CD71A527EAA47C5F4F7B70@DM5PR12MB1820.namprd12.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
      <div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;"
        dir="ltr">
        <p style="margin-top:0;margin-bottom:0">Does this actually work
          on SR-IOV?  Or does it just seem to but nothing bad happens
          because we get a GPU reset on a world switch?  The behavior of
          this packet should be the same as SDMA and that definitely
          doesn't work.  I don't see why this would be any different.</p>
        <p style="margin-top:0;margin-bottom:0"><br>
        </p>
        <p style="margin-top:0;margin-bottom:0">Acked-by: Alex Deucher
          <a class="moz-txt-link-rfc2396E" href="mailto:alexander.deucher@amd.com"><alexander.deucher@amd.com></a><br>
        </p>
        <p style="margin-top:0;margin-bottom:0"><br>
        </p>
        <p style="margin-top:0;margin-bottom:0">Alex<br>
        </p>
      </div>
      <hr style="display:inline-block;width:98%" tabindex="-1">
      <div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt"
          face="Calibri, sans-serif" color="#000000"><b>From:</b>
          amd-gfx <a class="moz-txt-link-rfc2396E" href="mailto:amd-gfx-bounces@lists.freedesktop.org"><amd-gfx-bounces@lists.freedesktop.org></a> on
          behalf of Christian König
          <a class="moz-txt-link-rfc2396E" href="mailto:ckoenig.leichtzumerken@gmail.com"><ckoenig.leichtzumerken@gmail.com></a><br>
          <b>Sent:</b> Tuesday, April 17, 2018 9:01:35 AM<br>
          <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><br>
          <b>Subject:</b> [PATCH] drm/amdgpu: limit reg_write_reg_wait
          workaround to SRIOV</font>
        <div> </div>
      </div>
      <div class="BodyFragment"><font size="2"><span
            style="font-size:11pt;">
            <div class="PlainText">Turned out that this locks up some
              bare metal Vega10.<br>
              <br>
              Signed-off-by: Christian König
              <a class="moz-txt-link-rfc2396E" href="mailto:christian.koenig@amd.com"><christian.koenig@amd.com></a><br>
              ---<br>
               drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 7 ++++++-<br>
               1 file changed, 6 insertions(+), 1 deletion(-)<br>
              <br>
              diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
              b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c<br>
              index 583f6f616dd3..5329d7e5fb71 100644<br>
              --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c<br>
              +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c<br>
              @@ -4144,7 +4144,12 @@ static void
              gfx_v9_0_ring_emit_reg_write_reg_wait(struct amdgpu_ring
              *ring,<br>
               {<br>
                       int usepfp = (ring->funcs->type ==
              AMDGPU_RING_TYPE_GFX);<br>
               <br>
              -       gfx_v9_0_wait_reg_mem(ring, usepfp, 0, 1, reg0,
              reg1, ref, mask, 0x20);<br>
              +       if (amdgpu_sriov_vf(adev))<br>
              +               gfx_v9_0_wait_reg_mem(ring, usepfp, 0, 1,
              reg0, reg1,<br>
              +                                     ref, mask, 0x20);<br>
              +       else<br>
              +              
              amdgpu_ring_emit_reg_write_reg_wait_helper(ring, reg0,
              reg1,<br>
              +                                                         
              ref, mask);<br>
               }<br>
               <br>
               static void gfx_v9_0_set_gfx_eop_interrupt_state(struct
              amdgpu_device *adev,<br>
              -- <br>
              2.14.1<br>
              <br>
              _______________________________________________<br>
              amd-gfx mailing list<br>
              <a class="moz-txt-link-abbreviated" href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><br>
              <a
                href="https://lists.freedesktop.org/mailman/listinfo/amd-gfx"
                moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/amd-gfx</a><br>
            </div>
          </span></font></div>
    </blockquote>
    <br>
  </body>
</html>