From: Daniel Vetter Date: Wed, 18 Jun 2014 11:59:02 +0000 (+0200) Subject: drm/i915: Drop unecessary complexity from psr_inactivate X-Git-Tag: v3.17-rc1~82^2~63^2~11 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=77c70c56670875207d7ffd3c83cba7357ff4ff2e;p=karo-tx-linux.git drm/i915: Drop unecessary complexity from psr_inactivate It's not needed and further more will get in the way of a sane locking scheme - psr_exit _can't_ take modeset locks due to lock inversion, and at least once dp mst hits the connector list is no longer static. But since we track all state in dev_priv->psr there is no need at all. Cc: Rodrigo Vivi Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter --- diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 912e9c4de58f..74e194d66bba 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -1910,29 +1910,11 @@ static void intel_edp_psr_work(struct work_struct *work) static void intel_edp_psr_inactivate(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; - struct intel_connector *connector; - struct intel_encoder *encoder; - struct intel_crtc *intel_crtc; - struct intel_dp *intel_dp = NULL; - - list_for_each_entry(connector, &dev->mode_config.connector_list, - base.head) { - if (connector->base.dpms != DRM_MODE_DPMS_ON) - continue; - - encoder = to_intel_encoder(connector->base.encoder); - if (encoder->type == INTEL_OUTPUT_EDP) { + dev_priv->psr.active = false; - intel_dp = enc_to_intel_dp(&encoder->base); - intel_crtc = to_intel_crtc(encoder->base.crtc); - - dev_priv->psr.active = false; - - I915_WRITE(EDP_PSR_CTL(dev), I915_READ(EDP_PSR_CTL(dev)) - & ~EDP_PSR_ENABLE); - } - } + I915_WRITE(EDP_PSR_CTL(dev), I915_READ(EDP_PSR_CTL(dev)) + & ~EDP_PSR_ENABLE); } void intel_edp_psr_exit(struct drm_device *dev, bool schedule_back)