Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Panel Replay mode change without full modeset
@ 2025-01-09 10:35 Jouni Högander
  2025-01-09 10:35 ` [PATCH 1/4] drm/i915/psr: Add new function for writing sink panel replay enable bit Jouni Högander
                   ` (17 more replies)
  0 siblings, 18 replies; 25+ messages in thread
From: Jouni Högander @ 2025-01-09 10:35 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: Jouni Högander

This patch set allows changing Panel Replay mode without full
modeset. There are couple of requirements in eDP1.5/DP2.0 spec:

"Enabling of the PR function shall occur prior to link training. To
re-enable the PR function after the PR function is disabled, it is
necessary to repeat link training."

This is achieved by enabling Panel Replay before link training always
if Panel Replay is supported by both sink and source. Panel Replay
enable bit is never cleared on sink side. When we are disabling Panel
Replay we are just disabling it on source side. This triggers sending
"VSC SDP" with "PR_STATE" set as "0 = PR Inactive (normal operation
mode, Live Frame mode)"

"The Source device may enable Selective Update by setting DPCD
001B0h[6] = 1 prior to transmitting a VSC SDP with the PR Active state
indication (DB1[0] = 1). The Source device that enables PR SU with
ALPM shall enable SU Region Early Transport by setting DPCD 001B0h[7]
= 1 prior to transmitting a VSC SDP with DB1[0] = 1."

These are achieved by transiting to Panel Replay Inactive state before
changing Selective Update or Early Transport bits.

Jouni Högander (4):
  drm/i915/psr: Add new function for writing sink panel replay enable
    bit
  drm/i915/psr: Enable Panel Replay on sink always when it's supported
  drm/i915/psr: Make intel_psr_enable_sink as local static function
  drm/i915/psr: Allow changing Panel Replay mode without full modeset

 drivers/gpu/drm/i915/display/intel_ddi.c     |  3 +-
 drivers/gpu/drm/i915/display/intel_display.c | 14 --------
 drivers/gpu/drm/i915/display/intel_psr.c     | 36 ++++++++++++++------
 drivers/gpu/drm/i915/display/intel_psr.h     |  3 +-
 4 files changed, 28 insertions(+), 28 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2025-01-21 10:08 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-09 10:35 [PATCH 0/4] Panel Replay mode change without full modeset Jouni Högander
2025-01-09 10:35 ` [PATCH 1/4] drm/i915/psr: Add new function for writing sink panel replay enable bit Jouni Högander
2025-01-13 11:04   ` Kahola, Mika
2025-01-09 10:35 ` [PATCH 2/4] drm/i915/psr: Enable Panel Replay on sink always when it's supported Jouni Högander
2025-01-13 11:06   ` Kahola, Mika
2025-01-09 10:35 ` [PATCH 3/4] drm/i915/psr: Make intel_psr_enable_sink as local static function Jouni Högander
2025-01-13 11:06   ` Kahola, Mika
2025-01-09 10:35 ` [PATCH 4/4] drm/i915/psr: Allow changing Panel Replay mode without full modeset Jouni Högander
2025-01-13 11:22   ` Kahola, Mika
2025-01-21 10:08     ` Hogander, Jouni
2025-01-09 11:28 ` ✓ CI.Patch_applied: success for Panel Replay mode change " Patchwork
2025-01-09 11:28 ` ✓ CI.checkpatch: " Patchwork
2025-01-09 11:29 ` ✓ CI.KUnit: " Patchwork
2025-01-09 11:47 ` ✓ CI.Build: " Patchwork
2025-01-09 11:50 ` ✓ CI.Hooks: " Patchwork
2025-01-09 11:51 ` ✗ CI.checksparse: warning " Patchwork
2025-01-20 14:12 ` ✓ CI.Patch_applied: success for Panel Replay mode change without full modeset (rev2) Patchwork
2025-01-20 14:12 ` ✓ CI.checkpatch: " Patchwork
2025-01-20 14:13 ` ✓ CI.KUnit: " Patchwork
2025-01-20 14:29 ` ✓ CI.Build: " Patchwork
2025-01-20 14:32 ` ✓ CI.Hooks: " Patchwork
2025-01-20 14:33 ` ✗ CI.checksparse: warning " Patchwork
2025-01-20 15:20 ` ✓ Xe.CI.BAT: success " Patchwork
2025-01-20 18:12 ` ✗ Xe.CI.Full: failure " Patchwork
2025-01-21  8:13   ` Hogander, Jouni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox