1. 24 10月, 2014 5 次提交
  2. 03 10月, 2014 1 次提交
  3. 01 10月, 2014 2 次提交
  4. 24 9月, 2014 4 次提交
  5. 19 9月, 2014 3 次提交
  6. 10 9月, 2014 1 次提交
  7. 03 9月, 2014 4 次提交
  8. 26 8月, 2014 1 次提交
  9. 20 8月, 2014 1 次提交
  10. 18 8月, 2014 2 次提交
    • I
      drm/i915: make sure VDD is turned off during system suspend · 07f9cd0b
      Imre Deak 提交于
      Atm we may leave eDP VDD enabled during system suspend after the CRTCs
      are disabled through an HPD->DPCD read event. So disable VDD during
      suspend at a point when no HPDs can occur.
      
      Note that runtime suspend doesn't have the same problem, since there the
      RPM ref held by VDD provides already the needed serialization.
      
      v2:
      - add note to commit message about the runtime suspend path (Ville)
      - use edp_panel_vdd_off_sync(), so we can keep the WARN in
        edp_panel_vdd_off() (Ville)
      v3:
      - rebased on -fixes (for_each_intel_encoder()->list_for_each_entry())
        (Imre)
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (v2)
      Cc: stable@vger.kernel.org (3.16+)
      [Jani: fix sparse warning reported by Fengguang Wu]
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      07f9cd0b
    • I
      drm/i915: cancel hotplug and dig_port work during suspend and unload · 1d0d343a
      Imre Deak 提交于
      Make sure these work handlers don't run after we system suspend or
      unload the driver. Note that we don't cancel the handlers during runtime
      suspend. That could lead to a lockup, since we take a runtime PM ref
      from the handlers themselves. Fortunaltely canceling there is not needed
      since the RPM ref itself provides for the needed serialization.
      
      v2:
      - fix the order of canceling dig_port_work wrt. hotplug_work (Ville)
      - zero out {long,short}_hpd_port_mask and hpd_event_bits for speed
        (Ville)
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Cc: stable@vger.kernel.org (3.16+)
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      1d0d343a
  11. 14 8月, 2014 2 次提交
    • S
      drm/i915: Sharing platform specific sequence between runtime and system suspend/ resume paths · 016970be
      Sagar Kamble 提交于
      On VLV, post S0i3 during i915_drm_thaw following issue is observed during ring
      initialization.
      
      [ 335.604039] [drm:stop_ring] ERROR render ring :timed out trying to stop ring
      [ 336.607340] [drm:stop_ring] ERROR render ring :timed out trying to stop ring
      [ 336.607345] [drm:init_ring_common] ERROR failed to set render ring head to zero ctl 00000000 head 00000000 tail 00000000 start 00000000
      [ 337.610645] [drm:stop_ring] ERROR bsd ring :timed out trying to stop ring
      [ 338.613952] [drm:stop_ring] ERROR bsd ring :timed out trying to stop ring
      [ 338.613956] [drm:init_ring_common] ERROR failed to set bsd ring head to zero ctl 00000000 head 00000000 tail 00000000 start 00000000
      [ 339.617256] [drm:stop_ring] ERROR render ring :timed out trying to stop ring
      [ 339.617258] -----------[ cut here ]-----------
      [ 339.617267] WARNING: CPU: 0 PID: 6 at drivers/gpu/drm/i915/intel_ringbuffer.c:1666 intel_cleanup_ring+0xe6/0xf0()
      [ 339.617396] --[ end trace 5ef5ed1a3c92e2a6 ]--
      [ 339.617428] [drm:__i915_drm_thaw] ERROR failed to re-initialize GPU, declaring wedged!
      
      This is happening since wake is not enabled and Gunit registers are not restored.
      For this system suspend/resume paths need to follow save/restore and additional
      platform specific setup in suspend_complete and resume_prepare.
      
      suspend_complete is shared unconditionaly for VLV, HSW, BDW. resume_prepare for
      HSW and BDW has pc8 disabling which is needed during thaw_early so sharing
      uncondtionally. For VLV and SNB runtime resume specific sequence exists.
      
      Cc: Imre Deak <imre.deak@intel.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Goel, Akash <akash.goel@intel.com>
      Signed-off-by: NSagar Kamble <sagar.a.kamble@intel.com>
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      016970be
    • S
      drm/i915: Created common handler for platform specific suspend/resume · ebc32824
      Sagar Kamble 提交于
      With this change, intel_runtime_suspend and intel_runtime_resume functions
      become completely platform agnostic. Platform specific suspend/resume
      changes are moved to intel_suspend_complete and intel_resume_prepare.
      
      Cc: Imre Deak <imre.deak@intel.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Goel, Akash <akash.goel@intel.com>
      Signed-off-by: NSagar Kamble <sagar.a.kamble@intel.com>
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      ebc32824
  12. 13 8月, 2014 1 次提交
    • C
      drm/i915: Localise the fbdev console lock frobbing · 82e3b8c1
      Chris Wilson 提交于
      Rather than take and release the console_lock() around a non-existent
      DRM_I915_FBDEV, move the lock acquisation into the callee where it will
      be compiled out by the config option entirely. This includes moving the
      deferred fb_set_suspend() dance and encapsulating it entirely within
      intel_fbdev.c.
      
      v2: Use an integral work item so that we can explicitly flush the work
      upon suspend/unload.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      [danvet: Add the flush_work in fbdev_fini per the mailing list
      discussion. And s/BUG_ON/WARN_ON/ because.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      82e3b8c1
  13. 08 8月, 2014 1 次提交
    • R
      Revert "drm/i915: Enable semaphores on BDW" · be71eabe
      Rodrigo Vivi 提交于
      This reverts commit 521e62e4.
      
      Although POST_SYNC brought a bit of stability to Semaphores on BDW
      it didn't solved all issues and some hungs can still occour when
      semaphores are enabled on BDW. Also some sloweness can be found on some
      igt tests, althoguth it apparently doesn't affect real workloads.
      
      Besides that, no real performance gain was found on our tests with different
      and even multiple workloads.
      
      Let's disable it again for now. At least until we are sure it is safe
      to re-enable it.
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      be71eabe
  14. 24 7月, 2014 1 次提交
  15. 23 7月, 2014 2 次提交
  16. 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
  17. 08 7月, 2014 3 次提交
    • I
      drm/i915: make system freeze support depend on CONFIG_ACPI_SLEEP · 95fa2eee
      Imre Deak 提交于
      To achieve further power savings during system freeze (aka connected
      standby, or s0ix) we have to send a PCI_D1 opregion notification. As
      the information about the state we're entering (system freeze,
      suspend to ram or suspend to disk) is only available through the ACPI
      subsystem, make this support depend on the relevant kconfig option.
      Things will still work if this option isn't set, albeit with less than
      optimial power saving.
      
      This also fixes a compile breakage when the option is not set introduced
      in
      
      commit e5747e3a
      Author: Jesse Barnes <jbarnes@virtuousgeek.org>
      Date:   Thu Jun 12 08:35:47 2014 -0700
      
          drm/i915: send proper opregion notifications on suspend/resume
      Reported-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      95fa2eee
    • D
      drm/fb-helper: Fix hpd vs. initial config races · 50c3dc97
      Daniel Vetter 提交于
      Some drivers need to be able to have a perfect race-free fbcon setup.
      Current drivers only enable hotplug processing after the call to
      drm_fb_helper_initial_config which leaves a tiny but important race.
      
      This race is especially noticable on embedded platforms where the
      driver itself enables the voltage for the hdmi output, since only then
      will monitors (after a bit of delay, as usual) respond by asserting
      the hpd pin.
      
      Most of the infrastructure is already there with the split-out
      drm_fb_helper_init. And drm_fb_helper_initial_config already has all
      the required locking to handle concurrent hpd events since
      
      commit 53f1904b
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Mar 20 14:26:35 2014 +0100
      
          drm/fb-helper: improve drm_fb_helper_initial_config locking
      
      The only missing bit is making drm_fb_helper_hotplug_event save
      against concurrent calls of drm_fb_helper_initial_config. The only
      unprotected bit is the check for fb_helper->fb.
      
      With that drivers can first initialize the fb helper, then enabel
      hotplug processing and then set up the initial config all in a
      completely race-free manner. Update kerneldoc and convert i915 as a
      proof of concept.
      
      Feature requested by Thierry since his tegra driver atm reliably boots
      slowly enough to misses the hotplug event for an external hdmi screen,
      but also reliably boots to quickly for the hpd pin to be asserted when
      the fb helper calls into the hdmi ->detect function.
      
      Cc: Thierry Reding <treding@nvidia.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      50c3dc97
    • R
      drm/i915: Enable semaphores on BDW · 521e62e4
      Rodrigo Vivi 提交于
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      521e62e4
  18. 01 7月, 2014 1 次提交
    • P
      drm/i915: flush delayed_resume_work when suspending · 84a2ab8e
      Paulo Zanoni 提交于
      It is possible that, by the time we run i915_drm_freeze(),
      delayed_resume_work was already queued but did not run yet. If it
      still didn't run after intel_runtime_pm_disable_interrupts(), by the
      time it runs it will try to change the interrupt registers with the
      interrupts already disabled, which will trigger a WARN. We can
      reliably reproduce this with the pm_rpm system-suspend test case.
      
      In order to avoid the problem, we have to flush the work before
      disabling the interrupts. We could also cancel the work instead of
      flushing it, but that would require us to put a runtime PM reference -
      and any other resource we may need in the future - in case the work
      was already queued, so I believe flushing the work is more
      future-proof, although less efficient. But I can also change this part
      if someone requests.
      
      Another thing I tried was to move the intel_suspend_gt_powersave()
      call to before intel_runtime_pm_disable_interrupts(), but since that
      function needs to be called after the interrupts are already disabled,
      due to dev_priv->rps.work, this strategy didn't work.
      
      Testcase: igt/pm_rpm/system-suspend
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80517Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      84a2ab8e
  19. 20 6月, 2014 2 次提交
  20. 13 6月, 2014 2 次提交