1. 23 2月, 2016 1 次提交
  2. 20 2月, 2016 1 次提交
    • M
      drm/amdgpu: Don't hang in amdgpu_flip_work_func on disabled crtc. · e1d09dc0
      Mario Kleiner 提交于
      This fixes a regression introduced in Linux 4.4.
      
      This is a port of the same fix for radeon-kms in the
      patch "drm/radeon: Don't hang in radeon_flip_work_func
      on disabled crtc. (v2)"
      
      Limit the amount of time amdgpu_flip_work_func can
      delay programming a page flip, by both limiting the
      maximum amount of time per wait cycle and the maximum
      number of wait cycles. Continue the flip if the limit
      is exceeded, even if that may result in a visual or
      timing glitch.
      
      This is to prevent a hang of page flips, as reported
      in fdo bug #93746: Disconnecting a DisplayPort display
      in parallel to a kms pageflip getting queued can cause
      the following hang of page flips and thereby an unusable
      desktop:
      
      1. kms pageflip ioctl() queues pageflip -> queues execution
         of amdgpu_flip_work_func.
      
      2. Hotunplug of display causes the driver to DPMS OFF
         the unplugged display. Display engine shuts down,
         scanout no longer moves, but stays at its resting
         position at start line of vblank.
      
      3. amdgpu_flip_work_func executes while crtc is off, and
         due to the non-moving scanout position, the new flip
         delay code introduced into Linux 4.4 by
         commit 8e36f9d3 ("drm/amdgpu: Fixup hw vblank counter/ts..")
         enters an infinite wait loop.
      
      4. After reconnecting the display, the pageflip continues
         to hang in 3. and the display doesn't update its view
         of the desktop.
      
      This patch fixes the Linux 4.4 regression from fdo bug #93746
      
      <https://bugs.freedesktop.org/show_bug.cgi?id=93746>
      Reported-by: NBernd Steinhauser <linux@bernd-steinhauser.de>
      Signed-off-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      
      Cc: <stable@vger.kernel.org> # 4.4+
      Cc: Michel Dänzer <michel.daenzer@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NMichel Dänzer <michel.daenzer@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      e1d09dc0
  3. 16 2月, 2016 1 次提交
  4. 11 2月, 2016 4 次提交
  5. 08 2月, 2016 10 次提交
  6. 04 2月, 2016 1 次提交
  7. 03 2月, 2016 10 次提交
  8. 02 2月, 2016 1 次提交
  9. 30 1月, 2016 1 次提交
  10. 29 1月, 2016 1 次提交
  11. 28 1月, 2016 1 次提交
  12. 26 1月, 2016 1 次提交
  13. 23 1月, 2016 1 次提交
  14. 22 1月, 2016 2 次提交
  15. 20 1月, 2016 2 次提交
  16. 16 1月, 2016 2 次提交