1. 08 8月, 2014 6 次提交
  2. 04 8月, 2014 1 次提交
  3. 23 7月, 2014 1 次提交
  4. 22 7月, 2014 1 次提交
    • D
      drm/i915: add DP 1.2 MST support (v0.7) · 0e32b39c
      Dave Airlie 提交于
      This adds DP 1.2 MST support on Haswell systems.
      
      Notes:
      a) this reworks irq handling for DP MST ports, so that we can
      avoid the mode config locking in the current hpd handlers, as
      we need to process up/down msgs at a better time.
      
      Changes since v0.1:
      use PORT_PCH_HOTPLUG to detect short vs long pulses
      add a workqueue to deal with digital events as they can get blocked on the
      main workqueue beyong mode_config mutex
      fix a bunch of modeset checker warnings
      acks irqs in the driver
      cleanup the MST encoders
      
      Changes since v0.2:
      check irq status again in work handler
      move around bring up and tear down to fix DPMS on/off
      use path properties.
      
      Changes since v0.3:
      updates for mst apis
      more state checker fixes
      irq handling improvements
      fbcon handling support
      improved reference counting of link - fixes redocking.
      
      Changes since v0.4:
      handle gpu reset hpd reinit without oopsing
      check link status on HPD irqs
      fix suspend/resume
      
      Changes since v0.5:
      use proper functions to get max link/lane counts
      fix another checker backtrace - due to connectors disappearing.
      set output type in more places fro, unknown->displayport
      don't talk to devices if no HPD asserted
      check mst on short irqs only
      check link status properly
      rebase onto prepping irq changes.
      drop unsued force_act
      
      Changes since v0.6:
      cleanup unused struct entry.
      
      [airlied: fix some sparse warnings].
      Reviewed-by: NTodd Previte <tprevite@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      0e32b39c
  5. 21 7月, 2014 1 次提交
  6. 11 7月, 2014 13 次提交
  7. 08 7月, 2014 1 次提交
    • D
      drm/i915: Support pf CRC source on haswell transcoder edp · fabf6e51
      Daniel Vetter 提交于
      The always-on power well pixel path on haswell is routed such that it
      bypasses the panel fitter when we use is. Which means the pfit CRC
      source won't work in that configuration.
      
      Add a new disallow-bypass flags to the pfit pipe config state and set
      it when we want to use the pf CRC. Results in a bit of flicker, but
      should get the job done. We'll also undo do it afterwards to make sure
      other tests arent' negatively affected.
      
      Totally untested due to lack of hsw laptops around here.
      
      v2: s/disallow_bypass/force_power_well_on/ to avoid a double negative
      (Damien).
      
      v3: force_thru because roadsigns.
      
      v4: Don't forget the power wells! Also note that until the runtime pm
      for DPMS series is fully merged the simple disable/enable trick won't
      work since the ->crtc_mode_set callback is still required to do nasty
      things. This stuff is tricky, but I think by both fixing up
      get_crtc_power_domains and the debugfs wa code we should always
      grab/drop the additional power well correctly.
      
      v5: Wrap in () as suggested by Damien to avoid setting reserved values
      for the edp transcoder path on bdw+
      
      References: https://bugs.freedesktop.org/show_bug.cgi?id=72864
      Cc: Damien Lespiau <damien.lespiau@intel.com>
      Reviewed-by: NDamien Lespiau <damien.lespiau@intel.com>
      Tested-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      fabf6e51
  8. 07 7月, 2014 1 次提交
    • D
      drm/i915: rework digital port IRQ handling (v2) · 13cf5504
      Dave Airlie 提交于
      The digital ports from Ironlake and up have the ability to distinguish
      between long and short HPD pulses. Displayport 1.1 only uses the short
      form to request link retraining usually, so we haven't really needed
      support for it until now.
      
      However with DP 1.2 MST we need to handle the short irqs on their
      own outside the modesetting locking the long hpd's involve. This
      patch adds the framework to distinguish between short/long to the
      current code base, to lay the basis for future DP 1.2 MST work.
      
      This should mean we get better bisectability in case of regression
      due to the new irq handling.
      
      v2: add GM45 support (untested, due to lack of hw)
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      Reviewed-by: NTodd Previte <tprevite@gmail.com>
      [danvet: Fix conflicts in i915_irq.c with Oscar Mateo's irq handling
      race fixes and a trivial one in intel_drv.h with the psr code.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      13cf5504
  9. 17 6月, 2014 1 次提交
  10. 22 5月, 2014 2 次提交
    • P
      drm/i915: grab the audio power domain when enabling audio on HSW+ · d45a0bf5
      Paulo Zanoni 提交于
      With the current code, we unconditionally touch
      HSW_AUD_PIN_ELD_CP_VLD, which means we can touch it when the power
      well is off, and that will trigger an "Unclaimed register" message.
      
      Just adding the intel_crtc->config.has_audio should already avoid the
      unclaimed register messsages, but since we actually need the power
      well to make the Audio code work, it makes sense to also grab the
      audio power domain reference, and release it when it's not needed
      anymore.
      
      I used IGT's pm_rpm to reproduce this bug, but it can probably be
      reproduced on other tests that do modesets. I'm using a machine with
      eDP+HDMI connected.
      
      Regression introduced by:
      
      commit acfa75b0
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Apr 24 23:54:51 2014 +0200
          drm/i915: Simplify audio handling on DDI ports
      
      Credits to Daniel for suggesting this implementation.
      
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      d45a0bf5
    • P
      drm/i915: don't read HSW_AUD_PIN_ELD_CP_VLD when the power well is off · a60551b1
      Paulo Zanoni 提交于
      Because this will trigger "Unclaimed register" messages. All I need to
      reproduce this problem is to boot my HSW machine with eDP+HDMI
      connected.
      
      Regression introduced by:
      
      commit 9ed109a7
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Apr 24 23:54:52 2014 +0200
          drm/i915: Track has_audio in the pipe config
      
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      a60551b1
  11. 16 5月, 2014 4 次提交
  12. 02 4月, 2014 1 次提交
    • P
      drm/i915: fix WARNs when reading DDI state while suspended · 882244a3
      Paulo Zanoni 提交于
      If runtime PM is enabled and we unset all modes, we will runtime
      suspend after __intel_set_mode() , then function
      intel_modeset_check_state() will try to read the HW state while it is
      suspended and trigger lots of WARNs because it shouldn't be reading
      registers.
      
      So on this patch we make intel_ddi_connector_get_hw_state() return
      false in case the power domain is disabled, and we also make
      intel_display_power_enabled() return false in case the device is
      suspended. Notice that we can't just use
      intel_display_power_enabled_sw() because while the driver is being
      initialized the power domain refcounts are not reflecting the real
      state of the hardware.
      
      Just for reference, I have previously published an alternate patch for
      this problem, called "drm/i915: get runtime PM at intel_set_mode".
      
      Testcase: igt/pm_pc8
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      882244a3
  13. 19 3月, 2014 1 次提交
  14. 18 3月, 2014 2 次提交
    • J
      drm/i915: finish off reverting eDP VDD changes · 24f3e092
      Jani Nikula 提交于
      This is a small follow-up fix to the series of eDP VDD back and forth
      we've had recently. This is effectively a combined revert of three
      commits:
      
      commit 2c2894f698fffd8ff53e1e1d3834f9e1035b1f39
      Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Date:   Fri Mar 7 20:05:20 2014 -0300
      
          drm/i915: properly disable the VDD when disabling the panel
      
      commit b3064154
      Author: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Date:   Tue Mar 4 00:42:44 2014 +0100
      
          drm/i915: Don't just say it, actually force edp vdd
      
      commit dff392db
      Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Date:   Fri Dec 6 17:32:41 2013 -0200
      
          drm/i915: don't touch the VDD when disabling the panel
      
      which shows that we're pretty close back to where we started
      already. The first two were basically reverting the last, but missing
      the WARN. Add that back. We also OCD the intel_ prefix back to
      intel_edp_panel_vdd_on() which was lost somewhere in between. The circle
      closes.
      
      For future reference, "drm/i915: don't touch the VDD when disabling the
      panel" failed to take into account
      
      commit 6cb49835
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Sun May 20 17:14:50 2012 +0200
      
          drm/i915: enable vdd when switching off the eDP panel
      
      and
      
      commit 35a38556
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Sun Aug 12 22:17:14 2012 +0200
      
          drm/i915: reorder edp disabling to fix ivb MacBook Air
      
      Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      24f3e092
    • P
      drm/i915: properly disable the VDD when disabling the panel · 849e39f5
      Paulo Zanoni 提交于
      Commit b3064154 tried to revert commit
      dff392db, but wasn't complete, which
      resulted in regressions on Haswell. So this commit should fix
      b3064154 by undoing what it did and
      providing an actual complete revert of
      dff392db.
      
      Fixes regression introduced by:
      commit b3064154
      Author: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Date:   Tue Mar 4 00:42:44 2014 +0100
          drm/i915: Don't just say it, actually force edp vdd
      
      Testcase: igt/pm_pc8
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Tested-by: NPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      849e39f5
  15. 11 3月, 2014 1 次提交
    • V
      drm/i915: Make encoder cloning more flexible · bc079e8b
      Ville Syrjälä 提交于
      Currently we allow encoders to indicate whether they can be part of a
      cloned set with just one flag. That's not flexible enough to describe
      the actual hardware capabilities. Instead make it a bitmask of encoder
      types with which the current encoder can be cloned.
      
      For now we set the bitmask to allow DVO+DVO and DVO+VGA, which should
      match what the old boolean flag allowed. We will add some more cloning
      options in the future.
      
      Note that this patch also removes the encoder.possible_clones setting
      from encoder setup code - we compute this dynamically.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@gmail.com>
      [danvet: Add Ville's explanation why removing the encoder
      possible_clones is save.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      bc079e8b
  16. 08 3月, 2014 1 次提交
  17. 13 2月, 2014 1 次提交
  18. 25 1月, 2014 1 次提交