Re: [PATCH] drm/msm/dpu: keep vblank enabled when entering self refresh
From: Konrad Dybcio
Date: Mon Oct 19 2026 - 09:34:31 EST
On 10/18/26 5:54 PM, Ramón Jesús Miranda wrote:
> When the CRTC is disabled to enter self refresh, dpu_crtc_disable() only
> checks old_crtc_state->self_refresh_active, which covers leaving self
> refresh, and calls drm_crtc_vblank_off() otherwise. The atomic helper
> then expects vblank to remain enabled for a self refresh "disable" and
> warns:
>
> driver disabled vblank in self-refresh
> WARNING: drivers/gpu/drm/drm_atomic_helper.c:1296 at
> drm_atomic_helper_commit_crtc_disable+0x1c0/0x1f8 [drm_kms_helper]
>
> Skip drm_crtc_vblank_off() when the new state enters self refresh, as
> other drivers supporting self refresh do. drm_crtc_vblank_on() in the
> enable path is safe either way, it only drops the reference taken by
> drm_crtc_vblank_off().
>
> Seen at every boot on a Microsoft Surface Pro 11 (X1E80100, Samsung OLED
> eDP panel) with eDP PSR enabled; with this change the warning is gone and
> self refresh keeps working.
>
> Assisted-by: Claude:claude-opus-5-5
> Signed-off-by: Ramón Jesús Miranda <ramonjesusmiranda@xxxxxxxxx>
> ---
FWIW this is not enough to get self-refresh to work on the Glymur
Zenbook A16 and the 8280-based x13s, the screen stays black if
there's no updates (it worked on the latter in the past). Dmitry promised
to take a look one day.
Konrad