All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: Nikhil M Jain <n-jain1@ti.com>
Cc: u-boot@lists.denx.de, agust@denx.de, devarsht@ti.com,
	trini@konsulko.com,  vigneshr@ti.com, nsekhar@ti.com
Subject: Re: [PATCH 0/9] Enable splash screen
Date: Sun, 19 Mar 2023 09:20:24 +1300	[thread overview]
Message-ID: <CAPnjgZ0kdA9jKM9a7MMqP3cjCD0ZBM7CUHgv-3uHUukkHsS-Dw@mail.gmail.com> (raw)
In-Reply-To: <20f1ccac-48e2-78cf-7434-c890cd334cb3@ti.com>

Hi Nikhil,

On Fri, 17 Mar 2023 at 02:13, Nikhil M Jain <n-jain1@ti.com> wrote:
>
> Hi Simon,
>
> On 16/03/23 10:10, Nikhil M Jain wrote:
> > Hi Simon,
> >
> > On 15/03/23 19:38, Simon Glass wrote:
> >> Hi Nikhil,
> >>
> >> On Wed, 15 Mar 2023 at 00:07, Nikhil M Jain <n-jain1@ti.com> wrote:
> >>>
> >>> Hi Simon,
> >>>
> >>> On 15/03/23 03:38, Simon Glass wrote:
> >>>> Hi Nikhil,
> >>>>
> >>>> On Mon, 13 Mar 2023 at 04:15, Nikhil M Jain <n-jain1@ti.com> wrote:
> >>>>>
> >>>>> To enable splash screen at SPL stage move video driver and splash
> >>>>> screen
> >>>>> framework at SPL, which will bring up image on display very quickly
> >>>>> and
> >>>>> thus have early display support in SPL.
> >>>>>
> >>>>> Nikhil M Jain (9):
> >>>>>     drivers: video: Kconfig: Necessary configs for video at SPL
> >>>>>     drivers: video: tidss: Kconfig: Configs to enable TIDSS at SPL
> >>>>>     cmd: Kconfig: Add necessary configs for splash screen at SPL
> >>>>>     drivers: video: Makefile: Compile video driver files at SPL
> >>>>>     drivers: video: tidss: Makefile: Add condition to compile TIDSS
> >>>>> at SPL
> >>>>>     cmd: Makefile: Add rules to build bmp.c and read.c at SPL
> >>>>>     common: splash: Enable splash_display at SPL stage
> >>>>>     drivers: video: video-uclass: Disable u-boot logo at SPL
> >>>>>     board: ti: am62x: evm: OSPI support for splash screen
> >>>>>
> >>>>>    board/ti/am62x/evm.c         |  6 ++++++
> >>>>>    cmd/Kconfig                  | 17 +++++++++++++++++
> >>>>>    cmd/Makefile                 |  2 ++
> >>>>>    common/splash.c              |  2 +-
> >>>>>    drivers/video/Kconfig        | 32 ++++++++++++++++++++++++++++----
> >>>>>    drivers/video/Makefile       |  6 ++++++
> >>>>>    drivers/video/tidss/Kconfig  |  6 ++++++
> >>>>>    drivers/video/tidss/Makefile |  1 +
> >>>>>    drivers/video/video-uclass.c |  2 +-
> >>>>>    include/splash.h             |  2 +-
> >>>>>    10 files changed, 69 insertions(+), 7 deletions(-)
> >>>>
> >>>> I'm not necessarily arguing against this, but what is the need for
> >>>> this? How many milliseconds earlier does the image appear with this
> >>>> patch? What is the bottleneck? We should be able to get to U-Boot
> >>>> proper very quickly.
> >>>>
> >>> There is a significant difference in time, by adding support in SPL
> >>> splash screen comes up by approx 650ms and at u-boot proper it comes at
> >>> 2.6s, measured from first print in console as seen on AM62x. Also we
> >>> plan to skip u-boot proper and load kernel directly.
> >>
> >> Yes that really is terrible. It should be under a second for U-Boot
> >> proper!
> >>
> >> Have you tried using bootstage to report the numbers?
> >>
> > No I haven't used the bootstage, I will use it to get the numbers.
> >
> Boot stage logs
> link: https://gist.github.com/NikMJain/beb60fe42b1e89829cdd5b8713284330
>
>
> >> Have you tried using tracing to figure out what is wrong? Is it just
> >> slow storage?
> >>
> > U-boot proper comes up in one sec but the splash display is called
> > through stdio_add_devices which is late in the board_init_r sequence
> > defined in board_r.c.
> >  >> Regards,
> >> Simon
> >
> > Thanks
>
> On AM62x we have multi-stage boot first R5 SPL comes up then A53 SPL and
> u-boot proper, due to which splash screen at u-boot proper takes over 2
> sec. On AM62x we have an aggressive requirement for an early splash
> screen. Hence we are moving splash screen support to SPL., which will
> bring splash screen time to approx 600 ms.
>
> We also want to support falcon boot mode from A53 SPL, we have customers
> who don't want u-boot proper in production boot flow and still require
> splash screen, the only way to support it is to add  splash screen at SPL.
>
> u-boot logs with splash screen timings, measurement through
> timer_get_boot_us at u-boot proper and SPL.
> link: https://gist.github.com/NikMJain/3be0b6c92092678b6aec8e5fdbc46a98

I think it would be worth looking at what is taking so long. Could you
add bootstage in there (which supports SPL as well) and produce a
final report? Is BL31 taking a while?You can use
bootstage_start()/bootstage_accum() to collect time on MMC loading,
etc. even if you don't want to enable CONFIG_TRACE.

This is an important area that will affect a lot of boards. If it
takes 2 seconds to get into U-Boot, everyone is going to want to avoid
it.

Regards,
Simon

  reply	other threads:[~2023-03-18 20:21 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-13 10:14 [PATCH 0/9] Enable splash screen Nikhil M Jain
2023-03-13 10:14 ` [PATCH 1/9] drivers: video: Kconfig: Necessary configs for video at SPL Nikhil M Jain
2023-03-13 10:14 ` [PATCH 2/9] drivers: video: tidss: Kconfig: Configs to enable TIDSS " Nikhil M Jain
2023-03-13 10:14 ` [PATCH 3/9] cmd: Kconfig: Add necessary configs for splash screen " Nikhil M Jain
2023-03-13 10:14 ` [PATCH 4/9] drivers: video: Makefile: Compile video driver files " Nikhil M Jain
2023-03-13 10:14 ` [PATCH 5/9] drivers: video: tidss: Makefile: Add condition to compile TIDSS " Nikhil M Jain
2023-03-13 10:51   ` Peter Robinson
2023-03-13 10:14 ` [PATCH 6/9] cmd: Makefile: Add rules to build bmp.c and read.c " Nikhil M Jain
2023-03-13 10:14 ` [PATCH 7/9] common: splash: Enable splash_display at SPL stage Nikhil M Jain
2023-03-13 10:14 ` [PATCH 8/9] drivers: video: video-uclass: Disable u-boot logo at SPL Nikhil M Jain
2023-03-13 10:14 ` [PATCH 9/9] board: ti: am62x: evm: OSPI support for splash screen Nikhil M Jain
2023-03-14 22:08 ` [PATCH 0/9] Enable " Simon Glass
2023-03-15  6:06   ` Nikhil M Jain
2023-03-15 14:08     ` Simon Glass
2023-03-16  4:40       ` Nikhil M Jain
2023-03-17  8:13         ` Nikhil M Jain
2023-03-18 20:20           ` Simon Glass [this message]
2023-03-14  4:50 Nikhil M Jain
2023-03-14  5:54 ` Devarsh Thakkar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPnjgZ0kdA9jKM9a7MMqP3cjCD0ZBM7CUHgv-3uHUukkHsS-Dw@mail.gmail.com \
    --to=sjg@chromium.org \
    --cc=agust@denx.de \
    --cc=devarsht@ti.com \
    --cc=n-jain1@ti.com \
    --cc=nsekhar@ti.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.