[PATCH 03/13] dm: pci: Skip setting VGA bridge bits if parent device is the host bus

Simon Glass sjg at chromium.org
Wed Apr 14 21:37:40 CEST 2021


On Tue, 13 Apr 2021 at 16:23, Masami Hiramatsu
<masami.hiramatsu at linaro.org> wrote:
>
> Commit bbbcb5262839 ("dm: pci: Enable VGA address forwarding on bridges")
> sets the VGA bridge bits by checking pplat->class, but if the parent
> device is the pci host bus device, it can be skipped. Moreover, it
> shouldn't access the pplat because the parent has different plat data.
>
> Without this fix, "pci enum" command cause a synchronous abort.
>
> pci_auto_config_devices: start
> PCI Autoconfig: Bus Memory region: [78000000-7fffffff],
>                 Physical Memory [78000000-7fffffffx]
> PCI Autoconfig: Bus I/O region: [0-ffff],
>                 Physical Memory [77f00000-77f0ffffx]
> pci_auto_config_devices: device pci_6:0.0
> PCI Autoconfig: BAR 0, Mem, size=0x1000000, address=0x78000000 bus_lower=0x79000000
>
> PCI Autoconfig: BAR 1, Mem, size=0x8000000, No room in resource, avail start=79000000 / size=8000000, need=8000000
> PCI: Failed autoconfig bar 14
>
> PCI Autoconfig: BAR 2, I/O, size=0x4, address=0x1000 bus_lower=0x1004
>
> PCI Autoconfig: BAR 3, Mem, size=0x2000000, address=0x7a000000 bus_lower=0x7c000000
>
> PCI Autoconfig: BAR 4, I/O, size=0x80, address=0x1080 bus_lower=0x1100
>
> PCI Autoconfig: ROM, size=0x80000, address=0x7c000000 bus_lower=0x7c080000
>
> "Synchronous Abort" handler, esr 0x96000006
> elr: 00000000e002bd28 lr : 00000000e002bce8 (reloc)
> elr: 00000000fff6fd28 lr : 00000000fff6fce8
> x0 : 0000000000001041 x1 : 000000000000003e
> x2 : 00000000ffb0f8c8 x3 : 0000000000000001
> x4 : 0000000000000080 x5 : 0000000000000000
> x6 : 00000000fff718fc x7 : 000000000000000f
> x8 : 00000000ffb0f238 x9 : 0000000000000008
> x10: 0000000000000000 x11: 0000000000000010
> x12: 0000000000000006 x13: 000000000001869f
> x14: 00000000ffb0fcd0 x15: 0000000000000020
> x16: 00000000fff71cc4 x17: 0000000000000000
> x18: 00000000ffb13d90 x19: 00000000ffb14320
> x20: 0000000000000000 x21: 00000000ffb14090
> x22: 00000000ffb0f8c8 x23: 0000000000000001
> x24: 00000000ffb14c10 x25: 0000000000000000
> x26: 0000000000000000 x27: 0000000000000000
> x28: 00000000ffb14c70 x29: 00000000ffb0f830
>
> Code: 52800843 52800061 52800e00 97ffcf65 (b9400280)
> Resetting CPU ...
>
> Signed-off-by: Masami Hiramatsu <masami.hiramatsu at linaro.org>
> ---
>  drivers/pci/pci-uclass.c |    3 +++
>  1 file changed, 3 insertions(+)

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list