On 2024/11/6 23:50, Christian König wrote:
> Am 06.11.24 um 04:20 schrieb Chen, Jiqian:
>> On 2024/11/5 21:42, Christian König wrote:
>>> Am 05.11.24 um 07:05 schrieb Jiqian Chen:
>>>> 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.
>>> What do you mean VPCI doesn't support resizeable BAR?
>> 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.
> 
> That must be changed or otherwise you will run into more problems on hotplug 
> for example.
> 
>>> 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.
>> Yes, once I added dGPU to Xen PVH dom0, it didn't work unless I added this 
>> patch to return success for Rebar.
> 
> That's only the tip of the iceberg. You are trying to mitigate symptoms 
> instead of fixing the underlying problem.
> 
> So clear NAK from my side for this approach.

OK, I will try to find a solution on the Xen side and remove this patch from my 
series.
Thanks.

> 
> Regards,
> Christian.
> 
>>> Regards,
>>> Christian.
>>>
>>>> Signed-off-by: Jiqian Chen <jiqian.c...@amd.com>
>>>> Reviewed-by: Huang Rui <ray.hu...@amd.com>
>>>> ---
>>>>   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;
> 

-- 
Best regards,
Jiqian Chen.

Reply via email to