diff mbox series

[1/7] drm/i915: simplify setting of ddi_io_power_domain

Message ID 20191011010907.103309-2-lucas.demarchi@intel.com (mailing list archive)
State New, archived
Headers show
Series Small fixes before fixing MST | expand

Commit Message

Lucas De Marchi Oct. 11, 2019, 1:09 a.m. UTC
Instead of the ever growing switch, just compute the ddi io power domain
based on the port number.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/i915/display/intel_ddi.c | 43 ++----------------------
 1 file changed, 3 insertions(+), 40 deletions(-)

Comments

Souza, Jose Oct. 11, 2019, 6:01 p.m. UTC | #1
On Thu, 2019-10-10 at 18:09 -0700, Lucas De Marchi wrote:
> Instead of the ever growing switch, just compute the ddi io power
> domain
> based on the port number.

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c | 43 ++------------------
> ----
>  1 file changed, 3 insertions(+), 40 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 6c1315c7bcde..b2776f6044ae 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -4750,46 +4750,9 @@ void intel_ddi_init(struct drm_i915_private
> *dev_priv, enum port port)
>  		intel_encoder->update_complete =
> intel_ddi_update_complete;
>  	}
>  
> -	switch (port) {
> -	case PORT_A:
> -		intel_dig_port->ddi_io_power_domain =
> -			POWER_DOMAIN_PORT_DDI_A_IO;
> -		break;
> -	case PORT_B:
> -		intel_dig_port->ddi_io_power_domain =
> -			POWER_DOMAIN_PORT_DDI_B_IO;
> -		break;
> -	case PORT_C:
> -		intel_dig_port->ddi_io_power_domain =
> -			POWER_DOMAIN_PORT_DDI_C_IO;
> -		break;
> -	case PORT_D:
> -		intel_dig_port->ddi_io_power_domain =
> -			POWER_DOMAIN_PORT_DDI_D_IO;
> -		break;
> -	case PORT_E:
> -		intel_dig_port->ddi_io_power_domain =
> -			POWER_DOMAIN_PORT_DDI_E_IO;
> -		break;
> -	case PORT_F:
> -		intel_dig_port->ddi_io_power_domain =
> -			POWER_DOMAIN_PORT_DDI_F_IO;
> -		break;
> -	case PORT_G:
> -		intel_dig_port->ddi_io_power_domain =
> -			POWER_DOMAIN_PORT_DDI_G_IO;
> -		break;
> -	case PORT_H:
> -		intel_dig_port->ddi_io_power_domain =
> -			POWER_DOMAIN_PORT_DDI_H_IO;
> -		break;
> -	case PORT_I:
> -		intel_dig_port->ddi_io_power_domain =
> -			POWER_DOMAIN_PORT_DDI_I_IO;
> -		break;
> -	default:
> -		MISSING_CASE(port);
> -	}
> +	WARN_ON(port > PORT_I);
> +	intel_dig_port->ddi_io_power_domain =
> POWER_DOMAIN_PORT_DDI_A_IO +
> +					      port - PORT_A;
>  
>  	if (init_dp) {
>  		if (!intel_ddi_init_dp_connector(intel_dig_port))
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 6c1315c7bcde..b2776f6044ae 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4750,46 +4750,9 @@  void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
 		intel_encoder->update_complete = intel_ddi_update_complete;
 	}
 
-	switch (port) {
-	case PORT_A:
-		intel_dig_port->ddi_io_power_domain =
-			POWER_DOMAIN_PORT_DDI_A_IO;
-		break;
-	case PORT_B:
-		intel_dig_port->ddi_io_power_domain =
-			POWER_DOMAIN_PORT_DDI_B_IO;
-		break;
-	case PORT_C:
-		intel_dig_port->ddi_io_power_domain =
-			POWER_DOMAIN_PORT_DDI_C_IO;
-		break;
-	case PORT_D:
-		intel_dig_port->ddi_io_power_domain =
-			POWER_DOMAIN_PORT_DDI_D_IO;
-		break;
-	case PORT_E:
-		intel_dig_port->ddi_io_power_domain =
-			POWER_DOMAIN_PORT_DDI_E_IO;
-		break;
-	case PORT_F:
-		intel_dig_port->ddi_io_power_domain =
-			POWER_DOMAIN_PORT_DDI_F_IO;
-		break;
-	case PORT_G:
-		intel_dig_port->ddi_io_power_domain =
-			POWER_DOMAIN_PORT_DDI_G_IO;
-		break;
-	case PORT_H:
-		intel_dig_port->ddi_io_power_domain =
-			POWER_DOMAIN_PORT_DDI_H_IO;
-		break;
-	case PORT_I:
-		intel_dig_port->ddi_io_power_domain =
-			POWER_DOMAIN_PORT_DDI_I_IO;
-		break;
-	default:
-		MISSING_CASE(port);
-	}
+	WARN_ON(port > PORT_I);
+	intel_dig_port->ddi_io_power_domain = POWER_DOMAIN_PORT_DDI_A_IO +
+					      port - PORT_A;
 
 	if (init_dp) {
 		if (!intel_ddi_init_dp_connector(intel_dig_port))