[PATCH i-g-t v2 1/2] tests/kms_vrr: Fix vrr multi-display issue
Naladala Ramanaidu
ramanaidu.naladala at intel.com
Tue Mar 25 20:02:08 UTC 2025
Ensure consistent output timing by changeing the conditional logic.
v2: Updat logic to set the default rate to the midpoint
if unspecified or out of VRR range.
Closes : https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/4227
Signed-off-by: Naladala Ramanaidu <ramanaidu.naladala at intel.com>
---
tests/kms_vrr.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
index c4bb30f6a..fd05ebc89 100644
--- a/tests/kms_vrr.c
+++ b/tests/kms_vrr.c
@@ -324,12 +324,19 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
int num_painted_fbs;
mode = *igt_output_get_mode(output);
+ data->range = get_vrr_range(data, output);
data->vtest_ns.min = igt_kms_frame_time_from_vrefresh(data->range.min);
data->vtest_ns.max = igt_kms_frame_time_from_vrefresh(data->range.max);
- /* If unspecified on the command line, default rate to the midpoint */
- if (data->vtest_ns.rate_ns == 0) {
+ /*
+ * If unspecified on the command line or out of VRR range,
+ * default rate to the midpoint.
+ *
+ */
+ if ((data->vtest_ns.rate_ns == 0) ||
+ (data->vtest_ns.rate_ns < data->vtest_ns.min) ||
+ (data->vtest_ns.rate_ns > data->vtest_ns.max)) {
range_t *range = &data->range;
data->vtest_ns.rate_ns = igt_kms_frame_time_from_vrefresh(
(range->min + range->max) / 2);
--
2.43.0
More information about the igt-dev
mailing list