1. 17 2月, 2018 1 次提交
  2. 07 4月, 2017 1 次提交
  3. 29 3月, 2017 1 次提交
  4. 24 3月, 2017 1 次提交
  5. 27 1月, 2017 1 次提交
    • D
      Reinstate "drm/probe-helpers: Drop locking from poll_enable"" · c4d79c22
      Dave Airlie 提交于
      This reverts commit 54a07c7b,
      and reinstates the original.
      
      [airlied: this might be a bad plan for git].
      
      commit 3846fd9b
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Wed Jan 11 10:01:17 2017 +0100
      
          drm/probe-helpers: Drop locking from poll_enable
      
          It was only needed to protect the connector_list walking, see
      
          commit 8c4ccc4a
          Author: Daniel Vetter <daniel.vetter@ffwll.ch>
          Date:   Thu Jul 9 23:44:26 2015 +0200
      
              drm/probe-helper: Grab mode_config.mutex in poll_init/enable
      
          Unfortunately the commit message of that patch fails to mention that
          the new locking check was for the connector_list.
      
          But that requirement disappeared in
      
          commit c36a3254
          Author: Daniel Vetter <daniel.vetter@ffwll.ch>
          Date:   Thu Dec 15 16:58:43 2016 +0100
      
              drm: Convert all helpers to drm_connector_list_iter
      
          and so we can drop this again.
      
          This fixes a locking inversion on nouveau, where the rpm code needs to
          re-enable. But in other places the rpm_get() calls are nested within
          the big modeset locks.
      
          While at it, also improve the kerneldoc for these two functions a
          notch.
      
          v2: Update the kerneldoc even more to explain that these functions
          can't be called concurrently, or bad things happen (Chris).
      c4d79c22
  6. 26 1月, 2017 1 次提交
  7. 13 1月, 2017 1 次提交
  8. 16 8月, 2016 1 次提交
  9. 07 6月, 2016 1 次提交
  10. 08 3月, 2016 1 次提交
  11. 11 12月, 2015 1 次提交
    • V
      drm: Drop drm_helper_probe_single_connector_modes_nomerge() · 6af3e656
      Ville Syrjälä 提交于
      Now that the mode type bit merge logic is fixed to only merge
      between new probed modes, hopefully we can eliminat the special
      case for qxl and virtio. That is make the merge the mode type
      bits from all matching new probed modes, just like every other
      driver.
      
      qxl and virtio got excluded from the merging in
      commit 3fbd6439 ("drm: copy mode type in drm_mode_connector_list_update()")
      commit abce1ec9 ("Revert "drm: copy mode type in drm_mode_connector_list_update()"")
      commit b87577b7 ("drm: try harder to avoid regression when merging mode bits")
      
      Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Adam Jackson <ajax@redhat.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      [danvet: Resolve conflicts with doc updates.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6af3e656
  12. 08 12月, 2015 2 次提交
  13. 24 11月, 2015 1 次提交
  14. 30 9月, 2015 1 次提交
  15. 04 8月, 2015 1 次提交
  16. 27 7月, 2015 2 次提交
  17. 13 4月, 2015 1 次提交
  18. 24 2月, 2015 1 次提交
  19. 27 1月, 2015 2 次提交
    • T
      drm/atomic: Add ->atomic_check() to encoder helpers · 4cd4df80
      Thierry Reding 提交于
      This callback can be used instead of the legacy ->mode_fixup() and is
      passed the CRTC and connector states. It can thus use these states to
      validate the modeset and cache values in the state to be used during
      the actual modeset.
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      4cd4df80
    • D
      drm/atomic-helpers: Saner encoder/crtc callbacks · ee0a89cf
      Daniel Vetter 提交于
      For historical reasons going all the way back to how the Xrandr code
      was implemented the semantics of the callbacks used to enable/disable
      crtcs and encoders are ... interesting.
      
      But with atomic helpers all that complexity has been binned, with only
      a well-defined on/off action left. Unfortunately the names stuck.
      
      Let's fix that by adding enable/disable hooks every, make them the
      preferred variant for atomic and update documentations.
      
      Later on we add debug warnings when drivers have deprecated hooks. But
      while everything is in-flight with lots of drivers converting to
      atomic that's a bit too much - better wait for things to settle a bit
      first.
      
      v2: Fix kerneldoc, reported by Wu Fengguang.
      Reviewed-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      ee0a89cf
  20. 18 12月, 2014 2 次提交
  21. 06 11月, 2014 2 次提交
    • D
      drm/crtc-helper: Transitional functions using atomic plane helpers · 2f324b42
      Daniel Vetter 提交于
      These two functions allow drivers to reuse their atomic plane helpers
      functions for the primary plane to implement the interfaces required
      by the crtc helpers for the legacy ->set_config callback.
      
      This is purely transitional and won't be used once the driver is fully
      converted. But it allows partial conversions to the atomic plane
      helpers which are functional.
      
      v2:
      - Use ->atomic_duplicate_state if available.
      - Don't forget to run crtc_funcs->atomic_check.
      
      v3: Shift source coordinates correctly for 16.16 fixed point.
      
      v4: Don't forget to call ->atomic_destroy_state if available.
      
      v5: Fixup kerneldoc.
      
      v6: Reuse the plane_commit function from the transitional plane
      helpers to avoid too much duplication.
      
      v7:
      - Remove some stale comment.
      - Correctly handle the lack of plane->state object, necessary for
        transitional use.
      
      v8: Fixup an embarrassing h/vdisplay mixup.
      Reviewed-by: NSean Paul <seanpaul@chromium.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      2f324b42
    • D
      drm: Add atomic/plane helpers · c2fcd274
      Daniel Vetter 提交于
      This is the first cut of atomic helper code. As-is it's only useful to
      implement a pure atomic interface for plane updates.
      
      Later patches will integrate this with the crtc helpers so that full
      atomic updates are possible. We also need a pile of helpers to aid
      drivers in transitioning from the legacy world to the shiny new atomic
      age. Finally we need helpers to implement legacy ioctls on top of the
      atomic interface.
      
      The design of the overall helpers<->driver interaction is fairly
      simple, but has an unfortunate large interface:
      
      - We have ->atomic_check callbacks for crtcs and planes. The idea is
        that connectors don't need any checking, and if they do they can
        adjust the relevant crtc driver-private state. So no connector hooks
        should be needed. Also the crtc helpers integration will do the
        ->best_encoder checks, so no need for that.
      
      - Framebuffer pinning needs to be done before we can commit to the hw
        state. This is especially important for async updates where we must
        pin all buffers before returning to userspace, so that really only
        hw failures can happen in the asynchronous worker.
      
        Hence we add ->prepare_fb and ->cleanup_fb hooks for this resources
        management.
      
      - The actual atomic plane commit can't fail (except hw woes), so has
        void return type. It has three stages:
        1. Prepare all affected crtcs with crtc->atomic_begin. Drivers can
           use this to unset the GO bit or similar latches to prevent plane
           updates.
        2. Update plane state by looping over all changed planes and calling
           plane->atomic_update. Presuming the hardware is sane and has GO
           bits drivers can simply bash the state into the hardware in this
           function. Other drivers might use this to precompute hw state for
           the final step.
        3. Finally latch the update for the next vblank with
           crtc->atomic_flush. Note that this function doesn't need to wait
           for the vblank to happen even for the synchronous case.
      
      v2: Clear drm_<obj>_state->state to NULL when swapping in state.
      
      v3: Add TODO that we don't short-circuit plane updates for now. Likely
      no one will care.
      
      v4: Squash in a bit of polish that somehow landed in the wrong (later)
      patche.
      
      v5: Integrate atomic functions into the drm docbook and fixup the
      kerneldoc.
      
      v6: Fixup fixup patch squashing fumble.
      
      v7: Don't touch the legacy plane state plane->fb and plane->crtc. This
      is only used by the legacy ioctl code in the drm core, and that code
      already takes care of updating the pointers in all relevant cases.
      This is in stark contrast to connector->encoder->crtc links on the
      modeset side, which we still need to set since the core doesn't touch
      them.
      
      Also some more kerneldoc polish.
      
      v8: Drop outdated comment.
      
      v9: Handle the state->state pointer correctly: Only clearing the
      ->state pointer when assigning the state to the kms object isn't good
      enough. We also need to re-link the swapped out state into the
      drm_atomic_state structure.
      
      v10: Shuffle the misplaced docbook template hunk around that Sean spotted.
      
      Cc: Sean Paul <seanpaul@chromium.org>
      Reviewed-by: NSean Paul <seanpaul@chromium.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      c2fcd274
  22. 01 5月, 2014 1 次提交
  23. 22 4月, 2014 1 次提交
    • A
      drm: make mode_valid callback optional · f9b0e251
      Andrzej Hajda 提交于
      Many drm connectors do not need mode validation.
      The patch makes this callback optional and removes dumb implementations.
      
      v2: Rebase:
      - imx move to a shared (but still dummy) ->mode_valid implementation.
      - probe helpers have been extracted to drm_probe_helper.c
      
      Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> (v1)
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      f9b0e251
  24. 18 4月, 2014 1 次提交
    • D
      drm: Split out drm_probe_helper.c from drm_crtc_helper.c · 8d754544
      Daniel Vetter 提交于
      This is leftover stuff from my previous doc round which I kinda wanted
      to do but didn't yet due to rebase hell.
      
      The modeset helpers and the probing helpers a independent and e.g.
      i915 uses the probing stuff but has its own modeset infrastructure. It
      hence makes to split this up. While at it add a DOC: comment for the
      probing libraray.
      
      It would be rather neat to pull some of the DocBook documenting these
      two helpers into in-line DOC: comments. But unfortunately kerneldoc
      doesn't support markdown or something similar to make nice-looking
      documentation, so the current state is better.
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      8d754544
  25. 13 3月, 2014 2 次提交
  26. 21 1月, 2014 1 次提交
  27. 23 10月, 2013 1 次提交
  28. 20 11月, 2012 1 次提交
  29. 12 11月, 2012 1 次提交
  30. 20 7月, 2012 1 次提交
  31. 22 5月, 2012 1 次提交
  32. 20 4月, 2012 1 次提交
  33. 21 12月, 2011 1 次提交
  34. 30 11月, 2011 1 次提交