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

Ville Syrjälä
2013-11-03T11:19:54Z

On Sat, Nov 02, 2013 at 09:07:37PM -0700, Ben Widawsky wrote:
> From: Paulo Zanoni <paulo.r.zanoni@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@intel.com> (v1)
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Reviewed-by: Ville Syrjälä <ville.syrjala@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@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Ville Syrjälä
Intel OTC