1. 14 1月, 2016 8 次提交
  2. 13 1月, 2016 1 次提交
  3. 12 1月, 2016 2 次提交
  4. 11 1月, 2016 1 次提交
  5. 08 1月, 2016 1 次提交
  6. 07 1月, 2016 5 次提交
  7. 06 1月, 2016 3 次提交
    • M
      drm/i915: Allow fuzzy matching in intel_compare_link_m_n · 31d10b57
      Maarten Lankhorst 提交于
      This prevents a unnecessary modeset on a dell XPS 13 (2016).
      
      N is always a power of 2, which means that for fuzzy matching we should
      compare for inequality on the n values, then do fuzzy matching on the m
      values.
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Tested-by: NKenneth Graunke <kenneth@whitecape.org>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/568D0E93.304@linux.intel.com
      31d10b57
    • M
      drm/i915: Sanitize watermarks after hardware state readout (v4) · d93c0372
      Matt Roper 提交于
      Although we can do a good job of reading out hardware state, the
      graphics firmware may have programmed the watermarks in a creative way
      that doesn't match how i915 would have chosen to program them.  We
      shouldn't trust the firmware's watermark programming, but should rather
      re-calculate how we think WM's should be programmed and then shove those
      values into the hardware.
      
      We can do this pretty easily by creating a dummy top-level state,
      running it through the check process to calculate all the values, and
      then just programming the watermarks for each CRTC.
      
      v2:  Move watermark sanitization after our BIOS fb reconstruction; the
           watermark calculations that we do here need to look at pstate->fb,
           which isn't setup yet in intel_modeset_setup_hw_state(), even
           though we have an enabled & visible plane.
      
      v3:
       - Don't move 'active = optimal' watermark assignment; we just undo
         that change in the next patch anyway.  (Ville)
       - Move atomic helper locking fix to separate patch.  (Maarten)
      
      v4:
       - Grab connection_mutex before calling atomic helper to duplicate
         state.  The connector loop inside the helper will throw a WARN
         if we don't hold something to protect the connector list (and the
         helper itself doesn't try to lock the list).
       - Make failure to calculate watermarks for inherited state a WARN()
         since it probably indicates a serious problem in either our state
         readout code or our watermark code for this platform.
      
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      d93c0372
    • M
      drm/i915: Setup clipped src/dest coordinates during FB reconstruction (v2) · 0a8d8a86
      Matt Roper 提交于
      Plane state objects contain two copies of src/dest coordinates:  the
      original (requested by userspace) coordinates in the base
      drm_plane_state object, and a second, clipped copy (i.e., what we
      actually want to program to the hardware) in intel_plane_state.  We've
      only been setting up the former set of values during boot time FB
      reconstruction, but we should really be initializing both.
      
      Note that the code here probably still needs some more work since we
      make a lot of assumptions about how the BIOS programmed the hardware
      that may not always be true, especially on gen9+; e.g.,
       * Primary plane might not be positioned at 0,0
       * Primary plane could have been rotated by the BIOS
       * Primary plane might be scaled
       * The BIOS fb might be a single "extended mode" FB that spans
         multiple displays.
       * ...etc...
      
      v2: Reword/expand commit message description of assumptions we make
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by(v1): Ville Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1449171462-30763-4-git-send-email-matthew.d.roper@intel.comSigned-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      0a8d8a86
  8. 22 12月, 2015 5 次提交
  9. 21 12月, 2015 1 次提交
    • V
      drm/i915: Workaround CHV pipe C cursor fail · b29ec92c
      Ville Syrjälä 提交于
      Turns out CHV pipe C was glued on somewhat poorly, and there's something
      wrong with the cursor. If the cursor straddles the left screen edge,
      and is then moved away from the edge or disabled, the pipe will often
      underrun. If enough underruns are triggered quickly enough the pipe
      will fall over and die (it just scans out a solid color and reports
      a constant underrun). We need to turn the disp2d power well off and
      on again to recover the pipe.
      
      None of that is very nice for the user, so let's just refuse to place
      the cursor in the compromised position. The ddx appears to fall back
      to swcursor when the ioctl returns an error, so theoretically there's
      no loss of functionality for the user (discounting swcursor bugs).
      I suppose most cursors images actually have the hotspot not exactly
      at 0,0 so under typical conditions the fallback will in fact kick in
      as soon as the cursor touches the left edge of the screen.
      
      Any atomic compositor should anyway be prepared to fall back to
      GPU composition when things don't work out, so there should be no
      problem with those.
      
      Other things that I tried to solve this include flipping all
      display related clock gating knobs I could find, increasing the
      minimum gtt alignment all the way up to 512k. I also tried to see
      if there are more specific screen coordinates that hit the bug, but
      the findings were somewhat inconclusive. Sometimes the failures
      happen almost across the whole left edge, sometimes more at the very
      top and around the bottom half. I wasn't able to find any real pattern
      to these variations, so it seems our only choice is to just refuse
      to straddle the left screen edge at all.
      
      Cc: stable@vger.kernel.org
      Cc: Jason Plum <max@warheads.net>
      Testcase: igt/kms_chv_cursor_fail
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92826Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1450459479-16286-1-git-send-email-ville.syrjala@linux.intel.comSigned-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b29ec92c
  10. 18 12月, 2015 1 次提交
  11. 16 12月, 2015 1 次提交
  12. 15 12月, 2015 2 次提交
  13. 10 12月, 2015 3 次提交
  14. 08 12月, 2015 5 次提交
  15. 07 12月, 2015 1 次提交