drm/fsl-dcu: disable planes before disabling CRTC
authorStefan Agner <stefan@agner.ch>
Mon, 31 Oct 2016 16:51:19 +0000 (09:51 -0700)
committerStefan Agner <stefan@agner.ch>
Wed, 9 Nov 2016 01:14:08 +0000 (17:14 -0800)
commit3d6f37102bd6e4b55a7f336d44974c0bd1c22a15
tree4ac427729a6a726d1319c585bcaf21acb89b0d64
parent93daeeca2c9472a47d419884a64f6ca2b7f006e4
drm/fsl-dcu: disable planes before disabling CRTC

After disabling and reenabling the CRTC the DCU sometimes got stuck
displaying the whole screen with a solid color. Disabling and
reenabling the CRTC did not recover from the situation. This was
often reproducable by just restarting the X-Server.

The disabling sequence is not explicitly documented. But it turns
out that disabling the planes before disabling the CRTC seems to
prevent the above situation from happening.

Use the callback ->atomic_disable instead of ->disable which allows
to use the drm_atomic_helper_disable_planes_on_crtc() helper to
disable planes before disabling the controller.

Signed-off-by: Stefan Agner <stefan@agner.ch>
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c