From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [i-g-t V4 41/52] tests/i915/kms_cdclk: Add support for Bigjoiner
Date: Thu, 22 Sep 2022 21:29:53 +0530 [thread overview]
Message-ID: <20220922160004.2041598-42-bhanuprakash.modem@intel.com> (raw)
In-Reply-To: <20220922160004.2041598-1-bhanuprakash.modem@intel.com>
As many 2x tests are currently running on Pipe-A & B only, those
tests will always SKIP if there is any 8K supported panel in the
config. Instead of Skipping the test, add some intelligence to
the subtest to identify the valid pipe/output combo to execute
the subtest.
V2: - Use updated helper name
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
tests/i915/kms_cdclk.c | 93 +++++++++++++++++++++++-------------------
1 file changed, 51 insertions(+), 42 deletions(-)
diff --git a/tests/i915/kms_cdclk.c b/tests/i915/kms_cdclk.c
index 002b631c..a2f7071f 100644
--- a/tests/i915/kms_cdclk.c
+++ b/tests/i915/kms_cdclk.c
@@ -243,20 +243,17 @@ static void test_mode_transition_on_all_outputs(data_t *data)
int debugfs_fd = data->debugfs_fd;
drmModeModeInfo *mode, *mode_hi, *mode_lo;
igt_output_t *output;
- int valid_outputs = 0;
int cdclk_ref, cdclk_new;
uint16_t width = 0, height = 0;
struct igt_fb fb;
igt_pipe_t *pipe;
igt_plane_t *plane;
- int i = 0, j = 0;
+ enum pipe p, active_pipes[IGT_MAX_PIPES];
+ int i = 0, active_pipe_count = 0;
do_cleanup_display(display);
igt_display_reset(display);
- for_each_connected_output(&data->display, output)
- valid_outputs++;
-
for_each_connected_output(display, output) {
mode = igt_output_get_mode(output);
igt_assert(mode);
@@ -269,52 +266,59 @@ static void test_mode_transition_on_all_outputs(data_t *data)
igt_create_pattern_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
DRM_FORMAT_MOD_LINEAR, &fb);
- i = 0;
+
for_each_connected_output(display, output) {
- pipe = &display->pipes[i];
- plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+ for_each_pipe(display, p) {
+ mode = NULL;
- mode = NULL;
+ igt_output_set_pipe(output, p);
+ mode = igt_output_get_mode(output);
+ igt_assert(mode);
- igt_output_set_pipe(output, i);
- mode = igt_output_get_mode(output);
- igt_assert(mode);
+ mode_hi = get_highres_mode(output);
+ igt_require(mode_hi != NULL);
+
+ igt_output_override_mode(output, mode_hi);
+ if (!i915_pipe_output_combo_valid(display)) {
+ igt_output_set_pipe(output, PIPE_NONE);
+ continue;
+ }
- mode_lo = get_lowres_mode(output);
+ active_pipes[active_pipe_count++] = p;
+ pipe = &display->pipes[p];
+ plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+ igt_plane_set_fb(plane, &fb);
+ igt_fb_set_size(&fb, plane, mode_hi->hdisplay, mode_hi->vdisplay);
+ igt_plane_set_size(plane, mode_hi->hdisplay, mode_hi->vdisplay);
- igt_output_override_mode(output, mode_lo);
- igt_plane_set_fb(plane, &fb);
- igt_fb_set_size(&fb, plane, mode_lo->hdisplay, mode_lo->vdisplay);
- igt_plane_set_size(plane, mode_lo->hdisplay, mode_lo->vdisplay);
- i++;
+ break;
+ }
}
igt_display_commit2(display, COMMIT_ATOMIC);
- cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+ cdclk_new = get_current_cdclk_freq(debugfs_fd);
- j = 0;
for_each_connected_output(display, output) {
- pipe = &display->pipes[j];
- plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+ for (i = 0; i < active_pipe_count; i++) {
+ pipe = &display->pipes[active_pipes[i]];
+ plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
- mode = NULL;
+ mode = NULL;
+ igt_output_set_pipe(output, i);
+ mode = igt_output_get_mode(output);
+ igt_assert(mode);
- igt_output_set_pipe(output, j);
- mode = igt_output_get_mode(output);
- igt_assert(mode);
-
- mode_hi = get_highres_mode(output);
- igt_require(mode_hi != NULL);
+ mode_lo = get_lowres_mode(output);
- igt_output_override_mode(output, mode_hi);
- igt_plane_set_fb(plane, &fb);
- igt_fb_set_size(&fb, plane, mode_hi->hdisplay, mode_hi->vdisplay);
- igt_plane_set_size(plane, mode_hi->hdisplay, mode_hi->vdisplay);
- j++;
+ igt_output_override_mode(output, mode_lo);
+ igt_plane_set_fb(plane, &fb);
+ igt_fb_set_size(&fb, plane, mode_lo->hdisplay, mode_lo->vdisplay);
+ igt_plane_set_size(plane, mode_lo->hdisplay, mode_lo->vdisplay);
+ }
}
igt_display_commit2(display, COMMIT_ATOMIC);
- cdclk_new = get_current_cdclk_freq(debugfs_fd);
+ cdclk_ref = get_current_cdclk_freq(debugfs_fd);
igt_info("CD clock frequency %d -> %d\n", cdclk_ref, cdclk_new);
/* cdclk should bump */
@@ -332,13 +336,18 @@ static void run_cdclk_test(data_t *data, uint32_t flags)
enum pipe pipe;
for_each_pipe_with_valid_output(display, pipe, output) {
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name)
- if (igt_pipe_connector_valid(pipe, output)) {
- if (flags & TEST_PLANESCALING)
- test_plane_scaling(data, pipe, output);
- if (flags & TEST_MODETRANSITION)
- test_mode_transition(data, pipe, output);
- }
+ igt_output_set_pipe(output, pipe);
+ if (!i915_pipe_output_combo_valid(display)) {
+ igt_output_set_pipe(output, PIPE_NONE);
+ continue;
+ }
+
+ igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name) {
+ if (flags & TEST_PLANESCALING)
+ test_plane_scaling(data, pipe, output);
+ if (flags & TEST_MODETRANSITION)
+ test_mode_transition(data, pipe, output);
+ }
}
}
--
2.37.3
next prev parent reply other threads:[~2022-09-22 16:04 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-22 15:59 [igt-dev] [i-g-t V4 00/52] Add IGT support for Bigjoiner Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 01/52] lib/igt_kms: Add a helper for valid pipe/output constraint Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 02/52] lib/igt_kms: Bigjoiner check in max_bpc constraint Bhanuprakash Modem
2022-09-30 8:30 ` Swati Sharma
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 03/52] tests/kms_async_flips: Add support for Bigjoiner Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 04/52] tests/kms_atomic: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 05/52] tests/kms_atomic_interruptible: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 06/52] tests/kms_atomic_transition: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 07/52] tests/kms_color_helper: Helper to check Bigjoiner constraint Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 08/52] tests/kms_color: Add support for Bigjoiner Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 09/52] tests/chamelium/kms_color_chamelium: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 10/52] tests/kms_concurrent: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 11/52] tests/kms_content_protection: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 12/52] tests/kms_cursor_crc: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 13/52] tests/kms_cursor_edge_walk: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 14/52] tests/kms_cursor_legacy: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 15/52] tests/kms_display_modes: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 16/52] tests/kms_dp_tiled_display: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 17/52] tests/kms_flip_event_leak: " Bhanuprakash Modem
2022-09-30 8:42 ` B, Jeevan
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 18/52] tests/kms_invalid_mode: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 19/52] tests/kms_lease: " Bhanuprakash Modem
2022-09-30 6:44 ` Thasleem, Mohammed
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 20/52] tests/kms_multipipe_modeset: Find the suitable mode instead of using default Bhanuprakash Modem
2022-09-28 9:09 ` [igt-dev] [i-g-t V5 " Bhanuprakash Modem
2022-09-30 4:00 ` Karthik B S
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 21/52] tests/kms_pipe_crc_basic: Add support for Bigjoiner Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 22/52] tests/kms_plane: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 23/52] tests/kms_plane_alpha_blend: " Bhanuprakash Modem
2022-09-28 11:20 ` [igt-dev] [i-g-t V5 " Bhanuprakash Modem
2022-09-30 8:27 ` Swati Sharma
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 24/52] tests/kms_plane_cursor: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 25/52] tests/kms_plane_lowres: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 26/52] tests/kms_plane_multiple: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 27/52] tests/kms_plane_scaling: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 28/52] tests/kms_prime: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 29/52] tests/kms_properties: " Bhanuprakash Modem
2022-09-30 6:55 ` Thasleem, Mohammed
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 30/52] tests/kms_rmfb: " Bhanuprakash Modem
2022-09-30 6:26 ` Thasleem, Mohammed
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 31/52] tests/kms_rotation_crc: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 32/52] tests/kms_scaling_modes: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 33/52] tests/kms_sequence: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 34/52] tests/kms_universal_plane: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 35/52] tests/kms_vblank: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 36/52] tests/kms_vrr: " Bhanuprakash Modem
2022-09-30 6:56 ` Thasleem, Mohammed
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 37/52] tests/i915/kms_big_fb: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 38/52] tests/i915/kms_big_joiner: Negative tests " Bhanuprakash Modem
2022-09-23 5:05 ` Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 39/52] tests/i915/kms_busy: Add support " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 40/52] tests/i915/kms_ccs: " Bhanuprakash Modem
2022-09-22 15:59 ` Bhanuprakash Modem [this message]
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 42/52] tests/i915/kms_draw_crc: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 43/52] tests/i915/kms_fence_pin_leak: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 44/52] tests/i915/kms_flip_scaled_crc: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 45/52] tests/i915/kms_flip_tiling: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 46/52] tests/i915/kms_frontbuffer_tracking: " Bhanuprakash Modem
2022-09-22 15:59 ` [igt-dev] [i-g-t V4 47/52] tests/i915/kms_mmap_write_crc: " Bhanuprakash Modem
2022-09-30 6:46 ` Thasleem, Mohammed
2022-09-22 16:00 ` [igt-dev] [i-g-t V4 48/52] tests/i915/kms_psr2_sf: " Bhanuprakash Modem
2022-09-30 8:39 ` B, Jeevan
2022-09-22 16:00 ` [igt-dev] [i-g-t V4 49/52] tests/i915/kms_psr2_su: " Bhanuprakash Modem
2022-09-30 8:44 ` B, Jeevan
2022-09-22 16:00 ` [igt-dev] [i-g-t V4 50/52] tests/i915/kms_psr: " Bhanuprakash Modem
2022-09-27 10:23 ` B, Jeevan
2022-09-22 16:00 ` [igt-dev] [i-g-t V4 51/52] tests/i915/kms_psr_stress_test: " Bhanuprakash Modem
2022-09-30 8:40 ` B, Jeevan
2022-09-22 16:00 ` [igt-dev] [i-g-t V4 52/52] tests/i915/kms_pwrite_crc: " Bhanuprakash Modem
2022-09-30 7:00 ` Thasleem, Mohammed
2022-09-30 9:30 ` [igt-dev] [i-g-t V5 " Bhanuprakash Modem
2022-09-22 21:57 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT support for Bigjoiner (rev4) Patchwork
2022-09-23 3:51 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2022-09-23 6:05 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT support for Bigjoiner (rev5) Patchwork
2022-09-23 16:21 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2022-09-28 10:22 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT support for Bigjoiner (rev6) Patchwork
2022-09-28 12:22 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT support for Bigjoiner (rev7) Patchwork
2022-09-29 2:56 ` [igt-dev] ✗ Fi.CI.IGT: failure for Add IGT support for Bigjoiner (rev6) Patchwork
2022-09-29 6:13 ` [igt-dev] ✗ Fi.CI.IGT: failure for Add IGT support for Bigjoiner (rev7) Patchwork
2022-09-30 10:35 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT support for Bigjoiner (rev8) Patchwork
2022-10-01 7:10 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220922160004.2041598-42-bhanuprakash.modem@intel.com \
--to=bhanuprakash.modem@intel.com \
--cc=igt-dev@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox