> -----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
