drm: zte: add .atomic_disable hook to disable graphic layer
authorShawn Guo <shawn.guo@linaro.org>
Thu, 29 Dec 2016 00:03:03 +0000 (08:03 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Sat, 28 Jan 2017 02:17:40 +0000 (10:17 +0800)
commit7254b1f91ebc221ef71f7b23129a2ec0558e50cb
treef362a64318e12f572d9cae3122e5857eeb372660
parent98ae9869d187ab737b5b231e7879d15e1e9a763d
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>
drivers/gpu/drm/zte/zx_plane.c
drivers/gpu/drm/zte/zx_plane.h
drivers/gpu/drm/zte/zx_vou.c
drivers/gpu/drm/zte/zx_vou.h