1. 13 2月, 2014 11 次提交
  2. 28 1月, 2014 2 次提交
  3. 26 1月, 2014 1 次提交
  4. 25 1月, 2014 10 次提交
  5. 22 1月, 2014 1 次提交
    • C
      drm/i915: Wait for completion of pending flips when starved of fences · 5dce5b93
      Chris Wilson 提交于
      On older generations (gen2, gen3) the GPU requires fences for many
      operations, such as blits. The display hardware also requires fences for
      scanouts and this leads to a situation where an arbitrary number of
      fences may be pinned by old scanouts following a pageflip but before we
      have executed the unpin workqueue. This is unpredictable by userspace
      and leads to random EDEADLK when submitting an otherwise benign
      execbuffer. However, we can detect when we have an outstanding flip and
      so cause userspace to wait upon their completion before finally
      declaring that the system is starved of fences. This is really no worse
      than forcing the GPU to stall waiting for older execbuffer to retire and
      release their fences before we can reallocate them for the next
      execbuffer.
      
      v2: move the test for a pending fb unpin to a common routine for
      later reuse during eviction
      
      Reported-and-tested-by: dimon@gmx.net
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73696Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NJon Bloomfield <jon.bloomfield@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      5dce5b93
  6. 20 1月, 2014 3 次提交
  7. 14 1月, 2014 1 次提交
  8. 11 1月, 2014 7 次提交
  9. 10 1月, 2014 3 次提交
    • D
      drm/i915: Drop I915_ prefix from HAS_FBC · 3a77c4c4
      Daniel Vetter 提交于
      My OCD just couldn't let this slide. Spotted while reviewing Ville's
      patch to only flip planes when we have FBC.
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      3a77c4c4
    • V
      drm/i915: Don't swap planes on 830M · 38af6096
      Ville Syrjälä 提交于
      Looks like 830M doesn't quite like it when you try to move a plane from
      one pipe to another. It seems that the plane's old pipe has to be active
      even if the plane is already disabled, otherwise the relevant register
      just won't accept new values.
      
      The following commit:
      
       commit 1f1c2e24
       Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
       Date:   Thu Nov 28 17:30:01 2013 +0200
      
          drm/i915: Swap primary planes on gen2 for FBC
      
      caused a regression on 830M. It will attempt to swap the planes when the
      driver is loaded, but at that time only pipe A might be active, so plane
      A gets disabled, but plane B won't get enabled since pipe B is not
      active when we try to move the plane over to pipe A.
      
      There's no reason to swap planes on 830M since it doesn't support
      FBC. Change the logic a bit to limit the plane swapping to platforms
      which actually support FBC. This should avoid getting a black screen on
      830M.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      38af6096
    • V
      drm/i915: Don't grab crtc mutexes in intel_modeset_gem_init() · 7ad228b1
      Ville Syrjälä 提交于
      When the pipe A force quirk is applied the code will attempt to grab
      a crtc mutex during intel_modeset_setup_hw_state(). If we're already
      holding all crtc mutexes this will obviously deadlock every time.
      
      So instead of using drm_modeset_lock_all() just grab the
      mode_config.mutex. This is enough to avoid the unlocked mutex warnings
      from certain lower level functions.
      
      The regression was introduced in:
      
       commit 02747664
       Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
       Date:   Mon Dec 2 11:08:06 2013 +0200
      
          drm/i915: Take modeset locks around intel_modeset_setup_hw_state()
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Cc: stable@vger.kernel.org
      [danvet: Add cc: stable since the offending commit has that, too.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      7ad228b1
  10. 09 1月, 2014 1 次提交
    • P
      drm/i915: fix wrong PLL debug messages. · 89eff4be
      Paulo Zanoni 提交于
      LPT does have PCH refclk, but it's different form the IBX/CPT/PPT one
      and doesn't use the same structs. It is wrong to have a message saying
      that "LPT does not has PCH refclk" (sic). While at it, signal that we
      only want this function on IBX/CPT/PPT by renaming it and adding a
      WARN.
      
      On HSW we also print "0 shared PLLs initialized", but we *do* have
      shared PLLs on HSW (LCPLL, WRPLL, SPLL) and we *do* initialize them.
      We just don't use "struct intel_shared_dpll". So remove the debug
      message.
      
      In the future we may want to rename all that "intel shared pll" code
      to "ibx shared pll", but I'll leave this to another patch.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      89eff4be