All of lore.kernel.org
 help / color / mirror / Atom feed
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>,
	dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: [PATCH 0/6] drm/simpledrm: Support system memory framebuffers
Date: Mon,  5 Sep 2022 18:32:54 +0200	[thread overview]
Message-ID: <20220905163300.391692-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 AB24 format 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 an example only and ultimately these will be generated (or at
least filled in) at runtime because of 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.

Thierry

Thierry Reding (6):
  dt-bindings: display: simple-framebuffer: Support system memory
    framebuffers
  dt-bindings: reserved-memory: Support framebuffer reserved memory
  drm/simpledrm: Add support for system memory framebuffers
  drm/format-helper: Support the AB24 format
  drm/simpledrm: Support the AB24 format
  arm64: tegra: Add simple framebuffer on Jetson Xavier NX

 .../bindings/display/simple-framebuffer.yaml  |   5 +
 .../bindings/reserved-memory/framebuffer.yaml |  46 +++++
 .../nvidia/tegra194-p3509-0000+p3668-0001.dts |  32 ++++
 arch/arm64/boot/dts/nvidia/tegra194.dtsi      |   2 +-
 drivers/gpu/drm/drm_format_helper.c           |  35 ++++
 drivers/gpu/drm/tiny/simpledrm.c              | 167 ++++++++++++++----
 6 files changed, 255 insertions(+), 32 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml

-- 
2.37.2


WARNING: multiple messages have this Message-ID (diff)
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: linux-tegra@vger.kernel.org, devicetree@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	Jon Hunter <jonathanh@nvidia.com>
Subject: [PATCH 0/6] drm/simpledrm: Support system memory framebuffers
Date: Mon,  5 Sep 2022 18:32:54 +0200	[thread overview]
Message-ID: <20220905163300.391692-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 AB24 format 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 an example only and ultimately these will be generated (or at
least filled in) at runtime because of 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.

Thierry

Thierry Reding (6):
  dt-bindings: display: simple-framebuffer: Support system memory
    framebuffers
  dt-bindings: reserved-memory: Support framebuffer reserved memory
  drm/simpledrm: Add support for system memory framebuffers
  drm/format-helper: Support the AB24 format
  drm/simpledrm: Support the AB24 format
  arm64: tegra: Add simple framebuffer on Jetson Xavier NX

 .../bindings/display/simple-framebuffer.yaml  |   5 +
 .../bindings/reserved-memory/framebuffer.yaml |  46 +++++
 .../nvidia/tegra194-p3509-0000+p3668-0001.dts |  32 ++++
 arch/arm64/boot/dts/nvidia/tegra194.dtsi      |   2 +-
 drivers/gpu/drm/drm_format_helper.c           |  35 ++++
 drivers/gpu/drm/tiny/simpledrm.c              | 167 ++++++++++++++----
 6 files changed, 255 insertions(+), 32 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml

-- 
2.37.2


             reply	other threads:[~2022-09-05 16:33 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-05 16:32 Thierry Reding [this message]
2022-09-05 16:32 ` [PATCH 0/6] drm/simpledrm: Support system memory framebuffers Thierry Reding
2022-09-05 16:32 ` [PATCH 1/6] dt-bindings: display: simple-framebuffer: " Thierry Reding
2022-09-05 16:32   ` Thierry Reding
2022-09-05 16:32 ` [PATCH 2/6] dt-bindings: reserved-memory: Support framebuffer reserved memory Thierry Reding
2022-09-05 16:32   ` Thierry Reding
2022-09-06  2:29   ` Rob Herring
2022-09-06  2:29     ` Rob Herring
2022-09-06 14:27   ` Rob Herring
2022-09-06 14:27     ` Rob Herring
2022-09-14 16:05     ` Thierry Reding
2022-09-14 16:05       ` Thierry Reding
2022-09-05 16:32 ` [PATCH 3/6] drm/simpledrm: Add support for system memory framebuffers Thierry Reding
2022-09-05 16:32   ` Thierry Reding
2022-09-24 11:43   ` kernel test robot
2022-09-24 11:43     ` kernel test robot
2022-09-05 16:32 ` [PATCH 4/6] drm/format-helper: Support the AB24 format Thierry Reding
2022-09-05 16:32   ` Thierry Reding
2022-09-07  7:23   ` Thomas Zimmermann
2022-09-14 16:09     ` Thierry Reding
2022-09-14 16:09       ` Thierry Reding
2022-09-05 16:32 ` [PATCH 5/6] drm/simpledrm: " Thierry Reding
2022-09-05 16:32   ` Thierry Reding
2022-09-07  7:12   ` Thomas Zimmermann
2022-09-05 16:33 ` [PATCH 6/6] arm64: tegra: Add simple framebuffer on Jetson Xavier NX Thierry Reding
2022-09-05 16:33   ` 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=20220905163300.391692-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 \
    /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.