1. 19 6月, 2015 27 次提交
  2. 16 6月, 2015 12 次提交
  3. 13 6月, 2015 1 次提交
    • T
      drm: omapdrm: new vblank and event handling · 5f741b39
      Tomi Valkeinen 提交于
      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: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      5f741b39