On Thu, Feb 17, 2022 at 12:32:21PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrj...@linux.intel.com>
> 
> 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.syrj...@linux.intel.com>

okay agree

Reviewed-by: Manasi Navare <manasi.d.nav...@intel.com>

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
> 

Reply via email to