Skip to content
Snippets Groups Projects
  1. Apr 07, 2017
  2. Mar 30, 2017
  3. Mar 25, 2017
  4. Mar 24, 2017
  5. Mar 22, 2017
  6. Mar 17, 2017
  7. Mar 14, 2017
  8. Mar 13, 2017
  9. Mar 07, 2017
    • Emmanuel Gil Peyrot's avatar
      compositor-drm: pageflip timeout implementation · 11ae2a30
      Emmanuel Gil Peyrot authored and Pekka Paalanen's avatar Pekka Paalanen committed
      Weston will not repaint until previous update has been acked by a
      pageflip event coming from the drm driver. However, some buggy drivers
      won’t return those events or will stop sending them at some point and
      Weston output repaints will completely freeze. To ease developers’ task
      in testing their drivers, this patch makes compositor-drm use a timer
      to detect cases where those pageflip events stop coming.
      
      This timeout implementation is software only and includes basic
      features usually found in a watchdog. We simply exit Weston gracefully
      with a log message and an exit code when the timout is reached.
      
      The timeout value can be set via weston.ini by adding a
      pageflip-timeout=<MILLISECONDS> entry under [core]
      section. Setting it to 0 disables the timeout feature.
      
      v2:
      - Made sure we would get both the pageflip and the vblank events before
        stopping the timer.
      - Reordered the error and success cases in
        drm_output_pageflip_timer_create() to be more in line with the rest
        of the code.
      
      v3:
      - Reordered (de)arming of the timer with the code around it to avoid it
        being rearmed before the current dearming.
      - Return the proper value for the dispatcher in the pageflip_timeout
        callback.
      - Also display the output name in case the timer fires.
      
      v4:
      - Reordered a forgotten timer rearming after its drmModePageFlip().
      
      Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=83884
      
      
      Signed-off-by: Frederic Plourde <frederic.plourde at collabora.co.uk>
      Signed-off-by: default avatarEmmanuel Gil Peyrot <emmanuel.peyrot@collabora.com>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      11ae2a30
  10. Feb 27, 2017
  11. Feb 13, 2017
  12. Feb 09, 2017
  13. Feb 07, 2017
  14. Feb 06, 2017
  15. Feb 04, 2017
  16. Jan 30, 2017
Loading