On Mon, Jul 31, 2023 at 02:49:06PM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Mon, 31 Jul 2023 at 14:45, Tom Rini <tr...@konsulko.com> wrote:
> >
> > On Mon, Jul 31, 2023 at 02:37:04PM -0600, Simon Glass wrote:
> > > Hi Tom,
> > >
> > > On Mon, 31 Jul 2023 at 13:32, Tom Rini <tr...@konsulko.com> wrote:
> > > >
> > > > On Mon, Jul 31, 2023 at 09:59:56AM -0600, Simon Glass wrote:
> > > >
> > > > > When the video framebuffer comes from the bloblist, we should not 
> > > > > change
> > > > > relocaddr to this address, since it interfers with the normal memory
> > > > > allocation.
> > > > >
> > > > > This fixes a boot loop in qemu-x86_64
> > > > >
> > > > > Signed-off-by: Simon Glass <s...@chromium.org>
> > > > > Fixes: 5bc610a7d9d ("common: board_f: Pass frame buffer info from SPL 
> > > > > to u-boot")
> > > > > Suggested-by: Nikhil M Jain <n-ja...@ti.com>
> > > > > ---
> > > > >
> > > > > Changes in v3:
> > > > > - Reword the Kconfig help as suggested
> > > > >
> > > > > Changes in v2:
> > > > > - Add a Kconfig as the suggested conditional did not work
> > > > >
> > > > >  common/board_f.c      | 3 ++-
> > > > >  drivers/video/Kconfig | 9 +++++++++
> > > > >  2 files changed, 11 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/common/board_f.c b/common/board_f.c
> > > > > index 7d2c380e91e..5173d0a0c2d 100644
> > > > > --- a/common/board_f.c
> > > > > +++ b/common/board_f.c
> > > > > @@ -419,7 +419,8 @@ static int reserve_video(void)
> > > > >               if (!ho)
> > > > >                       return log_msg_ret("blf", -ENOENT);
> > > > >               video_reserve_from_bloblist(ho);
> > > > > -             gd->relocaddr = ho->fb;
> > > > > +             if (IS_ENABLED(CONFIG_VIDEO_RESERVE_SPL))
> > > > > +                     gd->relocaddr = ho->fb;
> > > > >       } else if (CONFIG_IS_ENABLED(VIDEO)) {
> > > > >               ulong addr;
> > > > >               int ret;
> > > > > diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
> > > > > index b41dc60cec5..f2e56204d52 100644
> > > > > --- a/drivers/video/Kconfig
> > > > > +++ b/drivers/video/Kconfig
> > > > > @@ -1106,6 +1106,15 @@ config SPL_VIDEO_REMOVE
> > > > >         if this  option is enabled video driver will be removed at 
> > > > > the end of
> > > > >         SPL stage, beforeloading the next stage.
> > > > >
> > > > > +config VIDEO_RESERVE_SPL
> > > > > +     bool
> > > > > +     help
> > > > > +       This adjusts reserve_video() to redirect memory reservation 
> > > > > when it
> > > > > +       sees a video handoff blob (BLOBLISTT_U_BOOT_VIDEO). This 
> > > > > avoids the
> > > > > +       memory used for framebuffer from being allocated by U-Boot 
> > > > > proper,
> > > > > +       thus preventing any further memory reservations done by 
> > > > > U-Boot proper
> > > > > +       from overwriting the framebuffer.
> > > > > +
> > > > >  if SPL_SPLASH_SCREEN
> > > > >
> > > > >  config SPL_SPLASH_SCREEN_ALIGN
> > > >
> > > > Nothing selects this and it's not offered as a choice, so now we've just
> > > > broken the original case?
> > >
> > > Yes, I should have mentioned that. I'm not sure which board(s) need
> > > this option selected.
> > >
> > > Devarsh, do you know?
> >
> > And shouldn't this just be part of the normal flow when we have
> > SPL_BLOBLIST && BLOBLIST, and not need a new symbol? I feel like I'm
> > missing something here.
> 
> Most of the discussion was on the v1 patch.
> 
> https://patchwork.ozlabs.org/project/uboot/patch/20230724145210.304917-5-...@chromium.org/

OK, yeah.  It seems like something more needs to be done then since
"don't flicker the screen" is pretty much always the case if we have
splash screen / video set up in SPL.  Perhaps the case where that's not
true should just be treated as the uncommon one, so we can do the
ram_top suggestion normally?

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to