1. 26 10月, 2017 1 次提交
  2. 25 10月, 2017 3 次提交
  3. 19 10月, 2017 1 次提交
  4. 18 10月, 2017 4 次提交
  5. 17 10月, 2017 1 次提交
  6. 14 10月, 2017 1 次提交
  7. 13 10月, 2017 1 次提交
  8. 12 10月, 2017 2 次提交
  9. 11 10月, 2017 1 次提交
  10. 10 10月, 2017 7 次提交
  11. 09 10月, 2017 2 次提交
  12. 06 10月, 2017 4 次提交
  13. 04 10月, 2017 2 次提交
  14. 03 10月, 2017 1 次提交
  15. 27 9月, 2017 1 次提交
  16. 22 9月, 2017 1 次提交
  17. 21 9月, 2017 1 次提交
  18. 19 9月, 2017 1 次提交
  19. 13 9月, 2017 2 次提交
  20. 11 9月, 2017 1 次提交
  21. 08 9月, 2017 2 次提交
    • M
      drm/atomic: Make async plane update checks work as intended, v2. · 669c9215
      Maarten Lankhorst 提交于
      By always keeping track of the last commit in plane_state, we know
      whether there is an active update on the plane or not. With that
      information we can reject the fast update, and force the slowpath
      to be used as was originally intended.
      
      We cannot use plane_state->crtc->state here, because this only mentions
      the most recent commit for the crtc, but not the planes that were part
      of it. We specifically care about what the last commit involving this
      plane is, which can only be tracked with a pointer in the plane state.
      
      Changes since v1:
      - Clean up the whole function here, instead of partially earlier.
      - Add mention in the commit message why we need commit in plane_state.
      - Swap plane->state in intel_legacy_cursor_update, instead of
        reassigning all variables. With this commit We know that the cursor
        is not part of any active commits so this hack can be removed.
      
      Cc: Gustavo Padovan <gustavo.padovan@collabora.com>
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: NGustavo Padovan <gustavo.padovan@collabora.com>
      Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> #v1
      Link: https://patchwork.freedesktop.org/patch/msgid/20170904104838.23822-7-maarten.lankhorst@linux.intel.com
      [mlankhorst: Amend commit for merge conflicts with drm-intel]
      669c9215
    • M
      drm/atomic: Fix freeing connector/plane state too early by tracking commits, v3. · 21a01abb
      Maarten Lankhorst 提交于
      Currently we neatly track the crtc state, but forget to look at
      plane/connector state.
      
      When doing a nonblocking modeset, immediately followed by a setprop
      before the modeset completes, the setprop will see the modesets new
      state as the old state and free it.
      
      This has to be solved by waiting for hw_done on the connector, even
      if it's not assigned to a crtc. When a connector is unbound we take
      the last crtc commit, and when it stays unbound we create a new
      fake crtc commit for that gets signaled on hw_done for all the
      planes/connectors.
      
      We wait for it the same way as we do for crtc's, which will make
      sure we never run into a use-after-free situation.
      
      Changes since v1:
      - Only create a single disable commit. (danvet)
      - Fix leak in intel_legacy_cursor_update.
      Changes since v2:
      - Make reference counting in drm_atomic_helper_setup_commit
        more obvious. (pinchartl)
      - Call cleanup_done for fake commit. (danvet)
      - Add comments to drm_atomic_helper_setup_commit. (danvet, pinchartl)
      - Add comment to drm_atomic_helper_swap_state. (pinchartl)
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Testcase: kms_atomic_transition.plane-use-after-nonblocking-unbind*
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20170904104838.23822-6-maarten.lankhorst@linux.intel.comReviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      21a01abb