aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2014-06-18 07:59:02 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-06-19 03:58:52 -0400
commit77c70c56670875207d7ffd3c83cba7357ff4ff2e (patch)
treea4a28cce4097072448be2cd91aa31cc2ed161cf5
parent14d8ec544f2351a5da33e233b75f44cf6a5bea8e (diff)
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 <rodrigo.vivi@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c24
1 files changed, 3 insertions, 21 deletions
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)
1910static void intel_edp_psr_inactivate(struct drm_device *dev) 1910static void intel_edp_psr_inactivate(struct drm_device *dev)
1911{ 1911{
1912 struct drm_i915_private *dev_priv = dev->dev_private; 1912 struct drm_i915_private *dev_priv = dev->dev_private;
1913 struct intel_connector *connector;
1914 struct intel_encoder *encoder;
1915 struct intel_crtc *intel_crtc;
1916 struct intel_dp *intel_dp = NULL;
1917
1918 list_for_each_entry(connector, &dev->mode_config.connector_list,
1919 base.head) {
1920 1913
1921 if (connector->base.dpms != DRM_MODE_DPMS_ON) 1914 dev_priv->psr.active = false;
1922 continue;
1923
1924 encoder = to_intel_encoder(connector->base.encoder);
1925 if (encoder->type == INTEL_OUTPUT_EDP) {
1926 1915
1927 intel_dp = enc_to_intel_dp(&encoder->base); 1916 I915_WRITE(EDP_PSR_CTL(dev), I915_READ(EDP_PSR_CTL(dev))
1928 intel_crtc = to_intel_crtc(encoder->base.crtc); 1917 & ~EDP_PSR_ENABLE);
1929
1930 dev_priv->psr.active = false;
1931
1932 I915_WRITE(EDP_PSR_CTL(dev), I915_READ(EDP_PSR_CTL(dev))
1933 & ~EDP_PSR_ENABLE);
1934 }
1935 }
1936} 1918}
1937 1919
1938void intel_edp_psr_exit(struct drm_device *dev, bool schedule_back) 1920void intel_edp_psr_exit(struct drm_device *dev, bool schedule_back)