<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    Am 06.11.24 um 04:20 schrieb Chen, Jiqian:<br>
    <blockquote type="cite" cite="mid:BL1PR12MB584921467E47ABAA580D95F7E7532@BL1PR12MB5849.namprd12.prod.outlook.com">
      <pre class="moz-quote-pre" wrap="">On 2024/11/5 21:42, Christian König wrote:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Am 05.11.24 um 07:05 schrieb Jiqian Chen:
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">VPCI of Xen doesn't support resizable bar. When discrete GPU is used on
PVH dom0 which using the VPCI, amdgpu fails to probe, so we need to
disable this capability for PVH dom0.
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
What do you mean VPCI doesn't support resizeable BAR?
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">VPCI is a virtual pci of Xen hypervisor used for PVH dom0, it is worked to emulate and process pci devices configuration space access, all that access will trap into Xen and handled by VPCI.
But the Resizable Bars capability is not emulated now.</pre>
    </blockquote>
    <br>
    That must be changed or otherwise you will run into more problems on
    hotplug for example.<br>
    <br>
    <span style="white-space: pre-wrap">
</span><span style="white-space: pre-wrap">
</span>
    <blockquote type="cite" cite="mid:BL1PR12MB584921467E47ABAA580D95F7E7532@BL1PR12MB5849.namprd12.prod.outlook.com">
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">
This is mandatory to be supported or otherwise general PCI resource assignment won't work either.

In other words you can't hotplug something if that here doesn't work either.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">Yes, once I added dGPU to Xen PVH dom0, it didn't work unless I added this patch to return success for Rebar.</pre>
    </blockquote>
    <br>
    That's only the tip of the iceberg. You are trying to mitigate
    symptoms instead of fixing the underlying problem.<br>
    <br>
    So clear NAK from my side for this approach.<br>
    <br>
    Regards,<br>
    Christian.<br>
    <br>
    <blockquote type="cite" cite="mid:BL1PR12MB584921467E47ABAA580D95F7E7532@BL1PR12MB5849.namprd12.prod.outlook.com">
      <pre class="moz-quote-pre" wrap="">

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">
Regards,
Christian.

</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">
Signed-off-by: Jiqian Chen <a class="moz-txt-link-rfc2396E" href="mailto:Jiqian.Chen@amd.com"><Jiqian.Chen@amd.com></a>
Reviewed-by: Huang Rui <a class="moz-txt-link-rfc2396E" href="mailto:Ray.Huang@amd.com"><Ray.Huang@amd.com></a>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index b3fb92bbd9e2..012feb3790dd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1619,6 +1619,10 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device *adev)
      if (!IS_ENABLED(CONFIG_PHYS_ADDR_T_64BIT))
          return 0;
  +    /* Bypass for PVH dom0 which doesn't support resizable bar */
+    if (xen_initial_domain() && xen_pvh_domain())
+        return 0;
+
      /* Bypass for VF */
      if (amdgpu_sriov_vf(adev))
          return 0;
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
</pre>
    </blockquote>
    <br>
  </body>
</html>