[PATCH v2 1/1] spl: initialize PCI before booting

Tom Rini trini at konsulko.com
Tue Jul 25 18:37:45 CEST 2023


On Tue, Jul 25, 2023 at 08:51:55AM -0600, Simon Glass wrote:
> On Mon, 24 Jul 2023 at 14:19, Heinrich Schuchardt
> <heinrich.schuchardt at canonical.com> wrote:
> >
> > MMC, SATA, and USB may be using PCI based controllers.
> > Initialize the PCI sub-system before trying to boot.
> >
> > Remove the initialization for NVMe that is now redundant.
> >
> > Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> > ---
> > v2:
> >         Centralize the PCI initialization
> > ---
> >  common/spl/spl.c      | 7 +++++++
> >  common/spl/spl_nvme.c | 5 -----
> >  2 files changed, 7 insertions(+), 5 deletions(-)
> >
> > diff --git a/common/spl/spl.c b/common/spl/spl.c
> > index f09bb97781..0062f3f45d 100644
> > --- a/common/spl/spl.c
> > +++ b/common/spl/spl.c
> > @@ -800,6 +800,13 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> >             IS_ENABLED(CONFIG_SPL_ATF))
> >                 dram_init_banksize();
> >
> > +       if (CONFIG_IS_ENABLED(PCI)) {
> > +               ret = pci_init();
> > +               if (ret)
> > +                       puts(SPL_TPL_PROMPT "Cannot initialize PCI\n");
> > +               /* Don't fail. We still can try other boot methods. */
> 
> But which ones? This seems dubious to me, since there is no check (for
> each loader) as to whether PCI is needed or not. If PCI cannot be set
> up, we should probably return an error.

I think it's reasonable here to say that we failed to initialize PCI.
It's still up to the specific loader to say it couldn't find a
controller.  This in turn will provide reasonable hints if someone has a
problem.  The flip side is "Oh, PCI failed but I was trying to boot from
SD card anyhow which doesn't need it" (think bring-up) and having to go
hack things up.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230725/49c17f9f/attachment.sig>


More information about the U-Boot mailing list