linux/drivers/gpu/drm/msm/mdp4
Rob Clark 2a2b8fa628 drm/msm/mdp4: page_flip cleanups/fixes
There were a few potential problems with the original page_flip/vblank
code in mdp4_crtc.

1) We need vblank irq for a couple things, both completing flips and
   updating cursor.  We need to keep track of what work is pending so
   that (for example) a cursor update while we are still waiting for
   pageflip_cb (ie. pageflip requested from userspace, but still
   waiting for rendering to complete) would not prematurely trigger
   event to userspace.

2) A preclose -> pageflip-cancel should not cancel a pageflip that
   was requested on a different file (ie. non-master closing should
   not cancel a pending pageflip).

With these fixes, we no longer have problems w/ cursor not updating and
with occasional hangs with userspace waiting for a pageflip that had
been cancelled (launching XBMC from gnome-shell overview mode was a good
way to trigger this, but now works reliably).

Signed-off-by: Rob Clark <robdclark@gmail.com>
2013-11-01 12:39:45 -04:00
..
mdp4.xml.h drm/msm: resync generated headers 2013-11-01 12:39:44 -04:00
mdp4_crtc.c drm/msm/mdp4: page_flip cleanups/fixes 2013-11-01 12:39:45 -04:00
mdp4_dtv_encoder.c drm/msm: convert to drm_bridge 2013-09-02 10:23:35 +10:00
mdp4_format.c drm/msm: add plane support 2013-11-01 12:39:44 -04:00
mdp4_irq.c drm/msm: basic KMS driver for snapdragon 2013-08-24 14:57:07 -04:00
mdp4_kms.c drm/msm/mdp4: page_flip cleanups/fixes 2013-11-01 12:39:45 -04:00
mdp4_kms.h drm/msm/mdp4: page_flip cleanups/fixes 2013-11-01 12:39:45 -04:00
mdp4_plane.c drm/msm: add plane support 2013-11-01 12:39:44 -04:00