Dual Refresh rate fastset fails with upstream VRR fastset support
Dual refresh rate (DRR) fastset seamlessly lets refresh rate throttle without needing a full modeset. However with the recent VRR fastset patches ("drm/i915/vrr: Allow VRR to be toggled during fastsets" SHA: 1af1d18825d3a5d36b6a3e5049998c3f09321145) that got merged this logic was broken. This is broken because now with VRR fastset VRR parameters are calculated by default at the nominal refresh rate say 120Hz. Now when DRR throttle happens to switch refresh rate to 60Hz, crtc clock changes and this throws a mismatch in VRR parameters and fastset logic for DRR gets thrown off and full modeset is needed instead of a fastset.
This needs to be fixed so we can seamlessly throttle between dual refresh rates w/o a full modeset when VRR is disabled. In case of VRR enabled, it will still need a full modeset so that the parameters are newly computed with new refresh rate. We would like to also investigate if it is possible to recompute these VRR parameters and write to HW regs w/o full modeset so that both VRR and DRR can operate together in a fastset fashion.