Re: [PATCH] PCI: fix Sapphire PCI rebar quirk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

>
> 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;
> >
>





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux