[PATCH 5/9] fdt: Correct condition for bloblist existing

Ilias Apalodimas ilias.apalodimas at linaro.org
Tue Jun 11 16:26:51 CEST 2024


On Tue, 11 Jun 2024 at 13:54, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Raymond,
>
> On Mon, 10 Jun 2024 at 13:13, Raymond Mao <raymond.mao at linaro.org> wrote:
> >
> > Hi Simon,
> >
> > On Tue, 4 Jun 2024 at 23:27, Simon Glass <sjg at chromium.org> wrote:
> >>
> >> On some boards, the bloblist is created in SPL once SDRAM is ready. It
> >> cannot be accessed until that point, so is not available early in SPL.
> >>
> >> Add a condition to avoid a hang in this case.
> >>
> >> This fixes a hang in chromebook_coral
> >>
> >> Fixes: 70fe2385943 ("fdt: Allow the devicetree to come from a bloblist")
> >>
> >> Signed-off-by: Simon Glass <sjg at chromium.org>
> >> ---
> >>
> >>  lib/fdtdec.c | 12 ++++++++++--
> >>  1 file changed, 10 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> >> index b2c59ab3818..b141244e3b9 100644
> >> --- a/lib/fdtdec.c
> >> +++ b/lib/fdtdec.c
> >> @@ -1669,8 +1669,16 @@ int fdtdec_setup(void)
> >>  {
> >>         int ret = -ENOENT;
> >>
> >> -       /* If allowing a bloblist, check that first */
> >> -       if (CONFIG_IS_ENABLED(BLOBLIST)) {
> >> +       /*
> >> +        * If allowing a bloblist, check that first. This would be better
> >> +        * handled with an OF_BLOBLIST Kconfig, but that caused far too much
> >> +        * argument, so add a hack here, used e.g. by chromebook_coral
> >
> > I am a bit confused by this comment - It means you will not use OF_BLOBLIST,
> > but actually you are using it below. Is it a typo?
>
> Basically it would be cleaner to have a separate, phase-specific
> Kconfig control as to whether the DT can come from the bloblist (I
> can't remember the Kconfig name I suggested, nor the patch as it was
> last year sometime). But for now I am adding this hack to get a few
> boards working again.

I am a bit confused.
First of all the comment is innapropriate. We went through a lengthy
discussion on BLOBLIST/OF_BLOSLIST etc and,  even Tom chimed in and we
made up our minds. Why are you adding this comment now? Why do code
comments have to illustrate your personal opinion -- which was
rejected?

Grepping for OF_BLOBLIST, I can't find any matches, so is the above if a typo?


Thanks
/Ilias
>
> >
> >>
> >> +        * The necessary test is whether the previous stage passed a bloblist,
> >> +        * not whether this one creates one.
> >> +        */
> >> +       if (CONFIG_IS_ENABLED(OF_BLOBLIST) &&
> >> +           (spl_prev_phase() != PHASE_TPL ||
> >> +            !IS_ENABLED(CONFIG_TPL_BLOBLIST))) {
> >>                 ret = bloblist_maybe_init();
> >>                 if (!ret) {
> >>                         gd->fdt_blob = bloblist_find(BLOBLISTT_CONTROL_FDT, 0);
> >> --
> >> 2.34.1
> >>
> >
> > Regards,
> > Raymond
>
> Regards,
> Simon


More information about the U-Boot mailing list