On 2020/05/02 14:29, Mark Kettenis wrote:
> I've always interpreted the bit of code that takes the bus number from
> _CRS instead of _BBN, ut allegedly this is not how it works and _BBN
> is supposedly only there to make sure we can access PCI config space
> of the host bridge from AML code.
>
> Fortunately having _CRS provide the bus number is just a one-line
> diff. This might fix PCIe on the Honeycomb LX2K which is a 16-core
> "workstation" mini-ITX board based on NXP's LX2160A board made bu
> SolidRun. I'd like to have this in 6.7. Tested on the Ampere machine
> and the od1000 in ACPI mode.
>
> ok?
RPi4 in ACPI mode is still happy.
OK
>
> Index: arch/arm64/dev/acpipci.c
> ===
> RCS file: /cvs/src/sys/arch/arm64/dev/acpipci.c,v
> retrieving revision 1.13
> diff -u -p -r1.13 acpipci.c
> --- arch/arm64/dev/acpipci.c 22 Aug 2019 17:14:21 - 1.13
> +++ arch/arm64/dev/acpipci.c 2 May 2020 12:21:24 -
> @@ -268,6 +268,10 @@ acpipci_parse_resources(int crsidx, unio
> break;
> case LR_TYPE_BUS:
> extent_free(sc->sc_busex, min, len, EX_WAITOK);
> + /*
> + * Let _CRS minimum bus number override _BBN.
> + */
> + sc->sc_bus = min;
> break;
> }
>
>