ACK: [SRU][Q][PATCH 0/2] On Dell system, the internal OLED display drops to a visibly low FPS after suspend/resume

Vinicius Peixoto vinicius.peixoto at canonical.com
Fri Apr 24 18:49:20 UTC 2026


On Mon Apr 6, 2026 at 11:50 PM -03, AceLan Kao wrote:
> From: "Chia-Lin Kao (AceLan)" <acelan.kao at canonical.com>
>
> BugLink: https://bugs.launchpad.net/bugs/2144712
>
> [Impact]
> On Dell systems (CID: 202511-38076), the internal OLED display drops to a
> visibly lower refresh rate after suspend/resume. The state persists until a
> cold reboot. Applications like glmark2 still report rendering at 120Hz but
> the panel visually operates at a much lower frame rate.
>
> Steps to reproduce:
> 1. Unplug all accessories
> 2. Boot into OS
> 3. Drag a window around the desktop and observe the FPS (smooth 120Hz)
> 4. Suspend then resume
> 5. Drag a window around the desktop — FPS is now visibly and permanently lower
> Failure rate: 100% on affected hardware
> Affected test case: com.canonical.certification::suspend/display_after_suspend
>
> Root cause: The i915 driver initializes Panel Replay (an OLED power-saving
> feature) via DPCD negotiation during resume. On this specific panel, Panel
> Replay causes the display to be locked at a degraded frame rate after resume.
> The panel does not correctly handle Panel Replay activation in this
> configuration, resulting in permanently reduced FPS until a cold reboot.
>
> [Fix]
> Add a new quirk QUIRK_DISABLE_PANEL_REPLAY to the Intel i915 display driver
> that prevents Panel Replay DPCD initialization for problematic panel setups.
> Apply this quirk for Dell systems with device ID 0xb080, subsystem vendor
> 0x1028, subsystem device 0x0db9, and sink OUI 0x00:0x22:0xb9.
>
> When the quirk is present, _panel_replay_init_dpcd() returns early before
> reading Panel Replay capability from the panel's DPCD registers, effectively
> disabling the Panel Replay feature for this hardware combination.
>
> The patch is currently under review in the Intel DRM/i915 mailing list:
> https://patchwork.freedesktop.org/series/163265/
>
> Upstream issue tracker:
> https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/7521
>
> In linux-next
> 1de647abdfda9 drm/i915/psr: Fixes for Dell XPS DA14260 quirk
> 45c77d4bf8d4d drm/i915/psr: Disable Panel Replay on Dell XPS 14 DA14260 as a quirk
>
> [Test Plan]
> On a Dell system (CID: 202511-38076) with Intel integrated graphics:
>
> 1. Suspend and resume the system:
>    $ sudo rtcwake -m mem -s 20
> 2. After resume, drag a window around the desktop and observe the frame rate.
>
> Without the patch: The display FPS drops permanently after resume and stays
> degraded until cold reboot.
> With the patch: The display maintains normal 120Hz refresh rate after
> suspend/resume.
>
> [Where problems could occur]
> It may break Panel Replay functionality on Intel i915 display configurations.
>
> The quirk check is inserted early in _panel_replay_init_dpcd(), before any
> DPCD reads occur. If the quirk match logic incorrectly identifies a panel
> (e.g., due to incorrect OUI or PCI subsystem ID matching), Panel Replay will
> be silently disabled on panels where it would otherwise work correctly. This
> would cause affected systems to lose the power-saving benefits of Panel Replay
> without any visible error — users would see slightly higher power consumption
> on OLED panels.
>
> Additionally, if the quirk infrastructure itself has a bug (e.g., the
> intel_has_dpcd_quirk() function returning unexpected values), it could either
> fail to disable Panel Replay on affected hardware (regression still present)
> or disable it too broadly on unaffected hardware.
>
> [Other Info]
> The patch is under review in the Intel DRM mailing list (patchwork series
> 163265) and has not yet landed in the mainline kernel.
>
> Jouni Högander (2):
>   drm/i915/psr: Disable Panel Replay on Dell XPS 14 DA14260 as a quirk
>   drm/i915/psr: Fixes for Dell XPS DA14260 quirk
>
>  drivers/gpu/drm/i915/display/intel_psr.c    |  8 +++++++
>  drivers/gpu/drm/i915/display/intel_quirks.c | 25 ++++++++++++++++++---
>  drivers/gpu/drm/i915/display/intel_quirks.h |  1 +
>  3 files changed, 31 insertions(+), 3 deletions(-)

Acked-by: Vinicius Peixoto <vinicius.peixoto at canonical.com>



More information about the kernel-team mailing list