On Mon, Feb 17, 2025 at 10:45 AM Alex Deucher <alexdeucher@xxxxxxxxx> wrote: > > On Mon, Feb 17, 2025 at 10:38 AM Christian König > <christian.koenig@xxxxxxx> wrote: > > > > Am 17.02.25 um 16:10 schrieb Alex Deucher: > > > There was a quirk added to add a workaround for a Sapphire > > > RX 5600 XT Pulse. However, the quirk only checks the vendor > > > ids and not the subsystem ids. The quirk really should > > > have checked the subsystem vendor and device ids as now > > > this quirk gets applied to all RX 5600 and it seems to > > > cause problems on some Dell laptops. Add a subsystem vendor > > > id check to limit the quirk to Sapphire boards. > > > > That's not correct. The issue is present on all RX 5600 boards, not just the Sapphire ones. > > I suppose the alternative would be to disable resizing on the > problematic DELL systems only. How about this attached patch instead? Alex > > > > > The problems with the Dell laptops are most likely the general instability of the RX 5600 again which this quirk just make more obvious because of the performance improvement. > > > > Do you have a specific bug report for the Dell laptops? > > > > Regards, > > Christian. > > > > > > > > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/1707 > > ^^^ this bug report > > Alex > > > > > Fixes: 907830b0fc9e ("PCI: Add a REBAR size quirk for Sapphire RX 5600 XT Pulse") > > > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > > > Cc: Christian König <christian.koenig@xxxxxxx> > > > Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > > > Cc: Nirmoy Das <nirmoy.aiemd@xxxxxxxxx> > > > --- > > > drivers/pci/pci.c | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > > > index 225a6cd2e9ca3..dec917636974e 100644 > > > --- a/drivers/pci/pci.c > > > +++ b/drivers/pci/pci.c > > > @@ -3766,6 +3766,7 @@ u32 pci_rebar_get_possible_sizes(struct pci_dev *pdev, int bar) > > > > > > /* Sapphire RX 5600 XT Pulse has an invalid cap dword for BAR 0 */ > > > if (pdev->vendor == PCI_VENDOR_ID_ATI && pdev->device == 0x731f && > > > + pdev->subsystem_vendor == 0x1da2 && > > > > > > > > > > > bar == 0 && cap == 0x700) > > > return 0x3f00; > > > > >
From 3841dd904844860863c489796710d2d9fee05bcb Mon Sep 17 00:00:00 2001 From: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon, 17 Feb 2025 10:55:05 -0500 Subject: [PATCH] drm/amdgpu: disable BAR resize on Dell G5 SE 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> --- 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"); -- 2.48.1