1. 18 12月, 2014 7 次提交
  2. 17 12月, 2014 2 次提交
  3. 16 12月, 2014 1 次提交
    • B
      drm/cache: Use wbinvd helpers · b04d4a38
      Ben Widawsky 提交于
      When the original drm code was written there were no centralized functions for
      doing a coordinated wbinvd across all CPUs. Now (since 2010) there are, so use
      them instead of rolling a new one.
      
      v2: On x86 UP systems the wbinvd_on_all_cpus() is defined as a static inline in
      smp.h. We must therefore include this file so we don't get compiler errors.
      This error was found by 0-DAY kernel test infrastructure. We only need this for
      x86.
      
      Cc: Intel GFX <intel-gfx@lists.freedesktop.org>
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v1)
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b04d4a38
  4. 11 12月, 2014 3 次提交
  5. 10 12月, 2014 13 次提交
  6. 09 12月, 2014 2 次提交
  7. 04 12月, 2014 3 次提交
  8. 02 12月, 2014 2 次提交
  9. 01 12月, 2014 1 次提交
  10. 27 11月, 2014 6 次提交
    • R
      drm/atomic: clear plane's CRTC and FB when shutting down · e5b5341c
      Rob Clark 提交于
      Otherwise we'd still end up w/ the plane attached to the CRTC, and
      seemingly active, but without an FB.  Which ends up going *boom*
      in the drivers.
      
      Slightly modified version of Daniel's irc suggestion.
      
      Note that the big problem isn't drivers going *boom* here (since we
      already have the situation of planes being left enabled when the crtc
      goes down). The real issue is that the core assumes the primary plane
      always goes down when calling ->set_config with a NULL mode. Ignoring
      that assumption leads to the legacy state pointers plane->fb/crtc
      getting out of sync with atomic, and that then leads to the subsequent
      *boom* all over the place.
      
      CC: Daniel Vetter <daniel@ffwll.ch>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      [danvet: Drop my opinion of what's going sidewides here into the
      commit message as a note.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      e5b5341c
    • D
      drm: Handle atomic state properly in kms getfoo ioctl · abd69c55
      Daniel Vetter 提交于
      So the problem with async commit (especially async modeset commit) is
      that the legacy pointers only get updated after the point of no
      return, in the async part of the modeset sequence. At least as
      implemented by the current helper functions. This is done in the
      set_routing_links function in drm_atomic_helper.c.
      
      Which also means that access isn't protected by locks but only
      coordinated by synchronizing with async workers. No problem thus far,
      until we lock at the getconnector/encoder ioctls.
      
      So fix this up by adding special cases for atomic drivers: For those
      we need to look at state objects. Unfortunately digging out the
      correct encoder->crtc link is a bit of work, so wrap this up in a
      helper function.
      
      Moving the assignments of connector->encoder and encoder->crtc earlier
      isn't a good idea because the point of the atomic helpers is that we
      stage the state updates. That way the disable functions can still
      inspect the links and rely upon them.
      
      v2: Extract full encoder->crtc lookup into helper (Rob).
      
      v3: Extract drm_connector_get_encoder too since - we need to always
      return state->best_encoder when there is a state otherwise we might
      return stale data if there's a pending async disable (and chase
      unlocked pointers, too). Same issue with encoder_get_crtc but there
      it's a bit more tricky to handle.
      
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Sean Paul <seanpaul@chromium.org>
      Reviewed-by: NSean Paul <seanpaul@chromium.org>
      Lightly-Tested-by: NSean Paul <seanpaul@chromium.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      abd69c55
    • R
      drm: use mode_object_find helpers · 933f622f
      Rob Clark 提交于
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      933f622f
    • R
      drm: fix indentation · 417009fb
      Rob Clark 提交于
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      417009fb
    • R
      drm/msm: switch to atomic-helpers iterator macros · 93b02beb
      Rob Clark 提交于
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      93b02beb
    • R
      drm/atomic: add plane iterator macros · dd275956
      Rob Clark 提交于
      Add helper macros to iterate the current, or incoming set of planes
      attached to a crtc.  These helpers are only available for drivers
      converted to use atomic-helpers.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      [danvet: Squash in fixup from Rob to move the planemask iterator to
      drm_crtc.h and document it. That one is needed by the atomic ioctl so
      can't be in a helper library.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      dd275956