[Intel-gfx] [PATCH 16/16] drm/i915: Reject 'Center' scaling mode for eDP/DSI on GMCH platforms

Jani Nikula jani.nikula at linux.intel.com
Wed Mar 30 13:36:14 UTC 2016


On Tue, 15 Mar 2016, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> We don't have a LVDS_BORDER_ENABLE type of bit for either eDP or DSI,
> and just trying to frob the display timings to include borders results
> in a corrupted picture. So reject the 'Center' scaling mode on GMCH
> platforms for eDP and DSI.
>
> TODO: Should really filter out the unsupported modes from the prop,
> but that would be fairly invasive since the prop is now created and
> stored by drm core. So leave it for a rainy day.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula at intel.com>


> ---
>  drivers/gpu/drm/i915/intel_dp.c  | 5 +++++
>  drivers/gpu/drm/i915/intel_dsi.c | 5 +++++
>  2 files changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 0e326e776e8f..f268bda6d55e 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -4754,6 +4754,11 @@ intel_dp_set_property(struct drm_connector *connector,
>  			DRM_DEBUG_KMS("no scaling not supported\n");
>  			return -EINVAL;
>  		}
> +		if (HAS_GMCH_DISPLAY(dev_priv) &&
> +		    val == DRM_MODE_SCALE_CENTER) {
> +			DRM_DEBUG_KMS("centering not supported\n");
> +			return -EINVAL;
> +		}
>  
>  		if (intel_connector->panel.fitting_mode == val) {
>  			/* the eDP scaling property is not changed */
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index 3823425a3e36..0ffa125a83e7 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -1082,6 +1082,11 @@ static int intel_dsi_set_property(struct drm_connector *connector,
>  			DRM_DEBUG_KMS("no scaling not supported\n");
>  			return -EINVAL;
>  		}
> +		if (HAS_GMCH_DISPLAY(dev) &&
> +		    val == DRM_MODE_SCALE_CENTER) {
> +			DRM_DEBUG_KMS("centering not supported\n");
> +			return -EINVAL;
> +		}
>  
>  		if (intel_connector->panel.fitting_mode == val)
>  			return 0;

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list