linux/drivers/gpu/drm/msm
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
..
adreno drm/msm: resync generated headers 2013-11-01 12:39:44 -04:00
dsi drm/msm: resync generated headers 2013-11-01 12:39:44 -04:00
hdmi drm/msm: resync generated headers 2013-11-01 12:39:44 -04:00
mdp4 drm/msm/mdp4: page_flip cleanups/fixes 2013-11-01 12:39:45 -04:00
Kconfig drm/msm: basic KMS driver for snapdragon 2013-08-24 14:57:07 -04:00
Makefile drm/msm: prime support 2013-11-01 12:39:44 -04:00
msm_drv.c drm/msm: rework inactive-work 2013-11-01 12:39:45 -04:00
msm_drv.h drm/msm: rework inactive-work 2013-11-01 12:39:45 -04:00
msm_fb.c drm/msm: basic KMS driver for snapdragon 2013-08-24 14:57:07 -04:00
msm_fbdev.c drm/msm: basic KMS driver for snapdragon 2013-08-24 14:57:07 -04:00
msm_gem_prime.c drm/msm: prime support 2013-11-01 12:39:44 -04:00
msm_gem_submit.c drm/msm: fix cmdstream size check 2013-09-10 13:57:42 -04:00
msm_gem.c drm/msm: EBUSY status handling in msm_gem_fault() 2013-11-01 12:39:45 -04:00
msm_gem.h drm/msm: rework inactive-work 2013-11-01 12:39:45 -04:00
msm_gpu.c drm/msm: rework inactive-work 2013-11-01 12:39:45 -04:00
msm_gpu.h drm/msm: add basic hangcheck/recovery mechanism 2013-08-24 14:57:19 -04:00
msm_ringbuffer.c drm/msm: add a3xx gpu support 2013-08-24 14:57:18 -04:00
msm_ringbuffer.h drm/msm: add a3xx gpu support 2013-08-24 14:57:18 -04:00
NOTES drm/msm: basic KMS driver for snapdragon 2013-08-24 14:57:07 -04:00