From: Thomas Zimmermann <tzimmermann@suse.de>
To: "Màxim Pedraza Padilla" <maximpedraza@gmail.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Ard Biesheuvel" <ardb@kernel.org>,
"Jonathan Corbet" <corbet@lwn.net>,
"Helge Deller" <deller@gmx.de>, "Peter Jones" <pjones@redhat.com>
Cc: Francesco Valla <francesco@valla.it>,
Jani Nikula <jani.nikula@linux.intel.com>,
Mario Limonciello <mario.limonciello@amd.com>,
Javier Martinez Canillas <javierm@redhat.com>,
Jocelyn Falempe <jfalempe@redhat.com>,
Sam Ravnborg <sam@ravnborg.org>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Shuah Khan <skhan@linuxfoundation.org>,
Randy Dunlap <rdunlap@infradead.org>,
dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-efi@vger.kernel.org, linux-fbdev@vger.kernel.org,
linux-doc@vger.kernel.org, linux-embedded@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 00/15] Add splash DRM client
Date: Wed, 11 Nov 2026 14:52:37 +0100 [thread overview]
Message-ID: <066197a1-aa2b-455b-84d8-4e2215fad764@suse.de> (raw)
In-Reply-To: <20261027135342.2003632-1-maximpedraza@gmail.com>
Hi,
this series looks quite good already. However it is very long and I'll
need more time to review the connector-orientation code. I cannot say
much about the DT bindings.
So shall we merge patches 1 to 6 and 8 first? You'd have something in
upstream already and not chase a moving target. From there, we can merge
the other features in the coming weeks.
Please see my few comments on the patch 1 to 8.
Best regards
Thomas
Am 27.10.26 um 14:53 schrieb Màxim Pedraza Padilla:
> This is the sixth version of the splash client, which I took over from
> Francesco with v4 [1]. It works in Thomas's review of v5 [13] and Rob's
> of the binding [18], fixes what sashiko found in v5 [11][12], and adds
> three patches: the BMP headers move to <video/bmp.h> to be shared with
> efifb (patch 3), the choice of the image source gets a patch of its own
> (patch 8), and the splash follows the connector's orientation
> (patch 14). The command line parameters are gone, as Thomas asked [20].
>
> Why this is in the kernel
> -------------------------
>
> Maxime asked in v1 why this should not be left to userspace or to the
> bootloader. The cases it is for are the ones neither covers:
>
> - Nothing initialises the display before the kernel does. U-Boot's
> Falcon mode, meant to cut boot time, starts the kernel from the SPL
> and never runs U-Boot proper, where display support lives: there is
> no bootloader splash to hand over, and the device tree is the only
> thing that reaches the kernel. Userspace comes seconds later.
>
> - One kernel image for several products. An image built into the
> kernel, with CONFIG_EXTRA_FIRMWARE, means one kernel per logo, or
> every logo in every product's kernel, all of them staying in memory
> for good. Francesco described exactly this case in v2: one board
> support package for a family of devices, each with its own logo and
> background, picked by the bootloader.
>
> - A splash handed over from the bootloader does not always survive the
> native driver taking over the display.
>
> Where the image comes from
> --------------------------
>
> In this order: the device tree, the EFI BGRT, and a BMP loaded as
> firmware, named at build time ("drm_splash.bmp" by default); with none
> of them, only the background is drawn, in a colour set at build time
> or, for a device tree image, by its node.
>
> The device tree node lives under /chosen (patch 7) and carries the BMP
> either in its "logo-image" property, which dtc fills in with /incbin/,
> or in a reserved memory region the bootloader loaded it into. The
> region keeps the image out of the device tree, so that it can be
> changed from userspace by updating a partition, as Francesco suggested.
> A node is only there if someone put it there for that board, so it goes
> before the BGRT.
>
> Placement uses a position with -1 centring an axis, plus an offset, in
> screen pixels. A rotation turns the image and not the screen, counter
> clockwise as for panels and as DRM_MODE_ROTATE_* count. A device tree
> image is placed as its node says, a BGRT image at the table offsets, and
> anything else is centred.
>
> BGRT images with the ACPI 6.2 orientation bits set are no longer skipped
> but turned (patch 13). I took the meaning of the bits and of the offsets
> from Plymouth, the main user of the BGRT, so that the kernel and
> Plymouth put the image in the same place and the handover does not
> jump. Plymouth takes orientation 1 (90 degrees) for a panel mounted
> left side up and 3 (270) for right side up, which DRM counts as
> DRM_MODE_ROTATE_90 and DRM_MODE_ROTATE_270; with the bits set it draws
> the image upright at offsets given on the turned screen, and without
> them it takes the image as already turned for a turned panel, at
> offsets on the native screen. Patches 13 and 14 do the same. I have
> not found the specification text to check against; corrections are
> welcome.
>
> Changes since v5
> ----------------
>
> From Thomas's review [13][14][15]:
>
> - Patch 4 draws from a work item on system_power_efficient_wq instead
> of a render thread. One mutex covers the scanouts, the image and
> the firmware handed over by its callback, and the image is kept
> until unregister, so that the work can run again.
> - Every hotplug sets the outputs up again, so an output plugged in
> later gets the splash, and one unplugged is no longer driven. The
> buffers on screen stay there until the new ones are committed, by
> the work or by a restore, so the outputs do not go dark in between,
> nor when a commit or the hotplug fails; and a hotplug that fails no
> longer stops the later ones.
> - Restore commits whatever the modesets hold: an output that has no
> buffer has no mode either, and is switched off rather than left
> showing something else.
> - New patch 3: the BMP headers move from efifb to include/video/bmp.h,
> as __le16/__le32 fields; efifb reads them with get_unaligned_le*(),
> with no change on the little endian systems EFI runs on.
> - The image is drawn in two steps: the BMP is read, flipped and turned
> into an XRGB8888 buffer, which is then converted into the
> framebuffer's format; filling and blitting go by the format's
> drm_format_info rather than by bpp. Rotation (patch 11) only
> touches the first step.
> - No command line parameters [13][16][17][20]: patch 4 drops
> splash_color and splash_bmp, the colour and the BMP's file name are
> set at build time (CONFIG_DRM_CLIENT_SPLASH_BMP_NAME is new), and
> the v5 patch that added splash_bmp=none, splash_pos, splash_offset
> and splash_rotation is gone.
> - New patch 8: the image source is an enum, picked in one place, so
> that the device tree patch only adds its entry; the switch on it
> has no default, so that -Wswitch catches a source left out.
> - Messages are drm_dbg(), selects in alphabetical order, the mutex is
> destroyed at unregister, and the commit message of patch 4 carries
> the changes of each version.
>
> From Rob's review [18]:
>
> - Patch 7: "image" is now "logo-image", and "rotation" is the one of
> panel-common.yaml, keeping its own description, as it turns the
> image rather than say how a panel is mounted.
>
> From sashiko's review of v5 [11][12], and further review:
>
> - The 24 bpp source pixels are read with get_unaligned_le24() rather
> than a u32 load, which read a byte past the last pixel of the image
> and was unaligned [11], and the BGRT offsets are checked without the
> addition that could overflow [11]. Later patches already did; the
> fix now comes with the code it fixes.
> - The device tree source holds the node for as long as it draws the
> image in place, and drops it with the image [12].
> - Patch 4: a tiled framebuffer is sized from the tile offsets, in
> whatever order the CRTCs come, and a tile whose plane cannot take
> its group's format is left out; a preferred format that cannot be
> drawn to, such as C8, is not picked; a modeset left without a buffer
> is switched off instead of failing the commit for every output, and
> never keeps the framebuffer it had; nothing is drawn or committed
> while the device is suspended, a restore included, and the work is
> queued again on resume; only formats the plane takes
> with the linear modifier are picked; a background drawn again gets
> the image drawn again on top; the V4 and V5 BMP headers, which GIMP
> and ImageMagick write, are accepted; the build time background
> colour is limited to RGB888; the Kconfig help says that the BMP is
> requested only once.
> - Patch 2: efi_bgrt_has_image() says no when the image address, a u64
> in the table, does not fit in phys_addr_t, so that it cannot
> disagree with efi_bgrt_image_address() on 32-bit kernels without
> PAE. Thomas, I have kept your Reviewed-by, as said in [19].
> - Patch 7: the node is a "logo" node under /chosen with compatible
> "boot-logo"; logo-position and logo-offset give their defaults, and
> "logo-image" says that some architectures limit the size of the
> device tree (arm64 to 2 MB), so a large image belongs in a reserved
> memory region.
> - Patch 9: the image is found when the source is picked, and a node
> whose image cannot be had (a region that does not resolve or cannot
> be mapped, or "memory-region" on a kernel without
> CONFIG_OF_RESERVED_MEM) is warned about once and skipped, so the
> other sources are tried, rather than giving no image.
> - Patch 10: logo-position and logo-offset must hold two cells each,
> within the binding's range; otherwise the kernel warns and keeps the
> default.
> - Patch 12: a background-color that is not one cell of RGB888 is
> warned about and left out.
> - New patch 14: the splash follows the connector's orientation, the
> panel's or video=...,rotate=, as fbdev does: the plane turns the
> buffer when it can, and the splash turns it in software otherwise.
> A BGRT image stays as the firmware drew it, and tiles that need
> different turns get none in software, as with fbdev; so does a
> reflection, which is not drawn, and the legacy commit, which leaves
> the plane upright, gets the whole turn in software. It can be
> dropped; see the open questions.
> - Patch 15: the documentation follows all of the above.
>
> Changes in v5
> -------------
>
> - efi: bgrt: patch 2 adds accessors for the boot graphics instead of
> exporting bgrt_tab and bgrt_image_size, with stubs in efi-bgrt.h for
> CONFIG_ACPI_BGRT=n (Jani [2]); both variables are __ro_after_init
> (Ard [3]). Ard, this is the shape we discussed [4]: it is no longer
> the patch you acked, so I have not carried your Acked-by.
> - The client reads the BGRT through those accessors only, and drops
> its own wrappers, its stubs and the #ifdef around them; no "static
> inline" in drm_splash.c any more (Jani [5]).
> - Fixes from sashiko's review [6]:
> - when the render thread could not be created, the framebuffers
> were freed but the modesets still pointed at them, and the next
> restore committed them: a use-after-free that closing the last
> DRM file is enough to trigger;
> - when no buffer could be created, the scanouts were not freed, and
> a later restore committed a mode without a framebuffer;
> - a BMP loaded as firmware that arrived after the render thread had
> left (another master took over) was kept until unbind; it is now
> released when it arrives.
> - The binding and the documentation now ask a bootloader that loads no
> image into the reserved region to disable or remove the node, rather
> than to clear the region, which left the kernel an invalid image to
> complain about on every boot (sashiko [7]).
> - Dropped the RFC tag.
>
> Changes in v4
> -------------
>
> Fixes to Francesco's patches, folded in and listed in the commit notes;
> most of them were also in sashiko's review of v3 [9]:
>
> - the render thread stayed in TASK_UNINTERRUPTIBLE for good when the
> BMP firmware was missing (hung task warning), could miss a wake up,
> and kthread_stop() was called on a thread that had already exited
> (use-after-free), never existed or failed to start;
> - a use-after-free on unbind: the image was released after
> drm_client_release(), which frees the client;
> - a use-after-free in the firmware callback when the device goes away
> first, as the request cannot be cancelled; unregister now waits;
> - the BMP bounds check could overflow and let a crafted bitmap offset
> read 4 GiB away;
> - the 24 bit blitters read a byte past the image;
> - buffers went to the wrong modesets when one was skipped, tiled
> groups dereferenced a buffer before creating it and swapped width
> and height, a failed dumb buffer left an ERR_PTR behind, and the
> modeset list was walked without modeset_mutex;
> - the BGRT symbols are exported (Mario's report [10]), GPL only;
> - the DRM_CLIENT_DEFAULT entry is indented with tabs (patch 1).
>
> Additions: the device tree source and its binding, placement, rotation,
> the background colour following the image, BGRT orientation, the
> command line parameters, and the documentation.
>
> Testing
> -------
>
> - QEMU versatilepb (pl111, 16 bpp): 45 cases for the device tree
> source (inline and region, invalid nodes and values, placement,
> clamping, rotations, rows with and without padding, backgrounds, a
> V5 BMP header), plus 3 for the order of the sources, among them a
> region that cannot be read falling back to the BMP loaded as
> firmware, each compared pixel by pixel.
> - QEMU virt arm64 (virtio-gpu, 32 bpp) with KASAN and kmemleak, with
> the BMP loaded as firmware from an initramfs and the driver bound
> and unbound repeatedly: no reports, also with a crafted bitmap
> offset and with the firmware arriving only after the unbind (sysfs
> fallback).
> - Hotplug on vkms: when the connection moves from one connector to
> another after the splash is up, a restore drives the new one, and
> the old buffers go only once the new ones are committed; with the
> first hotplug forced to fail, the next one brings the splash up.
> - Several outputs: with the first output off and the second on, v3 put
> the buffer on the dead output and left the live one blank; now the
> splash is on the live one.
> - A tiled display, simulated by forcing on two virtio-gpu heads EDIDs
> with a DisplayID tiled topology block (2x1 tiles of 1024x768): one
> 2048x768 buffer, the image centred across both tiles; v3 oopsed on
> such a display.
> - The error paths, with a debug patch forcing them: a buffer or a
> format that fails on one output of two leaves that one off and the
> splash on the other; work queued while suspended runs on resume; a
> background that fails to draw is drawn on the next try; no WARN or
> KASAN report in any of them.
> - x86-64 with OVMF for the BGRT through the new accessors, including
> forced orientation bits, a connector turned with video=...,rotate=,
> and drm_client_lib built as a module.
> - efifb before and after patch 3, with the BGRT replaced from the
> initrd to move the image: efifb draws it at the new place, the same
> pixel for pixel with and without the patch.
> - i386 without PAE on 32-bit OVMF, with the BGRT replaced from the
> initrd so that it points above 4 GiB: without the patch 2 check the
> splash draws the image at the truncated address; with it, the
> background alone.
> - An AM335x board (tilcdc, 800x480 panel of which only the bottom 297
> lines are visible, 16 bpp), booting over TFTP and NFS: 6 cases,
> plus 6 with the BMP loaded as firmware from an initramfs, and 5
> unbind and bind cycles of tilcdc, checked by reading the scanout
> buffer back through /dev/mem.
> - The handover on the same board, with the product's Qt5 application
> drawing through EGLFS and the SGX GPU: it takes the display straight
> from the splash, and when it exits the splash is restored, pixel for
> pixel.
> - Falcon mode, on an AM335x board booting from NAND: the SPL starts
> the kernel directly, with the device tree appended to it and the
> image inline in the node, and U-Boot proper never runs. The splash
> comes up as the node asks, checked pixel by pixel.
> - W=1 and sparse clean; every patch builds on its own on arm and
> x86-64; checkpatch --strict clean apart from a quoted modpost line,
> the MAINTAINERS reminder on patch 4, answered by patch 5, and the
> one on patch 3, whose new header FRAMEBUFFER LAYER already covers;
> dt_binding_check clean for the binding.
>
> Not tested: a BGRT with orientation bits from real firmware, nor one
> on a plane that turns in hardware.
>
> Open questions
> --------------
>
> - The second drawing step, from XRGB8888 into the framebuffer's
> format, converts each pixel itself for now. It is kept apart so that
> it can move onto a shared drawing interface for clients once there
> is one [15].
> - Rob: how the image should be described, a BMP in a property or raw
> pixels described like simple-framebuffer [8]. The binding here uses
> the BMP; the client would need a second drawing path for the other.
> - Once the binding settles I will send the dt-schema change that lets
> the node live under /chosen; until then dtbs_check flags it.
> - The splash is a DRM client, so a device using it has no fbdev
> emulation and no /dev/fb0. That rules it out where userspace still
> draws through fbdev.
> - Unbinding waits for a pending firmware request, as the request cannot
> be cancelled and its callback uses the splash, and it waits under
> the device's clientlist_mutex. Normally the request is long over; with
> the sysfs fallback enabled it can take up to the loading timeout
> (60 s by default). Not waiting would mean splitting what the callback
> uses into its own refcounted object; I left it as is, but can do it
> if preferred.
> - Patch 14 makes the splash follow the connector's orientation the way
> fbcon does: what the plane does not turn in hardware is turned in
> software, so the logo looks the same on every driver, and the logo's
> own rotation is relative to what is seen. Without it the logo
> follows the plane, which matches userspace that ignores the panel
> orientation, but the result depends on the driver (and can change
> when a native driver takes over from simpledrm). If following the
> plane is preferred, patch 14 can simply be dropped.
> - The BGRT offsets are for the mode the firmware drew in. When KMS
> picks another one (a non-atomic driver, a secondary output, or
> video=), the x86 sanity check taken from efifb leaves the screen
> without a logo, and elsewhere the logo lands off centre. The offsets
> could be used only when the scanout matches the firmware's
> framebuffer, as screen_info describes it, and the image centred
> otherwise; I have left it as efifb has it for now.
>
> Based on drm-misc-next-2026-10-23 (cf5d8e390e2a).
>
> [1] https://lore.kernel.org/all/aryqYhHqFk3cXh9d@bywater/
> [2] https://lore.kernel.org/all/5c92c6f27b0778124d2365603374f70bd9b69b8d@intel.com/
> [3] https://lore.kernel.org/all/001eb42a-ec22-474a-83c6-371f1f4b2b8c@app.fastmail.com/
> [4] https://lore.kernel.org/all/9cf259a5-6083-433c-8544-ca3f6286334e@app.fastmail.com/
> [5] https://lore.kernel.org/all/1800459b75ea057c42f8c601a09646cca938b3db@intel.com/
> [6] https://lore.kernel.org/all/20261002091339.B64EB1F00893@smtp.kernel.org/
> [7] https://lore.kernel.org/all/20261002091338.E12D61F000FF@smtp.kernel.org/
> [8] https://lore.kernel.org/all/CAEUXW=Gh6wMk1i=x_KT0eSdkHeHs8Hkxkj4hfsuTRyY6=aphpw@mail.gmail.com/
> [9] https://sashiko.dev/#/patchset/20260510-drm_client_splash-v3-0-a9aee9f0b2fc%40valla.it
> [10] https://lore.kernel.org/dri-devel/5d7067de-97b7-4232-9cf6-e4b978696482@amd.com/
> [11] https://lore.kernel.org/all/sashiko-outbox-169372@kernel.org/
> [12] https://lore.kernel.org/all/sashiko-outbox-169390@kernel.org/
> [13] https://lore.kernel.org/all/fafa7327-e624-49f2-98b2-83fd602a0ad7@suse.de/
> [14] https://lore.kernel.org/all/9834b569-935c-484b-befb-b913acead9c1@suse.de/
> [15] https://lore.kernel.org/all/350adc03-dd7f-4120-ac9c-b6d04ff44faf@suse.de/
> [16] https://lore.kernel.org/all/ad6a04b7-cf57-4b22-9c22-85a61af29f1f@suse.de/
> [17] https://lore.kernel.org/all/45b55f94-0cd2-425b-b985-ba3958502b06@suse.de/
> [18] https://lore.kernel.org/all/20261020164651.GA4017884-robh@kernel.org/
> [19] https://lore.kernel.org/all/20261021005006.2341200-1-maximpedraza@gmail.com/
> [20] https://lore.kernel.org/all/645c1c2b-9aa8-44b4-8a67-dcd7bfbe8fbd@suse.de/
>
> v5: https://lore.kernel.org/r/20261013093243.505776-1-maximpedraza@gmail.com
> v4: https://lore.kernel.org/r/20261001195847.141192-1-maximpedraza@gmail.com
> v3: https://lore.kernel.org/r/20260510-drm_client_splash-v3-0-a9aee9f0b2fc@valla.it
> v2: https://lore.kernel.org/r/20260106-drm_client_splash-v2-0-6e86a7434b59@valla.it
> v1: https://lore.kernel.org/r/20251027-drm_client_splash-v1-0-00698933b34a@valla.it
>
> Màxim
>
> Francesco Valla (3):
> drm: client: add splash client
> MAINTAINERS: add entry for DRM splash client
> drm: docs: remove bootsplash from TODO
>
> Màxim Pedraza Padilla (12):
> drm/clients: Kconfig: indent DRM_CLIENT_DEFAULT with tabs
> efi: bgrt: add accessors for the boot graphics
> fbdev: efifb: move the BMP headers to <video/bmp.h>
> dt-bindings: display: add a boot logo node under /chosen
> drm/client: splash: pick the image source in one place
> drm/client: splash: add a device tree image source
> drm/client: splash: place the device tree image where it asks
> drm/client: splash: turn the device tree image as it asks
> drm/client: splash: take the background colour from the image source
> drm/client: splash: turn the BGRT image on panels mounted turned
> drm/client: splash: follow the connector's orientation
> drm/client: splash: document the image sources
>
> .../bindings/display/boot-logo.yaml | 156 ++
> Documentation/gpu/drm-client.rst | 6 +
> Documentation/gpu/todo.rst | 17 -
> MAINTAINERS | 9 +
> drivers/firmware/efi/efi-bgrt.c | 75 +-
> drivers/gpu/drm/clients/Kconfig | 96 +-
> drivers/gpu/drm/clients/Makefile | 1 +
> drivers/gpu/drm/clients/drm_client_internal.h | 9 +
> drivers/gpu/drm/clients/drm_client_setup.c | 8 +
> drivers/gpu/drm/clients/drm_splash.c | 1482 +++++++++++++++++
> drivers/video/fbdev/efifb.c | 49 +-
> include/linux/efi-bgrt.h | 39 +-
> include/video/bmp.h | 40 +
> 13 files changed, 1930 insertions(+), 57 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/display/boot-logo.yaml
> create mode 100644 drivers/gpu/drm/clients/drm_splash.c
> create mode 100644 include/video/bmp.h
>
>
> base-commit: cf5d8e390e2ac2cfa24a50645efdbb9f0eebe65f
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Stefan Gaiser, Jochen Jaser, Abhinav Puri, (HRB 36809, AG Nürnberg)
prev parent reply other threads:[~2026-11-11 13:52 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-27 13:53 Màxim Pedraza Padilla
2026-10-27 13:53 ` [PATCH v6 01/15] drm/clients: Kconfig: indent DRM_CLIENT_DEFAULT with tabs Màxim Pedraza Padilla
2026-10-27 13:53 ` [PATCH v6 02/15] efi: bgrt: add accessors for the boot graphics Màxim Pedraza Padilla
2026-10-27 13:53 ` [PATCH v6 03/15] fbdev: efifb: move the BMP headers to <video/bmp.h> Màxim Pedraza Padilla
2026-11-11 13:04 ` Thomas Zimmermann
2026-11-11 13:18 ` Javier Martinez Canillas
2026-10-27 13:53 ` [PATCH v6 04/15] drm: client: add splash client Màxim Pedraza Padilla
2026-11-11 13:28 ` Thomas Zimmermann
2026-10-27 13:53 ` [PATCH v6 05/15] MAINTAINERS: add entry for DRM " Màxim Pedraza Padilla
2026-11-11 13:31 ` Thomas Zimmermann
2026-10-27 13:53 ` [PATCH v6 06/15] drm: docs: remove bootsplash from TODO Màxim Pedraza Padilla
2026-11-11 13:32 ` Thomas Zimmermann
2026-10-27 13:53 ` [PATCH v6 07/15] dt-bindings: display: add a boot logo node under /chosen Màxim Pedraza Padilla
2026-10-27 18:59 ` Rob Herring (Arm)
2026-10-27 13:53 ` [PATCH v6 08/15] drm/client: splash: pick the image source in one place Màxim Pedraza Padilla
2026-11-11 13:42 ` Thomas Zimmermann
2026-10-27 13:53 ` [PATCH v6 09/15] drm/client: splash: add a device tree image source Màxim Pedraza Padilla
2026-10-27 13:53 ` [PATCH v6 10/15] drm/client: splash: place the device tree image where it asks Màxim Pedraza Padilla
2026-10-27 13:53 ` [PATCH v6 11/15] drm/client: splash: turn the device tree image as " Màxim Pedraza Padilla
2026-10-27 13:53 ` [PATCH v6 12/15] drm/client: splash: take the background colour from the image source Màxim Pedraza Padilla
2026-10-27 13:53 ` [PATCH v6 13/15] drm/client: splash: turn the BGRT image on panels mounted turned Màxim Pedraza Padilla
2026-10-27 13:53 ` [PATCH v6 14/15] drm/client: splash: follow the connector's orientation Màxim Pedraza Padilla
2026-10-27 13:53 ` [PATCH v6 15/15] drm/client: splash: document the image sources Màxim Pedraza Padilla
2026-11-11 13:52 ` Thomas Zimmermann [this message]
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=066197a1-aa2b-455b-84d8-4e2215fad764@suse.de \
--to=tzimmermann@suse.de \
--cc=airlied@gmail.com \
--cc=ardb@kernel.org \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=deller@gmx.de \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=francesco@valla.it \
--cc=ilias.apalodimas@linaro.org \
--cc=jani.nikula@linux.intel.com \
--cc=javierm@redhat.com \
--cc=jfalempe@redhat.com \
--cc=krzk+dt@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-embedded@vger.kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mario.limonciello@amd.com \
--cc=maximpedraza@gmail.com \
--cc=mripard@kernel.org \
--cc=pjones@redhat.com \
--cc=rdunlap@infradead.org \
--cc=robh@kernel.org \
--cc=sam@ravnborg.org \
--cc=simona@ffwll.ch \
--cc=skhan@linuxfoundation.org \
/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
all inboxes | Powered by JetHome®