drm/msm/mdp4: cure for the cursor blues (v2)
authorRob Clark <robdclark@gmail.com>
Tue, 22 Apr 2014 16:27:28 +0000 (12:27 -0400)
committerRob Clark <robdclark@gmail.com>
Fri, 25 Apr 2014 12:58:23 +0000 (08:58 -0400)
commit7d8d9f670513593377cd1442f987ce03a64ba55d
tree1961f2cd4a040a0525fb806196ddce33360a0ab9
parent96673ecbd7f638c0865045377a44f53cd8606850
drm/msm/mdp4: cure for the cursor blues (v2)

The hw cursor is relatively adept at triggering underflows, which
manifest as a "blue flash" (since blue is configured as the underflow
color).  Juggle a few things around to tighten up the timing for setting
cursor registers in DONE irq.

And most importantly, don't ever disable the hw cursor.  Instead flip it
to a blank/empty cursor.  This seems far more reliable, as even simply
clearing the cursor-enable bit (with no other updates in previous/
following frames) can in some cases cause underflow.

v1: original
v2: add missing locking spotted by Micah

Cc: Micah Richert <richert@braincorporation.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
drivers/gpu/drm/msm/mdp/mdp4/mdp4_irq.c
drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c
drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h
drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c