[PATCH 12/14] drm/i915/psr: Drop CRTC state from intel_psr_disable()

José Roberto de Souza jose.souza at intel.com
Tue Sep 18 19:08:29 UTC 2018


dev_priv->psr.dp should be set once and then never touched again,
so we don't need to grab letting us drop this paramter.
This way this function can be used in more places.

Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c | 2 +-
 drivers/gpu/drm/i915/intel_drv.h | 3 +--
 drivers/gpu/drm/i915/intel_psr.c | 9 ++++-----
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index b6910c8b4e08..97e1d54b6f6e 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -3234,7 +3234,7 @@ static void intel_disable_ddi_dp(struct intel_encoder *encoder,
 					  old_crtc_state, old_conn_state);
 
 	intel_edp_drrs_disable(intel_dp, old_crtc_state);
-	intel_psr_disable(intel_dp, old_crtc_state);
+	intel_psr_disable(intel_dp);
 	intel_edp_backlight_off(old_conn_state);
 }
 
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 3bc49e6c95d8..a65b59c823ba 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1942,8 +1942,7 @@ bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port);
 void intel_psr_init_dpcd(struct intel_dp *intel_dp);
 void intel_psr_enable(struct intel_dp *intel_dp,
 		      const struct intel_crtc_state *crtc_state);
-void intel_psr_disable(struct intel_dp *intel_dp,
-		      const struct intel_crtc_state *old_crtc_state);
+void intel_psr_disable(struct intel_dp *intel_dp);
 int intel_psr_set_debugfs_mode(struct drm_i915_private *dev_priv,
 			       struct drm_modeset_acquire_ctx *ctx,
 			       u64 value);
diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index f897271345a3..3f4be156cede 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -733,19 +733,18 @@ static void intel_psr_disable_locked(struct intel_dp *intel_dp)
 /**
  * intel_psr_disable - Disable PSR
  * @intel_dp: Intel DP
- * @old_crtc_state: old CRTC state
  *
  * This function needs to be called before disabling pipe.
  */
-void intel_psr_disable(struct intel_dp *intel_dp,
-		       const struct intel_crtc_state *old_crtc_state)
+void intel_psr_disable(struct intel_dp *intel_dp)
 {
 	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
 
-	if (!old_crtc_state->has_psr)
+	if (!CAN_PSR(dev_priv) || !intel_dp_is_edp(intel_dp))
 		return;
 
-	if (WARN_ON(!CAN_PSR(dev_priv)))
+	/* dev_priv->psr.dp should be set once and then never touched again. */
+	if (READ_ONCE(dev_priv->psr.dp) != intel_dp)
 		return;
 
 	mutex_lock(&dev_priv->psr.lock);
-- 
2.19.0



More information about the Intel-gfx-trybot mailing list