]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
pci: Fix register for determining type of IO base address
authorPali Rohár <pali@kernel.org>
Thu, 25 Nov 2021 10:30:58 +0000 (11:30 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 12 Jan 2022 19:21:24 +0000 (14:21 -0500)
Function dm_pciauto_prescan_setup_bridge() configures base address
registers, therefore it should read type of IO from base address registers
(and not from limit address registers).

Note that base and limit address registers should have same type, so this
change is just usage correction and has no functional change on correctly
working hardware.

Fixes: 8e85f36a8fab ("pci: Fix configuring io/memory base and limit registers of PCI bridges")
Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
drivers/pci/pci_auto.c

index 5af4ee6e56df1589b79e2a80435d911d8c8d8228..7e6ee54be087956becdeaf283c00f9985e354f92 100644 (file)
@@ -197,7 +197,7 @@ void dm_pciauto_prescan_setup_bridge(struct udevice *dev, int sub_bus)
        dm_pci_read_config16(dev, PCI_COMMAND, &cmdstat);
        dm_pci_read_config16(dev, PCI_PREF_MEMORY_BASE, &prefechable_64);
        prefechable_64 &= PCI_PREF_RANGE_TYPE_MASK;
-       dm_pci_read_config8(dev, PCI_IO_LIMIT, &io_32);
+       dm_pci_read_config8(dev, PCI_IO_BASE, &io_32);
        io_32 &= PCI_IO_RANGE_TYPE_MASK;
 
        /* Configure bus number registers */