mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: "Sascha Hauer" <s.hauer@pengutronix.de>
To: "Johannes Schneider" <johannes.schneider@leica-geosystems.com>
Cc: barebox@lists.infradead.org,
	thomas.haemmerle@leica-geosystems.com, a.fatoum@pengutronix.de,
	mgr@kernel.org
Subject: Re: [PATCH v2 08/11] video: lcdif: register simplefb fixup and enable framebuffer at probe
Date: Mon, 15 Jun 2026 09:16:10 +0000	[thread overview]
Message-ID: <E1wZ3QQ-00000006H31-0HKf@pty.whiteo.stw.pengutronix.de> (raw)
In-Reply-To: <20260604065006.2933142-9-johannes.schneider@leica-geosystems.com>

On 2026-06-04 06:50, Johannes Schneider wrote:
> From: Thomas Haemmerle <thomas.haemmerle@leica-geosystems.com>
> 
> Two changes are needed to use lcdif_drv as the primary barebox boot
> framebuffer:
> 
>   - register_framebuffer() leaves the cdev disabled; the splash command
>     opens fb0 via the fb API and never goes through the cdev open path
>     that triggers fb_enable lazily, so it bails on
>     "fb_open: No such file or directory".  fb_enable() at the end of
>     register_fb so the controller is up by the time anything blits.
> 
>   - Set info->register_simplefb and call fb_register_simplefb() so
>     DRM_SIMPLEDRM in Linux sees the boot framebuffer as a
>     simple-framebuffer DT node and keeps the splash visible until its
>     native LCDIF driver binds.
> 
> Signed-off-by: Thomas Haemmerle <thomas.haemmerle@leica-geosystems.com>
> ---
>  drivers/video/lcdif_kms.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/video/lcdif_kms.c b/drivers/video/lcdif_kms.c
> index 5487d1298c..e3d1985dc9 100644
> --- a/drivers/video/lcdif_kms.c
> +++ b/drivers/video/lcdif_kms.c
> @@ -459,6 +459,16 @@ static int lcdif_register_fb(struct lcdif_drm_private *lcdif)
>  	if (ret)
>  		return ret;
>  
> +	/* expose as simple-framebuffer for Linux DRM_SIMPLEDRM handoff */
> +	info->register_simplefb = 1;
> +	fb_register_simplefb(info);

fb_register_simplefb() is already called during register_framebuffer(),
so it shouldn't be necessary to call it here.

If you wish to actually use simple fb in Linux that's a board specific
decision and you should set nv.dev.fb0.register_simplefb (not sure if
the variable name is 100% correct).

> +
> +	/* enable now so the splash command can blit into a live fb */
> +	ret = fb_enable(info);

The idea is rather that the splash command renders in a disabled
framebuffer so that the splash screen is there immediately when you
enable the framebuffer. This reduces flickering as compared to first
enable the framebuffer and render afterwards.

There might be pieces missing upstream, but these changes shouldn't be
in the driver, but in the generic code.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



  reply	other threads:[~2026-06-15  9:17 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-04  6:49 [PATCH v2 00/11] video: enable boot splash on i.MX8MP with LVDS panel Johannes Schneider
2026-06-04  6:49 ` [PATCH v2 01/11] clk: imx8mp: add 700 MHz rate entry for VIDEO_PLL1 Johannes Schneider
2026-06-04  6:49 ` [PATCH v2 02/11] clk: imx8mp: add 1039.5 MHz and 519.75 MHz rate entries " Johannes Schneider
2026-06-04  6:49 ` [PATCH v2 03/11] pmdomain: imx8mp-blk-ctrl: add media blk-ctrl power domain support Johannes Schneider
2026-06-04  6:49 ` [PATCH v2 04/11] video: backlight-pwm: make power-supply and enable-gpio optional Johannes Schneider
2026-06-04  6:50 ` [PATCH v2 05/11] video: lcdif: make functional on i.MX8MP Johannes Schneider
2026-06-04  6:50 ` [PATCH v2 06/11] video: lcdif: use 128B AXI bursts to avoid right-edge gap Johannes Schneider
2026-06-04  6:50 ` [PATCH v2 07/11] video: lcdif: default to RGB888_1X24 on VPL_GET_BUS_FORMAT failure Johannes Schneider
2026-06-04  6:50 ` [PATCH v2 08/11] video: lcdif: register simplefb fixup and enable framebuffer at probe Johannes Schneider
2026-06-15  9:16   ` Sascha Hauer [this message]
2026-06-04  6:50 ` [PATCH v2 09/11] video: lcdif: drain write-combine framebuffer in fb_damage Johannes Schneider
2026-06-04  6:50 ` [PATCH v2 10/11] video: simple-panel: support panel-lvds DT bindings Johannes Schneider
2026-06-04  6:50 ` [PATCH v2 11/11] video: simple-panel: lazily resolve backlight without failing Johannes Schneider
2026-06-15  9:16 ` (subset) [PATCH v2 00/11] video: enable boot splash on i.MX8MP with LVDS panel Sascha Hauer

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=E1wZ3QQ-00000006H31-0HKf@pty.whiteo.stw.pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=a.fatoum@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=johannes.schneider@leica-geosystems.com \
    --cc=mgr@kernel.org \
    --cc=thomas.haemmerle@leica-geosystems.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox