[PATCH v2 0/2] drm/tegra: Support YVU420
From: Aaron Kling via B4 Relay
Date: Sun Oct 18 2026 - 18:04:05 EST
This is not directly supported by the display controller hardware.
However, this can be handled efficiently by just passing the chroma
planes to the hardware backwards and reporting it as yuv420.
The format is required by AOSP for software decoded video playback among
other things. An attempt was made to handle this in gralloc by swapping
the chroma planes there, but it wasn't working. This kernel
implementation is working and is more generic anyways. This has been
verified on a SHIELD TV 2019 Pro for the tegradc path and a Jetson TX2
NX for the nvdisplay path.
---
Changes in v2:
- In patch 1, simplify pre-nvdisplay path to a swap of the window base
address
- In patch 1, address sashiko report about failure to copy the new
struct entry in duplicate_state
- In patch 2, address sashiko report that yvu420 was missing from
tegra20_overlays when the targets already support yuv420.
- Link to v1: https://lore.kernel.org/r/20261008-tegra-drm-yvu420-v1-0-dc1c443c00f3@xxxxxxxxx
---
Aaron Kling (2):
drm/tegra: Support swapping chroma planes
drm/tegra: Support YVU420
drivers/gpu/drm/tegra/dc.c | 9 ++++++++-
drivers/gpu/drm/tegra/hub.c | 15 ++++++++++-----
drivers/gpu/drm/tegra/plane.c | 13 ++++++++++++-
drivers/gpu/drm/tegra/plane.h | 3 ++-
4 files changed, 32 insertions(+), 8 deletions(-)
---
base-commit: 2efb7a11f1aa4d2dc285fe2680cca22cb9f72f64
change-id: 20261008-tegra-drm-yvu420-1dbb7140e54a
Best regards,
--
Aaron Kling <webgeek1234@xxxxxxxxx>