[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