summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/zte/zx_plane.h
diff options
context:
space:
mode:
authorShawn Guo2016-12-29 01:03:03 +0100
committerShawn Guo2017-01-28 03:17:40 +0100
commit7254b1f91ebc221ef71f7b23129a2ec0558e50cb (patch)
treef362a64318e12f572d9cae3122e5857eeb372660 /drivers/gpu/drm/zte/zx_plane.h
parentdrm: zte: make zx_plane accessible from zx_vou driver (diff)
downloadkernel-qcow2-linux-7254b1f91ebc221ef71f7b23129a2ec0558e50cb.tar.gz
kernel-qcow2-linux-7254b1f91ebc221ef71f7b23129a2ec0558e50cb.tar.xz
kernel-qcow2-linux-7254b1f91ebc221ef71f7b23129a2ec0558e50cb.zip
drm: zte: add .atomic_disable hook to disable graphic layer
There are a few hardware bits for each graphic layer to control main/aux channel and clock selection, as well as the layer enabling. These bits sit outside the layer block itself, but in VOU control glue block. We currently set these bits up at CRTC initialization for once, and do not support disabling the layer. This patch creates a pair of functions zx_vou_layer_enable[disable] to be invoked from plane hooks .atomic_update and .atomic_disable to set up and tear down the layer. This is generic for both graphic and video layers, so it will make the overlay plane support to be added later much easier. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Reviewed-by: Sean Paul <seanpaul@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/zte/zx_plane.h')
-rw-r--r--drivers/gpu/drm/zte/zx_plane.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/zte/zx_plane.h b/drivers/gpu/drm/zte/zx_plane.h
index 264a92e0b532..933611ddffd0 100644
--- a/drivers/gpu/drm/zte/zx_plane.h
+++ b/drivers/gpu/drm/zte/zx_plane.h
@@ -18,6 +18,7 @@ struct zx_plane {
void __iomem *csc;
void __iomem *hbsc;
void __iomem *rsz;
+ const struct vou_layer_bits *bits;
};
#define to_zx_plane(plane) container_of(plane, struct zx_plane, plane)