[Intel-gfx] [PATCH] drm/i915: Stop frobbing crtc->base.mode

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Wed Oct 30 14:55:50 UTC 2019


Op 29-10-2019 om 15:55 schreef Ville Syrjala:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> The core no longer uses drm_crtc_state::mode with atomic drivers,
> so let's stop frobbing it in the driver. For the user mode readout
> we'll just use an on stack mode.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index e56a75c07043..96f76abb2d37 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -14127,9 +14127,6 @@ static void intel_pipe_fastset(const struct intel_crtc_state *old_crtc_state,
>  	struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->base.crtc);
>  	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>  
> -	/* drm_atomic_helper_update_legacy_modeset_state might not be called. */
> -	crtc->base.mode = new_crtc_state->base.mode;
> -
>  	/*
>  	 * Update pipe size and adjust fitter if needed: the reason for this is
>  	 * that in compute_mode_changes we check the native mode (not the pfit
> @@ -17394,13 +17391,16 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
>  		struct intel_plane *plane;
>  		int min_cdclk = 0;
>  
> -		memset(&crtc->base.mode, 0, sizeof(crtc->base.mode));
>  		if (crtc_state->base.active) {
> -			intel_mode_from_pipe_config(&crtc->base.mode, crtc_state);
> -			crtc->base.mode.hdisplay = crtc_state->pipe_src_w;
> -			crtc->base.mode.vdisplay = crtc_state->pipe_src_h;
> -			intel_mode_from_pipe_config(&crtc_state->base.adjusted_mode, crtc_state);
> -			WARN_ON(drm_atomic_set_mode_for_crtc(&crtc_state->base, &crtc->base.mode));
> +			struct drm_display_mode mode;
> +
> +			intel_mode_from_pipe_config(&crtc_state->base.adjusted_mode,
> +						    crtc_state);
> +
> +			mode = crtc_state->base.adjusted_mode;
> +			mode.hdisplay = crtc_state->pipe_src_w;
> +			mode.vdisplay = crtc_state->pipe_src_h;
> +			WARN_ON(drm_atomic_set_mode_for_crtc(&crtc_state->base, &mode));
>  
>  			/*
>  			 * The initial mode needs to be set in order to keep

Hey,

We used to do this not for the core, but because i915 still used crtc->base.mode in some cases. I guess we no longer do, so this is fine.

Reviewed-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>

~Maarten



More information about the Intel-gfx mailing list