[U-Boot] [PATCHv3 03/15] dm: pci: remove pci_bus_to_hose(0) calling

Simon Glass sjg at chromium.org
Fri Nov 18 02:14:39 CET 2016


On 16 November 2016 at 02:48, Zhiqiang Hou <Zhiqiang.Hou at nxp.com> wrote:
> From: Minghuan Lian <Minghuan.Lian at nxp.com>
>
> There may be multiple PCIe controllers in a SoC.
> It is not correct that always calling pci_bus_to_hose(0) to get
> the first PCIe controller for the PCIe device connected other
> controllers. We just remove this calling because hose always point
> the correct PCIe controller.
>
> Signed-off-by: Minghuan Lian <Minghuan.Lian at nxp.com>
> Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> ---
> V3:
>  - Comment func pci_hose_phys_to_bus() that @hose must be the root PCI controller
>
>  drivers/pci/pci_common.c | 17 +++++++----------
>  1 file changed, 7 insertions(+), 10 deletions(-)

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

But please see below

>
> diff --git a/drivers/pci/pci_common.c b/drivers/pci/pci_common.c
> index 1755914..9e09acd 100644
> --- a/drivers/pci/pci_common.c
> +++ b/drivers/pci/pci_common.c
> @@ -181,11 +181,6 @@ phys_addr_t pci_hose_bus_to_phys(struct pci_controller *hose,
>                 return phys_addr;
>         }
>
> -#ifdef CONFIG_DM_PCI
> -       /* The root controller has the region information */
> -       hose = pci_bus_to_hose(0);
> -#endif
> -
>         /*
>          * if PCI_REGION_MEM is set we do a two pass search with preference
>          * on matches that don't have PCI_REGION_SYS_MEMORY set
> @@ -236,6 +231,13 @@ int __pci_hose_phys_to_bus(struct pci_controller *hose,
>         return 1;
>  }
>
> +/*
> + * pci_hose_phys_to_bus(): Convert physical address to bus address
> + * @hose:      PCI hose of the root PCI controller
> + * @phys_addr: physical address to convert
> + * @flags:     flags of pci regions

@return ....

> + *
> + */
>  pci_addr_t pci_hose_phys_to_bus(struct pci_controller *hose,
>                                 phys_addr_t phys_addr,
>                                 unsigned long flags)
> @@ -248,11 +250,6 @@ pci_addr_t pci_hose_phys_to_bus(struct pci_controller *hose,
>                 return bus_addr;
>         }
>
> -#ifdef CONFIG_DM_PCI
> -       /* The root controller has the region information */
> -       hose = pci_bus_to_hose(0);
> -#endif
> -
>         /*
>          * if PCI_REGION_MEM is set we do a two pass search with preference
>          * on matches that don't have PCI_REGION_SYS_MEMORY set
> --
> 2.1.0.27.g96db324
>


More information about the U-Boot mailing list