OpenCloudOS-Kernel/drivers/gpu/drm/omapdrm
Tomi Valkeinen 5f741b39dd drm: omapdrm: new vblank and event handling
Rework the crtc event/flip_wait system as follows:

- If we enable a crtc (full modeset), we set omap_crtc->pending and
  register vblank irq.

- If we need to set GO bit (page flip), we do the same but also set the
  GO bit.

- On vblank we unregister the irq, clear the 'pending' flag, send vblank
  event to userspace if crtc->state->event != NULL, and wake up
  'pending_wait' wq.

- In omap_atomic_complete() we wait for the 'pending' flag to get reset
  for all enabled crtcs  using 'pending_wait' wq.

The above ensures that we send the events to userspace in vblank, and
that after the wait in omap_atomic_complete() everything for the
affected crtcs has been completed.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2015-06-12 23:30:47 +03:00
..
Kconfig drm: Add separate Kconfig option for fbdev helpers 2013-10-11 23:36:58 +02:00
Makefile drm/omap: kill omap_gem_helpers.c 2013-08-19 10:36:16 +10:00
TODO drm/omap: move out of staging 2013-02-16 17:38:06 -05:00
omap_connector.c drm: omapdrm: Switch connector DPMS to atomic helpers 2015-06-12 22:52:48 +03:00
omap_crtc.c drm: omapdrm: new vblank and event handling 2015-06-12 23:30:47 +03:00
omap_debugfs.c drm: omapdrm: Clean up #include's 2015-06-12 22:52:46 +03:00
omap_dmm_priv.h drm/omap: fix race conditon in DMM 2015-03-24 13:50:59 +02:00
omap_dmm_tiler.c drm: omapdrm: Clean up #include's 2015-06-12 22:52:46 +03:00
omap_dmm_tiler.h drm/omap: fix TILER on OMAP5 2015-03-24 13:50:55 +02:00
omap_drv.c drm: omapdrm: new vblank and event handling 2015-06-12 23:30:47 +03:00
omap_drv.h drm: omapdrm: new vblank and event handling 2015-06-12 23:30:47 +03:00
omap_encoder.c drm: omapdrm: Move encoder setup to encoder operations 2015-06-12 22:52:50 +03:00
omap_fb.c drm: omapdrm: add lock for fb pinning 2015-06-12 22:52:51 +03:00
omap_fbdev.c drm: omapdrm: Clean up #include's 2015-06-12 22:52:46 +03:00
omap_gem.c drm: omapdrm: Clean up #include's 2015-06-12 22:52:46 +03:00
omap_gem_dmabuf.c drm: omapdrm: Clean up #include's 2015-06-12 22:52:46 +03:00
omap_irq.c drm: omapdrm: Turn vblank on/off when enabling/disabling CRTC 2015-06-12 22:52:46 +03:00
omap_plane.c drm: omapdrm: if omap_plane_atomic_update fails, disable plane 2015-06-12 22:52:51 +03:00
tcm-sita.c drm/omap: move out of staging 2013-02-16 17:38:06 -05:00
tcm-sita.h drm/omap: move out of staging 2013-02-16 17:38:06 -05:00
tcm.h drm/omap: move out of staging 2013-02-16 17:38:06 -05:00