1. 19 7月, 2018 1 次提交
    • R
      drm/i915: Kill sink_crc for good · 5fd9df6a
      Rodrigo Vivi 提交于
      It was originally introduced following the VESA spec in order to validate PSR.
      
      However we found so many issues around sink_crc that instead of helping PSR
      development it only brought another layer of trouble to the table.
      
      So, sink_crc has been a black whole for us in question of time, effort and hope.
      
      First of the problems is that HW statement is clear: "Do not attempt to use
      aux communication with PSR enabled". So the main reason behind sink_crc is
      already compromised.
      
      For a while we had hope on the aux-mutex could workaround this problem on SKL+
      platforms, but that mutex was not reliable, not tested,
      and we shouldn't use according to HW engineers.
      
      Also, nor source, nor sink designed and implemented the sink_crc to be used like
      we are trying to use here.
      
      Well, the sink side of things is also apparently not prepared for this
      case. Each panel that we tried seemed to have a different behavior with same
      code and same source.
      
      So, for all the time we lost on trying to ducktape all these different issues
      I believe it is now time to move PSR to a more reliable validation.
      Maybe not a perfect one as we dreamed for this sink_crc, but at least more
      reliable.
      
      Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180705192528.30515-1-rodrigo.vivi@intel.com
      5fd9df6a
  2. 13 7月, 2018 4 次提交
  3. 27 6月, 2018 1 次提交
  4. 21 6月, 2018 1 次提交
  5. 16 6月, 2018 1 次提交
  6. 15 6月, 2018 4 次提交
  7. 14 6月, 2018 1 次提交
  8. 13 6月, 2018 1 次提交
  9. 24 5月, 2018 1 次提交
  10. 23 5月, 2018 2 次提交
  11. 22 5月, 2018 1 次提交
    • J
      Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." · d93fa1b4
      Jani Nikula 提交于
      This reverts commit dc911f5b.
      
      Per the report, no matter what display mode you select with xrandr, the
      i915 driver will always select the alternate fixed mode. For the
      reporter this means that the display will always run at 40Hz which is
      quite annoying. This may be due to the mode comparison.
      
      But there are some other potential issues. The choice of alt_fixed_mode
      seems dubious. It's the first non-preferred mode, but there are no
      guarantees that the only difference would be refresh rate. Similarly,
      there may be more than one preferred mode in the probed modes list, and
      the commit changes the preferred mode selection to choose the last one
      on the list instead of the first.
      
      (Note that the probed modes list is the raw, unfiltered, unsorted list
      of modes from drm_add_edid_modes(), not the pretty result after a
      drm_helper_probe_single_connector_modes() call.)
      
      Finally, we already have eerily similar code in place to find the
      downclock mode for DRRS that seems like could be reused here.
      
      Back to the drawing board.
      
      Note: This is a hand-crafted revert due to conflicts. If it fails to
      backport, please just try reverting the original commit directly.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105469Reported-by: NRune Petersen <rune@megahurts.dk>
      Reported-by: NMark Spencer <n7u4722r35@ynzlx.anonbox.net>
      Fixes: dc911f5b ("drm/i915/edp: Allow alternate fixed mode for eDP if available.")
      Cc: Clint Taylor <clinton.a.taylor@intel.com>
      Cc: David Weinehall <david.weinehall@linux.intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Jim Bride <jim.bride@linux.intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: intel-gfx@lists.freedesktop.org
      Cc: <stable@vger.kernel.org> # v4.14+
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Reviewed-by: NDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180516080110.22770-1-jani.nikula@intel.com
      d93fa1b4
  12. 18 5月, 2018 5 次提交
  13. 16 5月, 2018 1 次提交
  14. 03 5月, 2018 1 次提交
    • R
      drm/i915: Adjust eDP's logical vco in a reliable place. · 3297234a
      Rodrigo Vivi 提交于
      On intel_dp_compute_config() we were calculating the needed vco
      for eDP on gen9 and we stashing it in
      intel_atomic_state.cdclk.logical.vco
      
      However few moments later on intel_modeset_checks() we fully
      replace entire intel_atomic_state.cdclk.logical with
      dev_priv->cdclk.logical fully overwriting the logical desired
      vco for eDP on gen9.
      
      So, with wrong VCO value we end up with wrong desired cdclk, but
      also it will raise a lot of WARNs: On gen9, when we read
      CDCLK_CTL to verify if we configured properly the desired
      frequency the CD Frequency Select bits [27:26] == 10b can mean
      337.5 or 308.57 MHz depending on the VCO. So if we have wrong
      VCO value stashed we will believe the frequency selection didn't
      stick and start to raise WARNs of cdclk mismatch.
      
      [   42.857519] [drm:intel_dump_cdclk_state [i915]] Changing CDCLK to 308571 kHz, VCO 8640000 kHz, ref 24000 kHz, bypass 24000 kHz, voltage level 0
      [   42.897269] cdclk state doesn't match!
      [   42.901052] WARNING: CPU: 5 PID: 1116 at drivers/gpu/drm/i915/intel_cdclk.c:2084 intel_set_cdclk+0x5d/0x110 [i915]
      [   42.938004] RIP: 0010:intel_set_cdclk+0x5d/0x110 [i915]
      [   43.155253] WARNING: CPU: 5 PID: 1116 at drivers/gpu/drm/i915/intel_cdclk.c:2084 intel_set_cdclk+0x5d/0x110 [i915]
      [   43.170277] [drm:intel_dump_cdclk_state [i915]] [hw state] 337500 kHz, VCO 8100000 kHz, ref 24000 kHz, bypass 24000 kHz, voltage level 0
      [   43.182566] [drm:intel_dump_cdclk_state [i915]] [sw state] 308571 kHz, VCO 8640000 kHz, ref 24000 kHz, bypass 24000 kHz, voltage level 0
      
      v2: Move the entire eDP's vco logical adjustment to inside
          the skl_modeset_calc_cdclk as suggested by Ville.
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Fixes: bb0f4aab ("drm/i915: Track full cdclk state for the logical and actual cdclk frequencies")
      Cc: <stable@vger.kernel.org> # v4.12+
      Link: https://patchwork.freedesktop.org/patch/msgid/20180502175255.5344-1-rodrigo.vivi@intel.com
      3297234a
  15. 26 4月, 2018 7 次提交
  16. 17 3月, 2018 1 次提交
  17. 13 3月, 2018 1 次提交
  18. 10 3月, 2018 1 次提交
  19. 07 3月, 2018 3 次提交
  20. 03 3月, 2018 2 次提交