drm/msm/mdp5: Avoid flushing registers when CRTC is disabled
authorStephane Viau <sviau@codeaurora.org>
Fri, 20 Feb 2015 21:30:56 +0000 (16:30 -0500)
committerRob Clark <robdclark@gmail.com>
Wed, 4 Mar 2015 23:23:39 +0000 (18:23 -0500)
commitba0312a6108f5214efb4659c4dbba218c5b9eb8d
treeb27844790dc074c5a228bbd9e227c1d6f9dace55
parent8a4247d645a3b864e3359a5b60d41dc74a7a7b2a
drm/msm/mdp5: Avoid flushing registers when CRTC is disabled

When a CRTC is disabled, no CTL is allocated to it (CRTC->ctl == NULL);
in that case we should not try to FLUSH registers and do nothing instead.

This can happen when we try to move a cursor but the CRTC's CTL
(CONTROL) has not been allocated yet (inactive CRTC).
It can also happens when we .atomic_check()/.atomic_flush() on a
disabled CRTC.

A CTL needs to be kept as long as the CRTC is alive. Releasing it
after the last VBlank is safer than in .atomic_flush().

Signed-off-by: Stephane Viau <sviau@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c