drm/i915/vrr: Stop writing VRR_CTL_IGN_MAX_SHIFT for MTL onwards
authorJouni Högander <jouni.hogander@intel.com>
Wed, 9 Apr 2025 05:49:09 +0000 (08:49 +0300)
committerJouni Högander <jouni.hogander@intel.com>
Mon, 14 Apr 2025 05:13:59 +0000 (08:13 +0300)
According to Bspec VRR_CTL_IGN_MAX_SHIFT doesn't exist for MTL and
onwards. On LunarLake and onwards Bit 30 is "Mask Block PkgC" instead. Stop
writing the bit for MeteorLake and onwards

v2: "Ignore Max Shift" bit doesn't exist on MeteorLake either

Bspec: 50508, 68925
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://lore.kernel.org/r/20250409054909.968531-1-jouni.hogander@intel.com
drivers/gpu/drm/i915/display/intel_vrr.c

index 633a66f6b73be366cb7c26de936899bbcd85a2af..c6565baf815a1a477b768bbb45e1acbe3e6770d4 100644 (file)
@@ -444,7 +444,10 @@ static u32 trans_vrr_ctl(const struct intel_crtc_state *crtc_state)
 {
        struct intel_display *display = to_intel_display(crtc_state);
 
-       if (DISPLAY_VER(display) >= 13)
+       if (DISPLAY_VER(display) >= 14)
+               return VRR_CTL_FLIP_LINE_EN |
+                       XELPD_VRR_CTL_VRR_GUARDBAND(crtc_state->vrr.guardband);
+       else if (DISPLAY_VER(display) >= 13)
                return VRR_CTL_IGN_MAX_SHIFT | VRR_CTL_FLIP_LINE_EN |
                        XELPD_VRR_CTL_VRR_GUARDBAND(crtc_state->vrr.guardband);
        else