From: Thierry Reding <thierry.reding@gmail.com>
To: David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Thierry Reding <thierry.reding@gmail.com>
Cc: Jon Hunter <jonathanh@nvidia.com>,
Robin Murphy <robin.murphy@arm.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org,
devicetree@vger.kernel.org
Subject: [PATCH v2 0/7] drm/simpledrm: Support system memory framebuffers
Date: Fri, 7 Oct 2022 14:49:39 +0200 [thread overview]
Message-ID: <20221007124946.406808-1-thierry.reding@gmail.com> (raw)
From: Thierry Reding <treding@nvidia.com>
Hi,
this series of patches adds support for framebuffers residing in system
memory to the simple-framebuffer DRM driver. To do this, the DT bindings
are extended do accept the memory-region property in addition to the reg
property for specifying the framebuffer memory. This is done because the
framebuffer memory will typically also need to be marked as reserved so
that the operating system will not reuse it and the memory-region
property is the standard property to reference reserved memory regions.
A new compatible string is documented to annotate the framebuffer memory
regions and the simpledrm driver has code added to bind such annotated
regions to the simple-framebuffer device.
The second half of the series then adds support for the XB24 and AB24
formats and ties it all together to provide a simple-framebuffer on
Jetson Xavier NX. It should be noted, though, that the Jetson Xavier NX
device tree nodes are placeholders only and it is expected that firmware
or a bootloader will fill these in at runtime, due to the variable
nature of the values that they contain.
This example also uses (but doesn't depend on) the iommu-addresses
property that has been proposed and which will hopefully be merged soon.
Version 1 of these patches can be found here:
https://lore.kernel.org/all/20220905163300.391692-1-thierry.reding@gmail.com/
Changes in v2:
- DT fields are now cleared so that they can be filled in at runtime
- add XB24 support and treat AB24 the same (alpha bits are unused)
- consistently use struct iosys_map
- fix issues with DT bindings
I've tested these with a simple UEFI implementation that will fill in
the placeholder values and set the simple-framebuffer's status property
to "okay".
Thierry
Thierry Reding (7):
dt-bindings: display: simple-framebuffer: Support system memory
framebuffers
dt-bindings: display: simple-framebuffer: Document 32-bit BGR format
dt-bindings: reserved-memory: Support framebuffer reserved memory
drm/simpledrm: Add support for system memory framebuffers
drm/format-helper: Support the XB24 format
drm/simpledrm: Support the XB24/AB24 format
arm64: tegra: Add simple framebuffer on Jetson Xavier NX
.../bindings/display/simple-framebuffer.yaml | 7 +
.../bindings/reserved-memory/framebuffer.yaml | 52 +++++
.../nvidia/tegra194-p3509-0000+p3668-0001.dts | 33 ++++
arch/arm64/boot/dts/nvidia/tegra194.dtsi | 2 +-
drivers/gpu/drm/drm_format_helper.c | 37 ++++
drivers/gpu/drm/tiny/simpledrm.c | 179 ++++++++++++++----
include/linux/platform_data/simplefb.h | 1 +
7 files changed, 274 insertions(+), 37 deletions(-)
create mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
--
2.37.3
next reply other threads:[~2022-10-07 12:49 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-07 12:49 Thierry Reding [this message]
2022-10-07 12:49 ` [PATCH v2 1/7] dt-bindings: display: simple-framebuffer: Support system memory framebuffers Thierry Reding
2022-10-07 14:00 ` Rob Herring
2022-10-10 9:37 ` Thomas Zimmermann
2022-10-17 14:38 ` Thierry Reding
2022-10-07 12:49 ` [PATCH v2 2/7] dt-bindings: display: simple-framebuffer: Document 32-bit BGR format Thierry Reding
2022-10-07 14:01 ` Rob Herring
2022-10-07 12:49 ` [PATCH v2 3/7] dt-bindings: reserved-memory: Support framebuffer reserved memory Thierry Reding
2022-10-07 14:01 ` Rob Herring
2022-10-07 12:49 ` [PATCH v2 4/7] drm/simpledrm: Add support for system memory framebuffers Thierry Reding
2022-10-10 8:12 ` Thomas Zimmermann
2022-10-17 14:54 ` Thierry Reding
2022-10-17 18:15 ` Rob Herring
2022-10-18 10:46 ` Thierry Reding
2022-10-18 15:32 ` Rob Herring
2022-10-18 11:58 ` Thomas Zimmermann
2022-10-18 15:13 ` Thierry Reding
2022-10-19 12:25 ` Thomas Zimmermann
2022-10-07 12:49 ` [PATCH v2 5/7] drm/format-helper: Support the XB24 format Thierry Reding
2022-10-07 12:49 ` [PATCH v2 6/7] drm/simpledrm: Support the XB24/AB24 format Thierry Reding
2022-10-07 12:49 ` [PATCH v2 7/7] arm64: tegra: Add simple framebuffer on Jetson Xavier NX Thierry Reding
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=20221007124946.406808-1-thierry.reding@gmail.com \
--to=thierry.reding@gmail.com \
--cc=airlied@linux.ie \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jonathanh@nvidia.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-tegra@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=robin.murphy@arm.com \
--cc=tzimmermann@suse.de \
/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;
as well as URLs for NNTP newsgroup(s).