<div dir="ltr">Reviewed-by: Rodrigo Vivi <<a href="mailto:rodrigo.vivi@intel.com">rodrigo.vivi@intel.com</a>><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 16, 2014 at 10:51 AM, Daniel Vetter <span dir="ltr"><<a href="mailto:daniel.vetter@ffwll.ch" target="_blank">daniel.vetter@ffwll.ch</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It's not needed and further more will get in the way of a sane<br>
locking scheme - psr_exit _can't_ take modeset locks due to lock<br>
inversion, and at least once dp mst hits the connector list<br>
is no longer static.<br>
<br>
But since we track all state in dev_priv->psr there is no need<br>
at all.<br>
<br>
Cc: Rodrigo Vivi <<a href="mailto:rodrigo.vivi@intel.com">rodrigo.vivi@intel.com</a>><br>
Signed-off-by: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>><br>
---<br>
 drivers/gpu/drm/i915/intel_dp.c | 24 +++---------------------<br>
 1 file changed, 3 insertions(+), 21 deletions(-)<br>
<br>
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c<br>
index 190df701edd5..90f6f0a42d15 100644<br>
--- a/drivers/gpu/drm/i915/intel_dp.c<br>
+++ b/drivers/gpu/drm/i915/intel_dp.c<br>
@@ -1910,29 +1910,11 @@ static void intel_edp_psr_work(struct work_struct *work)<br>
 static void intel_edp_psr_inactivate(struct drm_device *dev)<br>
 {<br>
        struct drm_i915_private *dev_priv = dev->dev_private;<br>
-       struct intel_connector *connector;<br>
-       struct intel_encoder *encoder;<br>
-       struct intel_crtc *intel_crtc;<br>
-       struct intel_dp *intel_dp = NULL;<br>
-<br>
-       list_for_each_entry(connector, &dev->mode_config.connector_list,<br>
-                           base.head) {<br>
<br>
-               if (connector->base.dpms != DRM_MODE_DPMS_ON)<br>
-                       continue;<br>
-<br>
-               encoder = to_intel_encoder(connector->base.encoder);<br>
-               if (encoder->type == INTEL_OUTPUT_EDP) {<br>
+       dev_priv->psr.active = false;<br>
<br>
-                       intel_dp = enc_to_intel_dp(&encoder->base);<br>
-                       intel_crtc = to_intel_crtc(encoder->base.crtc);<br>
-<br>
-                       dev_priv->psr.active = false;<br>
-<br>
-                       I915_WRITE(EDP_PSR_CTL(dev), I915_READ(EDP_PSR_CTL(dev))<br>
-                                  & ~EDP_PSR_ENABLE);<br>
-               }<br>
-       }<br>
+       I915_WRITE(EDP_PSR_CTL(dev), I915_READ(EDP_PSR_CTL(dev))<br>
+                  & ~EDP_PSR_ENABLE);<br>
 }<br>
<br>
 void intel_edp_psr_exit(struct drm_device *dev, bool schedule_back)<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.0.0<br>
<br>
_______________________________________________<br>
Intel-gfx mailing list<br>
<a href="mailto:Intel-gfx@lists.freedesktop.org">Intel-gfx@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/intel-gfx" target="_blank">http://lists.freedesktop.org/mailman/listinfo/intel-gfx</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Rodrigo Vivi</div><div>Blog: <a href="http://blog.vivi.eng.br" target="_blank">http://blog.vivi.eng.br</a></div><div> </div>
</div>