[edk2-devel] [edk2-platforms PATCH 0/2] Platform/RaspberryPi: SyncPcie() fixes

Adrien Thierry athierry at redhat.com
Tue Oct 4 16:58:18 UTC 2022


Hi Jeremy,

> That is unfortunate. Which revision/how much RAM? Can you paste the
> before/after kernel/pci output like:

My RPi4 is a 8GB revision d03114.

Here's the pci output before applying your ranges tweak:
[    3.697773] brcm-pcie fd500000.pcie: host bridge /scb/pcie at 7d500000 ranges:
[    3.706020] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie at 7d500000, using [bus 00-ff]
[    3.716271] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x063fffffff -> 0x00c0000000
[    3.726229] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x00bfffffff -> 0x0000000000
[    3.737357] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    3.743891] pci_bus 0000:00: root bus resource [bus 00-ff]
[    3.749530] pci_bus 0000:00: root bus resource [mem 0x600000000-0x63fffffff] (bus address [0xc0000000-0xffffffff])

And after:
[    3.781758] brcm-pcie fd500000.pcie: host bridge /scb/pcie at 7d500000 ranges:
[    3.789907] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie at 7d500000, using [bus 00-ff]
[    3.800230] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x0603ffffff -> 0x00f8000000
[    3.809721] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x00bfffffff -> 0x0000000000
[    3.828359] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    3.835812] pci_bus 0000:00: root bus resource [bus 00-ff]
[    3.845651] pci_bus 0000:00: root bus resource [mem 0x600000000-0x603ffffff] (bus address [0xf8000000-0xfbffffff])

I tested with the latest binaries and DT from
https://github.com/raspberrypi/firmware (master), same issue with the USB.

Here's the firmware version I'm running (got that from Raspbian), are you
using a different/more recent one?

$ vcgencmd version
Aug 26 2022 14:03:16 
Copyright (c) 2012 Broadcom
version 102f1e848393c2112206fadffaaf86db04e98326 (clean) (release) (start)

> So the first patch makes sense, but I think it should probably be
> checking both DT property names (pci0,0 and pci1,0) since we probably
> want maximum compatibility with differing DT's the user might swap in,
> and the upstream linux change which changes the node from 1,0 to 0,0 is
> from august of last year, so not old at all..

Sounds good, I can submit a v2 handling both variants

> The second one, I'm less sure about, since the primary thing your
> changing (AFAIK) is whether the XHCI BIOS handoff is being checked, and
> since EDK2 supports the hand-off and Linux doesn't throw the XHCI bios
> failure message I think we actually want to leave that in place. If you
> have debugging turned on, the XHCI/LegacyBios ownership control is the
> message you see during exit boot services that says
> "XhciClearBiosOwnership: called to clear BIOS ownership". I suspect the
> kernel patch is yet another case of "UBOOT and/or the pi foundation
> firmware is broken so we fixed the kernel"
> 
> Do you see a difference with/without the second patch?

Thanks for explaining this. I can't see a difference with/without the
second patch. AFAICT the hand-off check seems to execute without issue on
Linux. It makes sense to me to drop this second patch since the hand-off
is supported by EDK2.

Adrien



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94718): https://edk2.groups.io/g/devel/message/94718
Mute This Topic: https://groups.io/mt/94002759/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list