From: Jouni Högander Date: Fri, 1 Sep 2023 09:34:58 +0000 (+0300) Subject: drm/i915/psr: Clear frontbuffer busy bits on flip X-Git-Tag: v6.7-rc1~145^2~15^2~134 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=35a97f56d6ccf1870e666fb6efa12a7ec201b9e4;p=thirdparty%2Fkernel%2Flinux.git drm/i915/psr: Clear frontbuffer busy bits on flip We are planning to move flush performed from work queue. This means it is possible to have invalidate -> flip -> flush sequence. Handle this by clearing possible busy bits on flip. Signed-off-by: Jouni Högander Reviewed-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20230901093500.3463046-3-jouni.hogander@intel.com --- diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c index 79e57a5e17389..b9e38acc51320 100644 --- a/drivers/gpu/drm/i915/display/intel_psr.c +++ b/drivers/gpu/drm/i915/display/intel_psr.c @@ -2230,6 +2230,12 @@ static void _intel_psr_post_plane_update(const struct intel_atomic_state *state, if (crtc_state->crc_enabled && psr->enabled) psr_force_hw_tracking_exit(intel_dp); + /* + * Clear possible busy bits in case we have + * invalidate -> flip -> flush sequence. + */ + intel_dp->psr.busy_frontbuffer_bits = 0; + mutex_unlock(&psr->lock); } }