On 2/19/2025 8:02 PM, Alex Deucher wrote: > On Tue, Feb 18, 2025 at 11:05 AM Lazar, Lijo <lijo.lazar@xxxxxxx> wrote: >> >> >> >> On 2/18/2025 8:38 PM, Alex Deucher wrote: >>> There was a quirk added to add a workaround for a Sapphire >>> RX 5600 XT Pulse that didn't allow BAR resizing. However, >>> the quirk casused a regression on Dell laptops using those >>> chips, rather than narrowing the scope of the resizing >>> quirk, add a quirk to prevent amdgpu from resizing the BAR >>> on those Dell platforms. >>> >>> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/1707 >>> Fixes: 907830b0fc9e ("PCI: Add a REBAR size quirk for Sapphire RX 5600 XT Pulse") >>> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> >> >> As per the issue thread, issue happens when dGPU resumes from runpm. If >> so, can't we disable runpm as the workaround (IMO, the current patch >> also is a workaround)? > > This seems like a better workaround than disabling runtime pm. > Leaving the dGPU powered up all the time seems worse than limiting the > BAR size on this platform. > Probably, it's better to note down that as well in the description. Also, check if the device has runpm enabled. If a user prefers performance, say runpm disabled through driver option, then no need to apply this. Thanks, Lijo > Alex > >> >> Thanks, >> Lijo >> >>> --- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >>> index 512e642477a7e..56fd874a22de8 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >>> @@ -1662,6 +1662,12 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device *adev) >>> if (amdgpu_sriov_vf(adev)) >>> return 0; >>> >>> + /* skip resizing on Dell G5 SE platforms */ >>> + if (adev->pdev->vendor == PCI_VENDOR_ID_ATI && >>> + adev->pdev->device == 0x731f && >>> + adev->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL) >>> + return 0; >>> + >>> /* PCI_EXT_CAP_ID_VNDR extended capability is located at 0x100 */ >>> if (!pci_find_ext_capability(adev->pdev, PCI_EXT_CAP_ID_VNDR)) >>> DRM_WARN("System can't access extended configuration space, please check!!\n"); >>