diff mbox

drm/i915/icl: fix icl_unmap/map_plls_to_ports

Message ID 20180525155238.7054-1-lucas.demarchi@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lucas De Marchi May 25, 2018, 3:52 p.m. UTC
From: Mahesh Kumar <mahesh1.kumar@intel.com>

All connectors may not have best_encoder attached, so don't dereference
encoder pointer for each connector.

Fixes: c27e917e2bda (drm/i915/icl: add basic support for the ICL clocks)
Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Zanoni, Paulo R June 1, 2018, 11:23 p.m. UTC | #1
Em Sex, 2018-05-25 às 08:52 -0700, Lucas De Marchi escreveu:
> From: Mahesh Kumar <mahesh1.kumar@intel.com>
> 
> All connectors may not have best_encoder attached, so don't
> dereference
> encoder pointer for each connector.
> 
> Fixes: c27e917e2bda (drm/i915/icl: add basic support for the ICL
> clocks)
> Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com>
> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

Merged. Thanks for the patch & review.



> ---
>  drivers/gpu/drm/i915/intel_ddi.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c
> b/drivers/gpu/drm/i915/intel_ddi.c
> index 3b8f12883ca7..c33b19705e39 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -2444,12 +2444,13 @@ void icl_map_plls_to_ports(struct drm_crtc
> *crtc,
>  	for_each_new_connector_in_state(old_state, conn, conn_state,
> i) {
>  		struct intel_encoder *encoder =
>  			to_intel_encoder(conn_state->best_encoder);
> -		enum port port = encoder->port;
> +		enum port port;
>  		uint32_t val;
>  
>  		if (conn_state->crtc != crtc)
>  			continue;
>  
> +		port = encoder->port;
>  		mutex_lock(&dev_priv->dpll_lock);
>  
>  		val = I915_READ(DPCLKA_CFGCR0_ICL);
> @@ -2481,11 +2482,12 @@ void icl_unmap_plls_to_ports(struct drm_crtc
> *crtc,
>  	for_each_old_connector_in_state(old_state, conn,
> old_conn_state, i) {
>  		struct intel_encoder *encoder =
>  			to_intel_encoder(old_conn_state-
> >best_encoder);
> -		enum port port = encoder->port;
> +		enum port port;
>  
>  		if (old_conn_state->crtc != crtc)
>  			continue;
>  
> +		port = encoder->port;
>  		mutex_lock(&dev_priv->dpll_lock);
>  		I915_WRITE(DPCLKA_CFGCR0_ICL,
>  			   I915_READ(DPCLKA_CFGCR0_ICL) |
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 3b8f12883ca7..c33b19705e39 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2444,12 +2444,13 @@  void icl_map_plls_to_ports(struct drm_crtc *crtc,
 	for_each_new_connector_in_state(old_state, conn, conn_state, i) {
 		struct intel_encoder *encoder =
 			to_intel_encoder(conn_state->best_encoder);
-		enum port port = encoder->port;
+		enum port port;
 		uint32_t val;
 
 		if (conn_state->crtc != crtc)
 			continue;
 
+		port = encoder->port;
 		mutex_lock(&dev_priv->dpll_lock);
 
 		val = I915_READ(DPCLKA_CFGCR0_ICL);
@@ -2481,11 +2482,12 @@  void icl_unmap_plls_to_ports(struct drm_crtc *crtc,
 	for_each_old_connector_in_state(old_state, conn, old_conn_state, i) {
 		struct intel_encoder *encoder =
 			to_intel_encoder(old_conn_state->best_encoder);
-		enum port port = encoder->port;
+		enum port port;
 
 		if (old_conn_state->crtc != crtc)
 			continue;
 
+		port = encoder->port;
 		mutex_lock(&dev_priv->dpll_lock);
 		I915_WRITE(DPCLKA_CFGCR0_ICL,
 			   I915_READ(DPCLKA_CFGCR0_ICL) |