Hi Bin, Please see my comments inline.
Thanks, Minghuan > -----Original Message----- > From: Bin Meng [mailto:bmeng...@gmail.com] > Sent: Monday, October 10, 2016 7:55 PM > To: M.H. Lian <minghuan.l...@nxp.com>; Simon Glass <s...@chromium.org> > Cc: U-Boot Mailing List <u-boot@lists.denx.de>; Mingkai Hu > <mingkai...@nxp.com>; Leo Li <leoyang...@nxp.com> > Subject: Re: [U-Boot] [PATCH 2/9] dm: pci: remove pci_bus_to_hose(0) > calling > > +Simon > > Hi Minghuan, > > On Mon, Oct 10, 2016 at 4:47 PM, Minghuan Lian <minghuan.l...@nxp.com> > wrote: > > 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.l...@nxp.com> > > --- > > drivers/pci/pci_common.c | 10 ---------- > > 1 file changed, 10 deletions(-) > > > > diff --git a/drivers/pci/pci_common.c b/drivers/pci/pci_common.c index > > 1755914..448e814 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 > > Again if you fully convert the driver to use DM PCI, this API won't be called. > And what's broken here? The comment says "The root controller has the > region information", which is correct. [Minghuan Lian] Our SoCs have multiple PCIe controllers - RCs. Each PCIe controller has different region information. Only the first PCIe controller is assigned to bus number 0. The second/third PCIe controllers may be assigned bus number 2 / 3. pci_bus_to_hose(0) is only correct for the first PCIe controller. > > > - > > /* > > * 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 @@ > > -248,11 +243,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 > > -- > > Regards, > Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot