https://bugzilla.kernel.org/show_bug.cgi?id=202445
--- Comment #28 from Clément Guérin (libcg@protonmail.com) --- Nevermind. This commit was merged right before 5.0 was released. So yes, it was in the tree.
What I suspect is happening is that a couple or more frames are scheduled by the BTR code, but for some reason they are displayed at the max refresh rate (144Hz in my case), then the monitor times out on the last frame and that produces flickering. Which is what I pointed out in comment 16.
EDIT: I just realized that the link in that comment is outdated because code moved around. This is what it originally pointed to: https://github.com/torvalds/linux/blob/672e78c/drivers/gpu/drm/amd/display/m...
/* TODO: pass in flag for Pre-DCE12 ASIC * in order for frame variable duration to take affect, * it needs to be done one VSYNC early, which is at * frameCounter == 1. * For DCE12 and newer updates to V_TOTAL_MIN/MAX * will take affect on current frame */
As far as I know that will only affect pre-Vega GPUs, and I'm running Fiji.