mbox series

[v2,0/7] Use trans push mechanism to generate frame change event

Message ID 20241101062728.3865980-1-jouni.hogander@intel.com (mailing list archive)
Headers show
Series Use trans push mechanism to generate frame change event | expand

Message

Jouni Högander Nov. 1, 2024, 6:27 a.m. UTC
Currently we are using "automatic" frame change event generation. The
event is generated by any access to plane or pipe registers.

We have option to use "PSR PR Frame Change Enable" bit in TRANS_PUSH
register to enable frame change event generation on trans push. When
this bit is set "automatic" frame change event generation doesn't work
anymore.

This patch set is taking trans push mechanism into use.

NOTE: Patches add vrr.trans_push_enabled into intel_crtc and stores
trans push vrr and psr enable bits in trans_push_enabled. There is no
need for additional locking as it's taken care by psr mutex.

v2: implement intel_vrr_trans_push_enabled_set_clear and use that
    instead of rmw

Jouni Högander (7):
  drm/i915/psr: Add TRANS_PUSH register bit definition for PSR
  drm/i915/vrr: Do not overwrite TRANS_PUSH PSR Frame Change Enable
  drm/i915/vrr: Use TRANS_PUSH mechanism for PSR frame change
  drm/i915/psr: Rename psr_force_hw_tracking_exit as psr_force_exit
  drm/i915/psr: Simplify frontbuffer invalidate/flush callbacks
  drm/i915/psr: Add VRR send push interface for PSR usage
  drm/i915/display: Generate PSR frame change event on cursor update

 drivers/gpu/drm/i915/display/intel_cursor.c   |  5 ++
 .../drm/i915/display/intel_display_types.h    |  2 +
 drivers/gpu/drm/i915/display/intel_psr.c      | 83 ++++++-------------
 drivers/gpu/drm/i915/display/intel_vrr.c      | 81 ++++++++++++++++--
 drivers/gpu/drm/i915/display/intel_vrr.h      |  6 ++
 drivers/gpu/drm/i915/display/intel_vrr_regs.h |  1 +
 6 files changed, 115 insertions(+), 63 deletions(-)