drm/vc4: Add support for SAND modifier.
authorDave Stevenson <dave.stevenson@raspberrypi.org>
Fri, 16 Mar 2018 22:04:35 +0000 (15:04 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 31 May 2018 18:42:44 +0000 (11:42 -0700)
commite065a8dd30af703b4794dc740c0825ee12b92efd
tree6d45d27aced44f92a1582de5bae69ca16ed42d76
parent1e871d65e375280757833d9fce91dda71980bdf5
drm/vc4: Add support for SAND modifier.

This is the format generated by VC4's H.264 engine, and preferred by
the ISP as well.  By displaying SAND buffers directly, we can avoid
needing to use the ISP to rewrite the SAND H.264 output to linear
before display.

This is a joint effort by Dave Stevenson (who wrote the initial patch
and DRM demo) and Eric Anholt (drm_fourcc.h generalization, safety
checks, RGBA support).

v2: Make the parameter macro give all of the middle 48 bits (suggested
    by Daniels).  Fix fourcc_mod_broadcom_mod()'s bits/shift being
    swapped.  Mark NV12/21 as supported, not YUV420.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Cc: Daniel Vetter <daniel@ffwll.ch>
Acked-by: Daniel Stone <daniels@collabora.com> (v1)
Cc: Boris Brezillon <boris.brezillon@bootlin.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180316220435.31416-3-eric@anholt.net
drivers/gpu/drm/vc4/vc4_plane.c
drivers/gpu/drm/vc4/vc4_regs.h
include/uapi/drm/drm_fourcc.h