diff options
author | Ville Syrjälä | 2014-09-04 13:54:56 +0200 |
---|---|---|
committer | Daniel Vetter | 2014-09-04 14:55:45 +0200 |
commit | 773538e86081d146e0020435d614f4b96996c1f9 (patch) | |
tree | a66261d8da4c2221de3ef6082c9a04f42e94a82b /drivers/gpu/drm/i915/intel_pm.c | |
parent | drm/i915: Track which port is using which pipe's power sequencer (diff) | |
download | kernel-qcow2-linux-773538e86081d146e0020435d614f4b96996c1f9.tar.gz kernel-qcow2-linux-773538e86081d146e0020435d614f4b96996c1f9.tar.xz kernel-qcow2-linux-773538e86081d146e0020435d614f4b96996c1f9.zip |
drm/i915: Reset power sequencer pipe tracking when disp2d is off
The power sequencer loses its state when the disp2d power well is down.
Clear the dev_priv->pps_pipe tracking so that the power sequencer state
gets reinitialized the next time it's needed.
v2: Fix the pps_mutex vs. power_domain mutex deadlock by taking power
domain reference first
v3: Rename from edp_pps_(un)lock() to just pps_(un)lock() for the future,
update due to backlight code changes
Reviewed-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_pm.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 49af81f6b4ad..45f71e6dc544 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -6468,6 +6468,8 @@ static void vlv_display_power_well_disable(struct drm_i915_private *dev_priv, spin_unlock_irq(&dev_priv->irq_lock); vlv_set_power_well(dev_priv, power_well, false); + + vlv_power_sequencer_reset(dev_priv); } static void vlv_dpio_cmn_power_well_enable(struct drm_i915_private *dev_priv, |