mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
drm/i915/vrr: Refactor condition for computing vmax and LRR
LRR and Vmax can be computed only if VRR is supported and vrr.in_range is set. Currently we proceed with vrr timings only for VRR supporting panels and return otherwise. For using VRR TG with fix timings, need to continue even for panels that do not support VRR. To achieve this, refactor the condition for computing vmax and update_lrr so that we can continue for fixed timings for panels that do not support VRR. v2: Set vmax = vmin for non VRR panels. (Ville) Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://lore.kernel.org/r/20250324133248.4071909-6-ankit.k.nautiyal@intel.com
This commit is contained in:
parent
9c29a0dd8c
commit
660d1c6385
|
|
@ -365,14 +365,16 @@ intel_vrr_compute_config(struct intel_crtc_state *crtc_state,
|
|||
|
||||
crtc_state->vrr.in_range =
|
||||
intel_vrr_is_in_range(connector, drm_mode_vrefresh(adjusted_mode));
|
||||
if (!crtc_state->vrr.in_range)
|
||||
return;
|
||||
|
||||
if (HAS_LRR(display))
|
||||
crtc_state->update_lrr = true;
|
||||
|
||||
vmin = intel_vrr_compute_vmin(crtc_state);
|
||||
vmax = intel_vrr_compute_vmax(connector, adjusted_mode);
|
||||
|
||||
if (crtc_state->vrr.in_range) {
|
||||
if (HAS_LRR(display))
|
||||
crtc_state->update_lrr = true;
|
||||
vmax = intel_vrr_compute_vmax(connector, adjusted_mode);
|
||||
} else {
|
||||
vmax = vmin;
|
||||
}
|
||||
|
||||
if (vmin >= vmax)
|
||||
return;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user