1. 11 Oct, 2019 1 commit
  2. 26 Sep, 2019 1 commit
    • Michel Dänzer's avatar
      Don't unreference FBs of pixmaps from different screens in LeaveVT · a1b72632
      Michel Dänzer authored
      FindClientResourcesByType finds pixmaps from all screens, but trying to
      process ones from other screens here makes no sense and likely results
      in a crash or memory corruption.
      
      Fixes: c16ff42f ("Make all active CRTCs scan out an all-black
                            framebuffer in LeaveVT")
      (Ported from radeon commit 2faaecc69b127248718e759c6c98c84d56dd1b6b)
      a1b72632
  3. 18 Sep, 2019 1 commit
  4. 07 Aug, 2019 3 commits
  5. 30 Jul, 2019 1 commit
  6. 05 Jul, 2019 1 commit
  7. 25 Jun, 2019 1 commit
  8. 14 Jun, 2019 2 commits
  9. 10 Jun, 2019 1 commit
  10. 30 Apr, 2019 1 commit
  11. 18 Apr, 2019 1 commit
  12. 19 Mar, 2019 1 commit
  13. 07 Mar, 2019 1 commit
  14. 06 Mar, 2019 1 commit
  15. 04 Mar, 2019 3 commits
  16. 01 Mar, 2019 2 commits
  17. 27 Feb, 2019 1 commit
  18. 22 Feb, 2019 2 commits
  19. 20 Feb, 2019 2 commits
  20. 12 Feb, 2019 1 commit
  21. 11 Feb, 2019 1 commit
  22. 07 Feb, 2019 1 commit
  23. 25 Jan, 2019 2 commits
    • Michel Dänzer's avatar
      Keep waiting for a pending flip if drm_handle_event returns 0 · 9045fb31
      Michel Dänzer authored
      drm_wait_pending_flip stopped waiting if drm_handle_event returned 0,
      but that might have processed only some unrelated DRM events. As long as
      the flip is pending, we have to keep waiting for its completion event.
      
      Noticed while working on the previous fix.
      Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      9045fb31
    • Michel Dänzer's avatar
      Call drmHandleEvent again if it was interrupted by a signal · 3ff2cc22
      Michel Dänzer authored
      drmHandleEvent can be interrupted by a signal in read(), in which case
      it doesn't process any events but returns -1, which
      drm_handle_event propagated to its callers. This could cause the
      following failure cascade:
      
      1. drm_wait_pending_flip stopped waiting for a pending flip.
      2. Its caller cleared drmmode_crtc->flip_pending before the flip
         completed.
      3. Another flip was attempted but got an unexpected EBUSY error because
         the previous flip was still pending.
      4. TearFree was disabled due to the error.
      
      The solution is to call drmHandleEvent if it was interrupted by a
      signal. We can do that in drm_handle_event, because when that is called,
      either it is known that there are events ready to be processed, or the
      caller has to wait for events to arrive anyway.
      
      v2:
      * Use ErrorF instead of xf86DrvMsg with hard-coded screen 0.
      
      Bugzilla: https://bugs.freedesktop.org/109364
      Reviewed-by: Alex Deucher <alexander.deucher@amd.com> # v1
      3ff2cc22
  24. 17 Jan, 2019 1 commit
  25. 16 Jan, 2019 3 commits
  26. 11 Jan, 2019 1 commit
  27. 10 Jan, 2019 2 commits
  28. 20 Dec, 2018 1 commit