[SRU][Q][PATCH 0/5] Fix for i915 PSR issue on SDC panels on Intel PTL

Aaron Ma aaron.ma at canonical.com
Wed Mar 18 05:57:22 UTC 2026


BugLink: https://bugs.launchpad.net/bugs/2144637

[Impact]
After suspend/resume, the internal display freezes and stops refreshing on
systems with SDC eDP panels using Panel Replay. The display content appears
frozen — typing or mouse movement shows no visual feedback. External
monitors continue to work normally.

The root cause is incorrect handling of Panel Replay Selective Update X
granularity DPCD registers (0xb2 and 0xb3). Per the DP specification,
0xffff means full-line granularity, but the driver did not handle this
special value, causing selective update to fail after suspend/resume.

Upstream bug: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/7284

[Fix]
Cherry-pick 5 upstream commits (v6.18 through v7.0-rc3):

- f861e54fb33b5 ("drm/i915/psr: Add panel granularity information into intel_connector")
- 90d8aad11f613 ("drm/i915/psr: Panel Replay SU cap dpcd read return value")
- 1cc854647450  ("drm/i915/psr: Use SU granularity information available in intel_connector")
- ace7dcc818137 ("drm/dp: Add definition for Panel Replay full-line granularity")
- a99cac460ddeb ("drm/i915/psr: Fix for Panel Replay X granularity DPCD register handling")

[Test Plan]
On a system with an SDC eDP panel supporting Panel Replay:

$ for i in $(seq 1 10); do sudo rtcwake -m mem -s 20; sleep 5; done

Without the patch: Internal display freezes after resume.
With the patch: Display refreshes normally after every resume.

[Where problems could occur]
Incorrect granularity handling could cause visual artifacts on panels with
non-0xffff granularity values. All patches are upstream and reviewed by
Intel display maintainers.

[Other Info]
SRU for OEM-6.17, questing, and resolute.

Jouni Högander (5):
  drm/i915/psr: Panel Replay SU cap dpcd read return value
  drm/i915/psr: Add panel granularity information into intel_connector
  drm/i915/psr: Use SU granularity information available in
    intel_connector
  drm/dp: Add definition for Panel Replay full-line granularity
  drm/i915/psr: Fix for Panel Replay X granularity DPCD register
    handling

 .../drm/i915/display/intel_display_types.h    |  10 ++
 drivers/gpu/drm/i915/display/intel_dp.c       |   4 +-
 drivers/gpu/drm/i915/display/intel_psr.c      | 154 +++++++++---------
 drivers/gpu/drm/i915/display/intel_psr.h      |   2 +-
 include/drm/display/drm_dp.h                  |   2 +
 5 files changed, 91 insertions(+), 81 deletions(-)

-- 
2.43.0




More information about the kernel-team mailing list