Re: [REGRESSION 7.3] drm/amd/display: single-frame scanout corruption on DCN32 at 120 Hz since a637a140ab86
From: Mikhail Gavrilov
Date: Sun Oct 18 2026 - 18:39:17 EST
The workaround from my previous mail does not survive a suspend. After
resume from S3 the band was back (seen, not measured) with the TV still
in FreeSync mode, because DC had turned SubVP back on.
Snapshots of amdgpu_dm_capabilities, pp_dpm_mclk and the DTN log, all
at 3840x2160@120 with FreeSync enabled (vrr_range 40-120, the EDID
byte-identical in every snapshot):
after boot sub-viewport disabled, UCLK at 1249 MHz
20 s after rtcwake -m mem sub-viewport enabled, UCLK switching,
watermark set A at the register maximum
after toggling Night Light sub-viewport disabled again
dcn32_allow_subvp_high_refresh_rate() keeps SubVP off a single FreeSync
display by reading stream->allow_freesync, but amdgpu_dm sets that
field only on the first flip after a commit, so the modeset forced on
resume is validated without it. A gamma change makes DC validate the
state again, this time with the field set. The patch:
https://lore.kernel.org/all/20261018221726.27259-1-mikhail.v.gavrilov@xxxxxxxxx/
With it, SubVP stays disabled across rtcwake -m mem. Until it is
merged, toggling Night Light after resume restores the workaround.
None of this changes the band itself: in HDMI VRR mode, and at 100 Hz
in either mode, DC uses SubVP anyway.
--
Thanks,
Mikhail