[Intel-gfx] [PATCH 04/09] drm/i915: Add "port" field to struct intel_dp

Daniel Vetter daniel at ffwll.ch
Thu Jul 12 17:04:49 CEST 2012


On Fri, Jun 29, 2012 at 04:03:36PM -0300, Paulo Zanoni wrote:
> From: Shobhit Kumar <shobhit.kumar at intel.com>
> 
> Useful for Haswell, it has a lot of DP registers that have one
> instance per port.
> 
> Changes from Paulo:
> - Completely change the commit message
> - Rename "ddi_port" to "port"
> 
> Signed-off-by: Shobhit Kumar <shobhit.kumar at intel.com>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_dp.c  |   10 +++++++---
>  drivers/gpu/drm/i915/intel_drv.h |    1 +
>  2 files changed, 8 insertions(+), 3 deletions(-)
> 
> I believe "port" is better than "ddi_port" since the "port" variable can be
> used in the previous gens too...
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index be5c47e..a5aee26 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2477,12 +2477,16 @@ intel_dp_init(struct drm_device *dev, int output_reg)
>  
>  	connector->polled = DRM_CONNECTOR_POLL_HPD;
>  
> -	if (output_reg == DP_B || output_reg == PCH_DP_B)
> +	if (output_reg == DP_B || output_reg == PCH_DP_B) {
>  		intel_encoder->clone_mask = (1 << INTEL_DP_B_CLONE_BIT);
> -	else if (output_reg == DP_C || output_reg == PCH_DP_C)
> +		intel_dp->port = PORT_B;
> +	} else if (output_reg == DP_C || output_reg == PCH_DP_C) {
>  		intel_encoder->clone_mask = (1 << INTEL_DP_C_CLONE_BIT);
> -	else if (output_reg == DP_D || output_reg == PCH_DP_D)
> +		intel_dp->port = PORT_C;
> +	} else if (output_reg == DP_D || output_reg == PCH_DP_D) {
>  		intel_encoder->clone_mask = (1 << INTEL_DP_D_CLONE_BIT);
> +		intel_dp->port = PORT_D;
> +	}

Imo we should pass in the port id into intel_dp_init, like I've done for
intel_hdmi.c. That way we0d avoid this rather ugly loop. Also, this patch
will conflict a bit with the cloning simplification from my modeset rework
branch (patch 19). Can I volunteer you to review patches 19+20 from that
series first, and then rebase this on top of these other patches?
-Daniel

>  
>  	if (is_edp(intel_dp)) {
>  		intel_encoder->clone_mask = (1 << INTEL_EDP_CLONE_BIT);
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 48a0fcb..1145403 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -316,6 +316,7 @@ struct intel_dp {
>  	uint8_t  link_configuration[DP_LINK_CONFIGURATION_SIZE];
>  	bool has_audio;
>  	enum hdmi_force_audio force_audio;
> +	int port;
>  	uint32_t color_range;
>  	int dpms_mode;
>  	uint8_t link_bw;
> -- 
> 1.7.10.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48



More information about the Intel-gfx mailing list