[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