[Intel-gfx] [PATCH 4/4] drm/i915: Properly clear crtc state when disabling it fully, again

Navare, Manasi manasi.d.navare at intel.com
Tue Feb 22 23:00:46 UTC 2022


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

okay agree

Reviewed-by: Manasi Navare <manasi.d.navare at 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
> 


More information about the Intel-gfx mailing list