[PATCH 00/10] drm/sun4i: Frontend YUV and MB32 tile modifier support
Paul Kocialkowski
paul.kocialkowski at bootlin.com
Wed Mar 21 08:28:54 PDT 2018
This introduces support for YUV formats in the sun4i DRM driver, through
the frontend. In addition to regular YUV formats, a modifier for the
Allwinner MB32 tiling format is introduced along with a dedicated ioctl
for allocating buffers (through CMA) with the appropriate constraints.
This ioctl must always be used when allocating buffers to be used with
the MB32 tiling modifier, as dumb GEM buffer allocation is reserved for
linear planes.
This series is based on (and requires) the following series:
* drm/sun4i: backend: Support interleaved YUV planes,
from Maxime Ripard: https://patchwork.freedesktop.org/series/39232/
* drm/sun4i: Support the Display Engine frontend,
from Maxime Ripard: https://patchwork.freedesktop.org/series/35292/
* drm/sun4i: Support more planes, zpos and plane-wide alpha,
from Maxime Ripard: https://patchwork.freedesktop.org/series/36183/
Paul Kocialkowski (10):
drm/sun4i: Disable frontend video channel before enabling a layer
drm/sun4i: Disable YUV channel when using the frontend and set
interlace
drm/sun4i: Don't pretend to handle ARGB8888 with the frontend
drm/sun4i: Explicitly list and check formats supported by the backend
drm/sun4i: Explicitly list and check formats supported by the frontend
drm/sun4i: Move and extend format-related helpers and tables
drm/sun4i: Add support for YUV formats through the frontend
drm/fourcc: Add definitions for Allwinner vendor and MB32 tiled format
drm/sun4i: Add a dedicated ioctl call for allocating tiled buffers
drm/sun4i: Add support for YUV-based formats in MB32 tiles
drivers/gpu/drm/sun4i/Makefile | 1 +
drivers/gpu/drm/sun4i/sun4i_backend.c | 148 +++++++++-----
drivers/gpu/drm/sun4i/sun4i_backend.h | 6 +-
drivers/gpu/drm/sun4i/sun4i_drv.c | 108 +++++++++-
drivers/gpu/drm/sun4i/sun4i_drv.h | 6 +
drivers/gpu/drm/sun4i/sun4i_format.c | 193 ++++++++++++++++++
drivers/gpu/drm/sun4i/sun4i_format.h | 35 ++++
drivers/gpu/drm/sun4i/sun4i_frontend.c | 359 +++++++++++++++++++++++++++++----
drivers/gpu/drm/sun4i/sun4i_frontend.h | 50 ++++-
drivers/gpu/drm/sun4i/sun4i_layer.c | 58 ++++--
include/uapi/drm/drm_fourcc.h | 10 +
include/uapi/drm/sun4i_drm.h | 42 ++++
12 files changed, 910 insertions(+), 106 deletions(-)
create mode 100644 drivers/gpu/drm/sun4i/sun4i_format.c
create mode 100644 drivers/gpu/drm/sun4i/sun4i_format.h
create mode 100644 include/uapi/drm/sun4i_drm.h
--
2.16.2
More information about the linux-arm-kernel
mailing list