> -----Original Message-----
> From: Intel-gfx <[email protected]> On Behalf Of Ville 
> Syrjala
> Sent: Thursday, February 23, 2023 8:51 PM
> To: [email protected]
> Cc: [email protected]
> Subject: [Intel-gfx] [PATCH] drm/i915: Preserve crtc_state->inherited during 
> state
> clearing
> 
> From: Ville Syrjälä <[email protected]>
> 
> intel_crtc_prepare_cleared_state() is unintentionally losing the "inherited" 
> flag. This
> will happen if intel_initial_commit() is forced to go through the full modeset
> calculations for whatever reason.
> 
> Afterwards the first real commit from userspace will not get forced to the 
> full
> modeset path, and thus eg. audio state may not get recomputed properly. So if 
> the
> monitor was already enabled during boot audio will not work until userspace 
> itself
> does an explicit full modeset.

Looks Good to me.
Reviewed-by: Uma Shankar <[email protected]>

> Cc: [email protected]
> Tested-by: Lee Shawn C <[email protected]>
> Signed-off-by: Ville Syrjälä <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index a1fbdf32bd21..ed95c0acfaae 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -5078,6 +5078,7 @@ intel_crtc_prepare_cleared_state(struct
> intel_atomic_state *state,
>        * only fields that are know to not cause problems are preserved. */
> 
>       saved_state->uapi = crtc_state->uapi;
> +     saved_state->inherited = crtc_state->inherited;
>       saved_state->scaler_state = crtc_state->scaler_state;
>       saved_state->shared_dpll = crtc_state->shared_dpll;
>       saved_state->dpll_hw_state = crtc_state->dpll_hw_state;
> --
> 2.39.2

Reply via email to