From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konstantin Porotchkin Date: Thu, 30 Mar 2017 16:58:09 +0300 Subject: [U-Boot] [PATCH 1/3] arm64: mvebu: Trigger PCI devices scan at early init stage In-Reply-To: References: <1490715395-24751-1-git-send-email-kostap@marvell.com> <1490715395-24751-2-git-send-email-kostap@marvell.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 03/30/2017 04:31 PM, Stefan Roese wrote: > (adding Simon to Cc for PCI related question) > > On 28.03.2017 17:36, kostap at marvell.com wrote: >> From: Konstantin Porotchkin >> >> Add PCIe initialization at early init stage. >> This operation has a side effect of detecting all PCIe >> plug-in cards, so the operator is not obligated to issue >> "pci enum" command though CLI for this purpose. > > I'm not sure, if this should be handled this way. Simon, how > is such a default PCI scan with DM supposed to get done? Is > there a way do do this automatically without the need that > the user has to issue "pci enum" manually? I was not sure either, but did not see any other way of doing so. I asked to add this change by our Robot/Jenkins automation test team. > >> Also convert the SATA first device scan to a walk through >> all availabel SATA devices. > > This should be done in a separate patch. But seeing this, > won't this SATA / AHCI code be gone completely from this > file, once this is converted into a "real" DM AHCI / SCSI > driver (please look at my preliminary patch for this). Will check your patch, thank you. Maybe this change has to be completely removed if Simon guide me to the right solution for automatic PCIe enumeration. > >> Signed-off-by: Konstantin Porotchkin >> Cc: Stefan Roese >> Cc: Igal Liberman >> Cc: Nadav Haklai >> --- >> arch/arm/mach-mvebu/arm64-common.c | 13 +++++++++++-- >> 1 file changed, 11 insertions(+), 2 deletions(-) >> >> diff --git a/arch/arm/mach-mvebu/arm64-common.c >> b/arch/arm/mach-mvebu/arm64-common.c >> index 8f02655..ff28750 100644 >> --- a/arch/arm/mach-mvebu/arm64-common.c >> +++ b/arch/arm/mach-mvebu/arm64-common.c >> @@ -8,6 +8,7 @@ >> #include >> #include >> #include >> +#include >> #include >> #include >> #include >> @@ -142,8 +143,16 @@ int arch_early_init_r(void) >> break; >> } >> >> - /* Cause the SATA device to do its early init */ >> - uclass_first_device(UCLASS_AHCI, &dev); >> + /* Cause the SATA devices to do their early init */ >> + for (uclass_first_device(UCLASS_AHCI, &dev); >> + dev; >> + uclass_next_device(&dev)) >> + ; >> + >> +#ifdef CONFIG_DM_PCI >> + /* Trigger PCIe devices detection */ >> + pci_init(); >> +#endif >> >> return 0; >> } >> > > Thanks, > Stefan