soc/amd/picasso: fix host bridge bus numbers

The host bridge's resources covering bus numbers assumed
256 buses were being decoded. However, MMCONFIG was only
covering 64 buses. This results in Linux complaining:

    acpi PNP0A08:00: [Firmware Info]: MMCONFIG for domain 0000
    [bus 00-3f] only partially covers this bridge

When retrieving the host bridge's resources fix up the
bus numbers to utilize MMCONF_BUS_NUMBER Kconfig. I couldn't
keep IASL from complaining when trying to do this statically.

BUG=b:158874061

Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Change-Id: Ief1901743e2c99f583ef0181490d493d23734f64
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42734
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
Aaron Durbin 2020-06-23 13:49:21 -06:00
parent c1bb32f869
commit 8c28e51a16
1 changed files with 5 additions and 0 deletions

View File

@ -101,6 +101,11 @@ Method(_CRS, 0) {
Subtract(Local0, TOM1, Local0) Subtract(Local0, TOM1, Local0)
Store(Local0, MM1L) Store(Local0, MM1L)
CreateWordField(CRES, ^PSB0._MAX, BMAX)
CreateWordField(CRES, ^PSB0._LEN, BLEN)
Store(CONFIG_MMCONF_BUS_NUMBER - 1, BMAX)
Store(CONFIG_MMCONF_BUS_NUMBER, BLEN)
Return(CRES) /* note to change the Name buffer */ Return(CRES) /* note to change the Name buffer */
} /* end of Method(_SB.PCI0._CRS) */ } /* end of Method(_SB.PCI0._CRS) */