@@ -25,6 +25,7 @@
#include "intel_psr.h"
#include "intel_psr_regs.h"
#include "intel_vblank.h"
+#include "intel_vrr.h"
#include "skl_watermark.h"
/* Cursor formats */
@@ -798,6 +799,7 @@ intel_legacy_cursor_update(struct drm_plane *_plane,
to_intel_crtc_state(crtc->base.state);
struct intel_crtc_state *new_crtc_state;
struct intel_vblank_evade_ctx evade;
+ enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
int ret;
/*
@@ -917,6 +919,9 @@ intel_legacy_cursor_update(struct drm_plane *_plane,
intel_plane_disable_arm(NULL, plane, crtc_state);
}
+ if (crtc_state->has_psr)
+ intel_vrr_psr_send_push(crtc, cpu_transcoder);
+
local_irq_enable();
intel_psr_unlock(crtc_state);
On LunarLake and onwards we are using vrr send push mechanism to trigger frame change event. Due to this we need to trigger it using intel_vrr_psr_send_push provided by VRR code on legacy cursor update. Signed-off-by: Jouni Högander <jouni.hogander@intel.com> --- drivers/gpu/drm/i915/display/intel_cursor.c | 5 +++++ 1 file changed, 5 insertions(+)