[Intel-gfx] [PATCH 39/62] drm/i915/bdw: on Broadwell, the panel fitter is on the pipe

Ville Syrjälä ville.syrjala at linux.intel.com
Sun Nov 3 12:19:50 CET 2013


On Sat, Nov 02, 2013 at 09:07:37PM -0700, Ben Widawsky wrote:
> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
> 
> So you can use the panel fitter while the power well is disabled and
> you also don't need to set the "pipe" bit.
> 
> v2: Rebased on top of Jesse's pfit refactor, which moved pfit state
> into the pipe_config.
> 
> v3: Rebase on top of the latest Haswell/panel fitter rework, which
> neatly resolves a FIXME we have in this patch here:
> 
> v4: Rebase on top of the new power domain framework.
> 
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com> (v1)
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_ddi.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index d464fd2..db848a9 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -756,7 +756,8 @@ void intel_ddi_enable_transcoder_func(struct drm_crtc *crtc)
>  	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
>  	struct intel_encoder *intel_encoder = intel_ddi_get_crtc_encoder(crtc);
>  	struct drm_encoder *encoder = &intel_encoder->base;
> -	struct drm_i915_private *dev_priv = crtc->dev->dev_private;
> +	struct drm_device *dev = crtc->dev;
> +	struct drm_i915_private *dev_priv = dev->dev_private;
>  	enum pipe pipe = intel_crtc->pipe;
>  	enum transcoder cpu_transcoder = intel_crtc->config.cpu_transcoder;
>  	enum port port = intel_ddi_get_encoder_port(intel_encoder);
> @@ -792,10 +793,11 @@ void intel_ddi_enable_transcoder_func(struct drm_crtc *crtc)
>  	if (cpu_transcoder == TRANSCODER_EDP) {
>  		switch (pipe) {
>  		case PIPE_A:
> -			/* Can only use the always-on power well for eDP when
> -			 * not using the panel fitter, and when not using motion
> -			  * blur mitigation (which we don't support). */
> -			if (intel_crtc->config.pch_pfit.enabled)
> +			/* On Haswell, can only use the always-on power well for
> +			 * eDP when not using the panel fitter, and when not
> +			 * using motion blur mitigation (which we don't
> +			 * support). */
> +			if (IS_HASWELL(dev) && intel_crtc->config.pch_pfit.enabled)
>  				temp |= TRANS_DDI_EDP_INPUT_A_ONOFF;
>  			else
>  				temp |= TRANS_DDI_EDP_INPUT_A_ON;
> -- 
> 1.8.4.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC



More information about the Intel-gfx mailing list