[PATCH] pci: Fix register for determining type of IO base address

Stefan Roese sr at denx.de
Tue Nov 30 07:06:59 CET 2021


On 11/25/21 11:30, Pali Rohár wrote:
> 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 at kernel.org>

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan

> ---
>   drivers/pci/pci_auto.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/pci_auto.c b/drivers/pci/pci_auto.c
> index 5af4ee6e56df..7e6ee54be087 100644
> --- a/drivers/pci/pci_auto.c
> +++ b/drivers/pci/pci_auto.c
> @@ -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 */
> 

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list