We want to use the optimized/reduced guardband whenever we are using the VRR timing generator, as the legacy timing generator doesn't need vrr guardband.
On platforms where the VRR timing generator is always ON, we optimize the guardband regardless of whether the display is operating in fixed or variable refresh rate mode. On platforms where the VRR timing generator is not always ON, we optimize the guardband only when VRR is enabled. Add a helper intel_vrr_use_optimized_guardband() to determine if the optimized/reduced guardband should be used. Signed-off-by: Ankit Nautiyal <ankit.k.nauti...@intel.com> --- drivers/gpu/drm/i915/display/intel_vrr.c | 7 +++++++ drivers/gpu/drm/i915/display/intel_vrr.h | 1 + 2 files changed, 8 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c index a43e5ee2d3ac..ff6848de21b5 100644 --- a/drivers/gpu/drm/i915/display/intel_vrr.c +++ b/drivers/gpu/drm/i915/display/intel_vrr.c @@ -956,3 +956,10 @@ int intel_vrr_compute_guardband(struct intel_crtc_state *crtc_state, return guardband; } + +bool intel_vrr_use_optimized_guardband(const struct intel_crtc_state *crtc_state) +{ + struct intel_display *display = to_intel_display(crtc_state); + + return intel_vrr_always_use_vrr_tg(display) || crtc_state->vrr.enable; +} diff --git a/drivers/gpu/drm/i915/display/intel_vrr.h b/drivers/gpu/drm/i915/display/intel_vrr.h index d332e5a0a1c1..0c741c2a5bbd 100644 --- a/drivers/gpu/drm/i915/display/intel_vrr.h +++ b/drivers/gpu/drm/i915/display/intel_vrr.h @@ -44,5 +44,6 @@ int intel_vrr_safe_window_start(const struct intel_crtc_state *crtc_state); int intel_vrr_vmin_safe_window_end(const struct intel_crtc_state *crtc_state); int intel_vrr_compute_guardband(struct intel_crtc_state *crtc_state, struct intel_connector *connector); +bool intel_vrr_use_optimized_guardband(const struct intel_crtc_state *crtc_state); #endif /* __INTEL_VRR_H__ */ -- 2.45.2