diff options
author | Bhanuprakash Modem <bhanuprakash.modem@intel.com> | 2024-06-18 13:52:46 +0530 |
---|---|---|
committer | Bhanuprakash Modem <bhanuprakash.modem@intel.com> | 2024-06-27 17:35:07 +0530 |
commit | 2acb8ecac6d7f9f28bc96904bfbbb3843be7412b (patch) | |
tree | a068412a36463a158ca13f4e75ff89117c86307d | |
parent | 0fb76cf8efc52cba3cd987f6b85762c01d8afc87 (diff) |
tests/kms_flip: Force joiner support in bigjoiner checks
As we recently introduced the option (through debugfs) to
force the bigjoiner, needs to extend the support in bigjoiner
checks to handle the force joiner.
V2: - Fix connector name
Cc: Kunal Joshi <kunal1.joshi@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Jeevan B <jeevan.b@intel.com>
-rwxr-xr-x | tests/kms_flip.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/tests/kms_flip.c b/tests/kms_flip.c index d352ee14c..cbabbe74f 100755 --- a/tests/kms_flip.c +++ b/tests/kms_flip.c @@ -1730,22 +1730,37 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs, /* * Handle BW limitations on intel hardware: * - * if mode resolution > 5K (or) mode clock > max_dotclock, then ignore + * if force joiner (or) mode resolution > 5K (or) mode clock > max_dotclock, then ignore * - last crtc in single/multi-connector config * - consecutive crtcs in multi-connector config * * in multi-connector config ignore if - * - previous crtc (mode resolution > 5K or mode clock > max_dotclock) and + * - previous crtc (force joiner or mode resolution > 5K or mode clock > max_dotclock) and * - current & previous crtcs are consecutive */ if (!is_intel_device(drm_fd)) goto test; for (i = 0; i < crtc_count; i++) { - if ((igt_bigjoiner_possible(&o->kmode[i], max_dotclock) && + char conn_name[24], prev_conn_name[24]; + + snprintf(conn_name, sizeof(conn_name), + "%s-%d", + kmstest_connector_type_str(o->kconnector[i]->connector_type), + o->kconnector[i]->connector_type_id); + + if (i > 0) + snprintf(prev_conn_name, sizeof(prev_conn_name), + "%s-%d", + kmstest_connector_type_str(o->kconnector[i - 1]->connector_type), + o->kconnector[i - 1]->connector_type_id); + + if (((igt_check_force_joiner_status(drm_fd, conn_name) || + igt_bigjoiner_possible(&o->kmode[i], max_dotclock)) && ((crtc_idxs[i] >= (total_crtcs - 1)) || ((i < (crtc_count - 1)) && (abs(crtc_idxs[i + 1] - crtc_idxs[i]) <= 1)))) || - ((i > 0) && igt_bigjoiner_possible(&o->kmode[i - 1], max_dotclock) && + ((i > 0) && (igt_check_force_joiner_status(drm_fd, prev_conn_name) || + igt_bigjoiner_possible(&o->kmode[i - 1], max_dotclock)) && (abs(crtc_idxs[i] - crtc_idxs[i - 1]) <= 1))) { igt_debug("Combo: %s is not possible with selected mode(s).\n", test_name); |