[Intel-gfx] [PATCH 53/71] drm/i915/chv: Configure crtc_mask correctly for CHV

Daniel Vetter daniel at ffwll.ch
Wed Apr 9 18:06:38 CEST 2014


On Wed, Apr 09, 2014 at 01:28:51PM +0300, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> On CHV pipe C can driver only port D, and pipes A and B can drivbe only
> ports B and C. Configure the crtc_mask appropriately to reflect that.

I'm impressed ;-)

But well, hooray for the resurrection of arbitrary pipe limits. I'll crank
up fixing the gen2/3 bug in igt_kms a few notches now since suddenly it's
relevant again ...

Cheers, Daniel
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_dp.c   | 8 +++++++-
>  drivers/gpu/drm/i915/intel_hdmi.c | 8 +++++++-
>  2 files changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 21ac845..6ae4d28 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -4070,7 +4070,13 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port)
>  	intel_dig_port->dp.output_reg = output_reg;
>  
>  	intel_encoder->type = INTEL_OUTPUT_DISPLAYPORT;
> -	intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2);
> +	if (IS_CHERRYVIEW(dev)) {
> +		if (port == PORT_D)
> +			intel_encoder->crtc_mask = 1 << 2;
> +		else
> +			intel_encoder->crtc_mask = (1 << 0) | (1 << 1);
> +	} else
> +		intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2);
>  	intel_encoder->cloneable = 0;
>  	intel_encoder->hot_plug = intel_dp_hot_plug;
>  
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index 9f868f4..349374b 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -1426,7 +1426,13 @@ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port)
>  	}
>  
>  	intel_encoder->type = INTEL_OUTPUT_HDMI;
> -	intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2);
> +	if (IS_CHERRYVIEW(dev)) {
> +		if (port == PORT_D)
> +			intel_encoder->crtc_mask = 1 << 2;
> +		else
> +			intel_encoder->crtc_mask = (1 << 0) | (1 << 1);
> +	} else
> +		intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2);
>  	intel_encoder->cloneable = 1 << INTEL_OUTPUT_ANALOG;
>  	/*
>  	 * BSpec is unclear about HDMI+HDMI cloning on g4x, but it seems
> -- 
> 1.8.3.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list