Re: [PPC] Boot problems after the pci-v6.18-changes
Christian Zigotzky <[email protected]>
| Newsgroups | gmane.linux.kernel.pci,gmane.linux.ports.ppc64.devel,gmane.linux.debian.ports.powerpc |
|---|---|
| Message-ID | <[email protected]> |
> On 13 October 2025 at 06:47 am, Christian Zigotzky <[email protected]> wrote: > > >> On 11 October 2025 at 07:36 pm, Manivannan Sadhasivam <[email protected]> wrote: >> >> Hi Lukas, >> >> Thanks for looping me in. The referenced commit forcefully enables ASPM on all >> DT platforms as we decided to bite the bullet finally. >> >> Looks like the device (0000:01:00.0) doesn't play nice with ASPM even though it >> advertises ASPM capability. >> >> Christian, could you please test the below change and see if it fixes the issue? >> >> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c >> index 214ed060ca1b..e006b0560b39 100644 >> --- a/drivers/pci/quirks.c >> +++ b/drivers/pci/quirks.c >> @@ -2525,6 +2525,15 @@ static void quirk_disable_aspm_l0s_l1(struct pci_dev *dev) >> */ >> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x1080, quirk_disable_aspm_l0s_l1); >> >> + >> +static void quirk_disable_aspm_all(struct pci_dev *dev) >> +{ >> + pci_info(dev, "Disabling ASPM\n"); >> + pci_disable_link_state(dev, PCIE_LINK_STATE_ALL); >> +} >> + >> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6738, quirk_disable_aspm_all); >> + >> /* >> * Some Pericom PCIe-to-PCI bridges in reverse mode need the PCIe Retrain >> * Link bit cleared after starting the link retrain process to allow this >> >> >> Going forward, we should be quirking the devices if they behave erratically. >> >> - Mani >> >> -- >> மணிவண்ணன் சதாசிவம் > > Hello Mani, > >> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6738, quirk_disable_aspm_all); > > Is this only for my AMD Radeon HD6870? > > My AMD Radeon HD5870 is also affected. > > And I tested it with my AMD Radeon HD5870. > > What would the line be for all AMD graphics cards? > > Thanks, > Christian I see. 0x6738 is for the AMD Radeon HD 6800 series. It could be, that your patch works because I tested it with an AMD Radeon HD5870 instead of an AMD Radeon HD6870. Sorry This could be the correct line for the HD5870: >> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6898, quirk_disable_aspm_all); There are some more id numbers for the HD5870. Correct: diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 214ed060ca1b..e006b0560b39 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2525,6 +2525,15 @@ static void quirk_disable_aspm_l0s_l1(struct pci_dev *dev) */ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x1080, quirk_disable_aspm_l0s_l1); + +static void quirk_disable_aspm_all(struct pci_dev *dev) +{ + pci_info(dev, "Disabling ASPM\n"); + pci_disable_link_state(dev, PCIE_LINK_STATE_ALL); +} + +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6738, quirk_disable_aspm_all); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6898, quirk_disable_aspm_all); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6899, quirk_disable_aspm_all); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x689E, quirk_disable_aspm_all); + /* * Some Pericom PCIe-to-PCI bridges in reverse mode need the PCIe Retrain * Link bit cleared after starting the link retrain process to allow this