From: Thomas Zimmermann <tzimmermann@suse.de>
To: tzungbi@kernel.org, briannorris@chromium.org,
jwerner@chromium.org, javierm@redhat.com, samuel@sholland.org,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
airlied@gmail.com, simona@ffwll.ch
Cc: chrome-platform@lists.linux.dev, dri-devel@lists.freedesktop.org,
Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v4 00/12] drm, coreboot: Add DRM coreboot driver
Date: Tue, 17 Feb 2026 16:56:10 +0100 [thread overview]
Message-ID: <20260217155836.96267-1-tzimmermann@suse.de> (raw)
Coreboot implements framebuffer support via simple-framebuffer. Provide a
dedicated DRM driver. Keep the simple-framebuffer code for now.
For each firmware's provided framebuffer, we prefer a dedicated DRM driver
tailored towards the platform's feature set. The coreboot framebuffer
device currently creates a simple-framebuffer device for the provided
framebuffer aperture. But simple-framebuffer is for DeviceTree nodes; not
for coreboot. The simple-framebuffer infrastructure should be phased out
for non-DT use cases. Coreboot is one of the final users of the code
(besides n64).
Patches 1 to 5 start by fixing problems in the coreboot framebuffer
implementation. There is a possible dangling pointer, the memory is
marked as busy, the device hierarchy is incorrect, and a few minor things.
Patches 6 to 9 prepare the coreboot support for use by external drivers.
Specifically, structures for the entries os the coreboot payload table
have to be exported.
Patches 10 to 12 add corebootdrm, a DRM driver for the new
coreboot-framebuffer platform device. Corebootdrm follows the pattern
established by similar drivers. It also uses the same sysfb helpers. It
is therefore fairly small. With patch 11, it has feature parity with
simpledrm on the old simple-framebuffer. Patch 12 adds support for panel-
orientation flags that coreboot makes available.
Tested on an HP Chromebook with MrChromebox 4.16. Runs with Weston and
fbcon. Xorg requires an additional patch available at [1].
v4:
- sort include statements
- remove changelog from commit description in coreboot patch #9
v3:
- avoid packed types for coreboot headers
- comment in various places
- fix typos
v2:
- keep design of coreboot framebuffer code intact
- fix bugs in the coreboot framebuffer code
- rewrite corebootdrm as platform device
- support panel orientation
[1] https://gitlab.freedesktop.org/tzimmermann/xserver/-/commit/0b326aad28549762ed2b0e2bedf8f8a42f1f6b3b
Thomas Zimmermann (12):
firmware: google: framebuffer: Do not unregister platform device
firmware: google: framebuffer: Do not mark framebuffer as busy
firmware: google: framebuffer: Init memory resource with helper macro
firmware: google: framebuffer: Tie platform device to PCI hardware
firmware: google: framebuffer: Fix dependencies
firmware: google: Init coreboot bus with subsys_initcall()
firmware: google: Clean up include statements in coreboot_table.h
firmware: google: Export coreboot table entries
firmware: google: Pack structures for coreboot table entries
drm/sysfb: Generalize pixel-format matching
drm/sysfb: corebootdrm: Add DRM driver for coreboot framebuffers
drm/sysfb: corebootdrm: Support panel orientation
MAINTAINERS | 1 +
drivers/firmware/google/Kconfig | 5 +-
drivers/firmware/google/cbmem.c | 1 +
drivers/firmware/google/coreboot_table.c | 13 +-
drivers/firmware/google/coreboot_table.h | 59 +--
.../firmware/google/framebuffer-coreboot.c | 126 +++--
drivers/firmware/google/memconsole-coreboot.c | 1 +
drivers/firmware/google/vpd.c | 1 +
drivers/gpu/drm/sysfb/Kconfig | 16 +
drivers/gpu/drm/sysfb/Makefile | 1 +
drivers/gpu/drm/sysfb/corebootdrm.c | 434 ++++++++++++++++++
drivers/gpu/drm/sysfb/drm_sysfb.c | 24 +
drivers/gpu/drm/sysfb/drm_sysfb_helper.h | 8 +-
drivers/gpu/drm/sysfb/drm_sysfb_screen_info.c | 30 --
drivers/gpu/drm/sysfb/efidrm.c | 8 +-
drivers/gpu/drm/sysfb/vesadrm.c | 8 +-
include/linux/coreboot.h | 90 ++++
17 files changed, 702 insertions(+), 124 deletions(-)
create mode 100644 drivers/gpu/drm/sysfb/corebootdrm.c
create mode 100644 include/linux/coreboot.h
base-commit: 0082025812a31eda451fb14f13f52683ed375c49
--
2.52.0
next reply other threads:[~2026-02-17 15:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-17 15:56 Thomas Zimmermann [this message]
2026-02-17 15:56 ` [PATCH v4 01/12] firmware: google: framebuffer: Do not unregister platform device Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 02/12] firmware: google: framebuffer: Do not mark framebuffer as busy Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 03/12] firmware: google: framebuffer: Init memory resource with helper macro Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 04/12] firmware: google: framebuffer: Tie platform device to PCI hardware Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 05/12] firmware: google: framebuffer: Fix dependencies Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 06/12] firmware: google: Init coreboot bus with subsys_initcall() Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 07/12] firmware: google: Clean up include statements in coreboot_table.h Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 08/12] firmware: google: Export coreboot table entries Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 09/12] firmware: google: Pack structures for " Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 10/12] drm/sysfb: Generalize pixel-format matching Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 11/12] drm/sysfb: corebootdrm: Add DRM driver for coreboot framebuffers Thomas Zimmermann
2026-02-17 15:56 ` [PATCH v4 12/12] drm/sysfb: corebootdrm: Support panel orientation Thomas Zimmermann
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=20260217155836.96267-1-tzimmermann@suse.de \
--to=tzimmermann@suse.de \
--cc=airlied@gmail.com \
--cc=briannorris@chromium.org \
--cc=chrome-platform@lists.linux.dev \
--cc=dri-devel@lists.freedesktop.org \
--cc=javierm@redhat.com \
--cc=jwerner@chromium.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=samuel@sholland.org \
--cc=simona@ffwll.ch \
--cc=tzungbi@kernel.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