On Thu, Feb 17, 2022 at 12:32:21PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Currently we just leave the old gunk lying around in the crtc > state when userspace asks us to fully disable the crtc. That > doesn't match what the state would be had we never even enabled > the crtc in the first place. So let's make this consistent and > call intel_crtc_prepare_cleared_state() for disabled crtcs as well > (excluding bigjoiner slaves of course which have had their state > copied from the master). > > I actually already did this once in commit fff13e63a141 ("drm/i915: > Clear most of crtc state when disabling the crtc") but then > commit 19f65a3dbf75 ("drm/i915: Try to make bigjoiner work in atomic > check") undid it all :( > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> okay agree Reviewed-by: Manasi Navare <manasi.d.navare@xxxxxxxxx> Manasi > --- > drivers/gpu/drm/i915/display/intel_display.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > index 61adfcd7cf63..e160cee3240d 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -7627,9 +7627,8 @@ static int intel_atomic_check(struct drm_device *dev, > continue; > } > > - if (!new_crtc_state->uapi.enable) { > - if (!intel_crtc_is_bigjoiner_slave(new_crtc_state)) > - intel_crtc_copy_uapi_to_hw_state_modeset(state, crtc); > + if (intel_crtc_is_bigjoiner_slave(new_crtc_state)) { > + drm_WARN_ON(&dev_priv->drm, new_crtc_state->uapi.enable); > continue; > } > > @@ -7637,6 +7636,9 @@ static int intel_atomic_check(struct drm_device *dev, > if (ret) > goto fail; > > + if (!new_crtc_state->hw.enable) > + continue; > + > ret = intel_modeset_pipe_config(state, new_crtc_state); > if (ret) > goto fail; > -- > 2.34.1 >