[PPC] Boot problems after the pci-v6.18-changes
Christian Zigotzky
chzigotzky at xenosoft.de
Tue Nov 4 05:28:19 AEDT 2025
On 11/01/2025 06:06 PM, Manivannan Sadhasivam wrote:
> On Sat, Nov 01, 2025 at 08:59:37AM +0100, Christian Zigotzky wrote:
>>
>> Bjorn Helgaas <helgaas at kernel.org> wrote:
>>
>> Oops, I made that fixup run too late. Instead of the patch above, can
>> you test the one below?
>>
>> You'll likely see something like this, which is a little misleading
>> because even though we claim "default L1" for 01:00.0 (or whatever
>> your Radeon is), the fact that L0s and L1 are disabled at the other
>> end of the link (00:00.0) should prevent us from actually enabling it:
>>
>> pci 0000:00:00.0: Disabling ASPM L0s/L1
>> pci 0000:01:00.0: ASPM: default states L1
>>
>> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
>> index 214ed060ca1b..27777ded9a2c 100644
>> --- a/drivers/pci/quirks.c
>> +++ b/drivers/pci/quirks.c
>> @@ -2524,6 +2524,7 @@ static void quirk_disable_aspm_l0s_l1(struct
pci_dev *dev)
>> * disable both L0s and L1 for now to be safe.
>> */
>> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x1080,
quirk_disable_aspm_l0s_l1);
>> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_FREESCALE, 0x0451,
quirk_disable_aspm_l0s_l1);
>>
>> /*
>> * Some Pericom PCIe-to-PCI bridges in reverse mode need the PCIe Retrain
>>
>> —
>>
>> Hi Bjorn,
>>
>> Thanks for your patch. I patched the RC3 of kernel 6.18 with your
new patch and compiled it again. Unfortunately the FSL Cyrus+ board
doesn't boot with your new patch.
>>
>> Sorry,
>>
>> Christian
>>
>> --
>> Sent with BrassMonkey 33.9.1
(https://github.com/chzigotzky/Web-Browsers-and-Suites-for-Linux-PPC/releases/tag/BrassMonkey_33.9.1)
>>
>> —-
>>
>> What about with
>>
>> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_ANY_ID,
quirk_disable_aspm_l0s_l1);
>>
>
> The issue is most likely with your Root Port rather than with the
Radeon device.
> So the quirk for Radeon won't fix the issue properly as it will
affect other
> host systems as well.
>
> I guess Bjorn's change didn't help because the fixup ran before
> pcie_aspm_init_link_state(). So even though the fixup disabled the
ASPM link
> state for Root Port, it got enabled by the default ASPM states enabled in
> pcie_aspm_init_link_state().
>
> Can you try doing fixup final as below?
>
> ```
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index d97335a40193..74d8596b3f62 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -2524,6 +2524,7 @@ static void quirk_disable_aspm_l0s_l1(struct
pci_dev *dev)
> * disable both L0s and L1 for now to be safe.
> */
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x1080,
quirk_disable_aspm_l0s_l1);
> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_FREESCALE, 0x0451,
quirk_disable_aspm_l0s_l1);
>
> /*
> * Some Pericom PCIe-to-PCI bridges in reverse mode need the PCIe
Retrain
> ```
>
> Sorry, I guess we are asking for too many experiments to be done
which might be
> of trouble for you. But without direct access to the device, we had
to do these
> :(
>
> Thanks for your help in debugging.
>
> - Mani
>
I tested your patch with the RC4 of kernel 6.18 today. Unfortunately it
doesn't solve the boot issue.
- Christian
--
Sent with BrassMonkey 33.9.1
(https://github.com/chzigotzky/Web-Browsers-and-Suites-for-Linux-PPC/releases/tag/BrassMonkey_33.9.1)
More information about the Linuxppc-dev
mailing list