[Intel-gfx] [PATCH 1/2] drm/i915/lvds: separate border enable readout from panel fitter

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Apr 29 13:46:43 UTC 2016


On Fri, Apr 29, 2016 at 03:34:02PM +0300, Jani Nikula wrote:
> The LVDS border enable is independent from the panel fitter. Move the
> readout of the "border bits" from i9xx_get_pfit_config() to
> intel_lvds_get_config(), where it will be read if LVDS is enabled even
> if the panel fitter is not.
> 
> This fixes the state checker warning:
> 
> [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in
> gmch_pfit.lvds_border_bits (expected 0x00008000, found 0x00000000)
> 
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87632
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>

Makes sense to me

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

> ---
>  drivers/gpu/drm/i915/intel_display.c | 3 ---
>  drivers/gpu/drm/i915/intel_lvds.c    | 4 ++++
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 5ffccf6e7f36..0fccebbd41a3 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -8022,9 +8022,6 @@ static void i9xx_get_pfit_config(struct intel_crtc *crtc,
>  
>  	pipe_config->gmch_pfit.control = tmp;
>  	pipe_config->gmch_pfit.pgm_ratios = I915_READ(PFIT_PGM_RATIOS);
> -	if (INTEL_INFO(dev)->gen < 5)
> -		pipe_config->gmch_pfit.lvds_border_bits =
> -			I915_READ(LVDS) & LVDS_BORDER_ENABLE;
>  }
>  
>  static void vlv_crtc_clock_get(struct intel_crtc *crtc,
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> index 66e832beeb37..bc53c0dd34d0 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -122,6 +122,10 @@ static void intel_lvds_get_config(struct intel_encoder *encoder,
>  
>  	pipe_config->base.adjusted_mode.flags |= flags;
>  
> +	if (INTEL_INFO(dev)->gen < 5)
> +		pipe_config->gmch_pfit.lvds_border_bits =
> +			tmp & LVDS_BORDER_ENABLE;
> +
>  	/* gen2/3 store dither state in pfit control, needs to match */
>  	if (INTEL_INFO(dev)->gen < 4) {
>  		tmp = I915_READ(PFIT_CONTROL);
> -- 
> 2.1.4

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list