* [igt-dev] [RFC, i-g-t] tests/kms_vrr: Add a new subtest to validate different VRR modes
@ 2023-05-30 17:24 Nidhi Gupta
2023-05-30 20:23 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Nidhi Gupta @ 2023-05-30 17:24 UTC (permalink / raw)
To: igt-dev; +Cc: Nidhi Gupta, mitulkumar.ajitkumar.golani
Test switch from base VRR mode to various VRR supported modes
without triggering modeset.
Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
---
tests/kms_vrr.c | 142 +++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 127 insertions(+), 15 deletions(-)
diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
index d2d79c4e..173d7010 100644
--- a/tests/kms_vrr.c
+++ b/tests/kms_vrr.c
@@ -46,6 +46,7 @@ enum {
TEST_SUSPEND = 1 << 2,
TEST_FLIPLINE = 1 << 3,
TEST_NEGATIVE = 1 << 4,
+ TEST_BASE_MODE_TO_VARIOUS_VRR_MODE = 1 << 5,
};
typedef struct range {
@@ -56,10 +57,17 @@ typedef struct range {
typedef struct data {
igt_display_t display;
int drm_fd;
+ int count_modes;
+ uint32_t hdisplay;
+ uint32_t vdisplay;
igt_plane_t *primary;
igt_fb_t fb0;
igt_fb_t fb1;
range_t range;
+ drmModeConnector *connector;
+ drmModeModeInfo *modes;
+ uint32_t base_mode_index;
+ uint32_t preferred_mode_index;
} data_t;
typedef struct vtest_ns {
@@ -168,6 +176,77 @@ get_vrr_range(data_t *data, igt_output_t *output)
return range;
}
+static bool is_variable_video_mode(data_t *data, drmModeModeInfo *mode)
+{
+ drmModeModeInfo *base_mode = &data->modes[data->base_mode_index];
+ uint32_t bm_clock = base_mode->clock;
+
+ if (mode->hdisplay == data->hdisplay &&
+ mode->vdisplay == data->vdisplay &&
+ mode->clock == bm_clock &&
+ mode->type & DRM_MODE_TYPE_DRIVER) {
+ return true;
+ }
+
+ return false;
+}
+
+static void init_data(data_t *data, igt_output_t *output)
+{
+ int i;
+ uint32_t pm_hdisplay, pm_vdisplay, max_clk = 0;
+ drmModeModeInfo *preferred_mode;
+ drmModeConnector *connector;
+
+ connector = data->connector = output->config.connector;
+ data->count_modes = connector->count_modes;
+ data->modes = (drmModeModeInfo *)malloc(sizeof(drmModeModeInfo) * data->count_modes);
+
+ for (i = 0; i < data->count_modes; i++) {
+ data->modes[i] = connector->modes[i];
+#ifdef FSV_DEBUG
+ igt_info("mode %d:", i);
+ kmstest_dump_mode(&data->modes[i]);
+#endif
+ }
+
+ /* searching the preferred mode */
+ for (i = 0; i < connector->count_modes; i++) {
+ drmModeModeInfo *mode = &connector->modes[i];
+
+ if (mode->type & DRM_MODE_TYPE_PREFERRED) {
+ data->preferred_mode_index = i;
+ data->hdisplay = mode->hdisplay;
+ data->vdisplay = mode->vdisplay;
+ pm_hdisplay = preferred_mode->hdisplay;
+ pm_vdisplay = preferred_mode->vdisplay;
+ break;
+ }
+ }
+
+ /* searching the base mode; */
+ for (i = 0; i < connector->count_modes; i++) {
+ drmModeModeInfo *mode = &connector->modes[i];
+
+ if (mode->hdisplay == pm_hdisplay && mode->vdisplay == pm_vdisplay) {
+ if (mode->clock > max_clk) {
+ max_clk = mode->clock;
+ data->base_mode_index = i;
+ }
+ }
+ }
+ igt_info("preferred=%d, base=%d\n", data->preferred_mode_index, data->base_mode_index);
+
+ for (i = 0; i < connector->count_modes; i++) {
+ drmModeModeInfo *mode = &connector->modes[i];
+
+ if (is_variable_video_mode(data, mode))
+ igt_debug("mode[%d] is variable video mode.\n", i);
+ }
+
+ data->range = get_vrr_range(data, output);
+}
+
/* Returns vrr test frequency for min, mid & max range. */
static vtest_ns_t get_test_rate_ns(range_t range)
{
@@ -201,39 +280,42 @@ static void set_vrr_on_pipe(data_t *data, enum pipe pipe, bool enabled)
}
/* Prepare the display for testing on the given pipe. */
-static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
+static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe, drmModeModeInfo *mode)
{
- drmModeModeInfo mode;
cairo_t *cr;
/* Reset output */
igt_display_reset(&data->display);
igt_output_set_pipe(output, pipe);
+ igt_output_override_mode(output, mode);
+
/* Capture VRR range */
data->range = get_vrr_range(data, output);
- /* Override mode with max vrefresh.
- * - vrr_min range should be less than the override mode vrefresh.
- * - Limit the vrr_max range with the override mode vrefresh.
- */
- mode = output_mode_with_maxrate(output, data->range.max);
- igt_require(mode.vrefresh > data->range.min);
- data->range.max = mode.vrefresh;
- igt_output_override_mode(output, &mode);
+ if (mode == NULL) {
+ /* Override mode with max vrefresh.
+ * - vrr_min range should be less than the override mode vrefresh.
+ * - Limit the vrr_max range with the override mode vrefresh.
+ */
+ *mode = output_mode_with_maxrate(output, data->range.max);
+ igt_require(mode->vrefresh > data->range.min);
+ data->range.max = mode->vrefresh;
+ igt_output_override_mode(output, mode);
+ }
/* Prepare resources */
- igt_create_color_fb(data->drm_fd, mode.hdisplay, mode.vdisplay,
+ igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
0.50, 0.50, 0.50, &data->fb0);
- igt_create_color_fb(data->drm_fd, mode.hdisplay, mode.vdisplay,
+ igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
0.50, 0.50, 0.50, &data->fb1);
cr = igt_get_cairo_ctx(data->drm_fd, &data->fb0);
- igt_paint_color(cr, 0, 0, mode.hdisplay / 10, mode.vdisplay / 10,
+ igt_paint_color(cr, 0, 0, mode->hdisplay / 10, mode->vdisplay / 10,
1.00, 0.00, 0.00);
igt_put_cairo_ctx(cr);
@@ -353,19 +435,27 @@ flip_and_measure(data_t *data, igt_output_t *output, enum pipe pipe,
return total_flip ? ((total_pass * 100) / total_flip) : 0;
}
+/* Returns the rate duration in nanoseconds for the given refresh rate. */
+static uint64_t nsec_per_frame(uint64_t refresh)
+{
+ return NSECS_PER_SEC / refresh;
+}
+
/* Basic VRR flip functionality test - enable, measure, disable, measure */
static void
test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
{
uint32_t result;
+ int index;
vtest_ns_t vtest_ns;
range_t range;
uint64_t rate;
+ drmModeModeInfo *mode;
- prepare_test(data, output, pipe);
range = data->range;
vtest_ns = get_test_rate_ns(range);
rate = vtest_ns.mid;
+ mode = NULL;
igt_info("VRR Test execution on %s, PIPE_%s with VRR range: (%u-%u) Hz\n",
output->name, kmstest_pipe_name(pipe), range.min, range.max);
@@ -380,6 +470,7 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
flip_and_measure(data, output, pipe, rate, 250000000ull);
if (flags & TEST_DPMS) {
+ prepare_test(data, output, pipe, mode);
kmstest_set_connector_dpms(output->display->drm_fd,
output->config.connector,
DRM_MODE_DPMS_OFF);
@@ -388,9 +479,11 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
DRM_MODE_DPMS_ON);
}
- if (flags & TEST_SUSPEND)
+ if (flags & TEST_SUSPEND) {
+ prepare_test(data, output, pipe, mode);
igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
SUSPEND_TEST_NONE);
+ }
/*
* Check flipline mode by making sure that flips happen at flipline
@@ -408,6 +501,7 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
* next Vmin.
*/
if (flags & TEST_FLIPLINE) {
+ prepare_test(data, output, pipe, NULL);
rate = rate_from_refresh(range.max + 5);
result = flip_and_measure(data, output, pipe, rate, TEST_DURATION_NS);
igt_assert_f(result > 75,
@@ -416,6 +510,7 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
}
if (flags & ~TEST_NEGATIVE) {
+ prepare_test(data, output, pipe, NULL);
rate = vtest_ns.mid;
result = flip_and_measure(data, output, pipe, rate, TEST_DURATION_NS);
igt_assert_f(result > 75,
@@ -423,7 +518,20 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
((range.max + range.min) / 2), rate, result);
}
+ if (flags & TEST_BASE_MODE_TO_VARIOUS_VRR_MODE) {
+ init_data(data, output);
+ index = data->base_mode_index;
+ mode = &data->modes[index];
+ prepare_test(data, output, pipe, NULL);
+ rate = nsec_per_frame(mode->vrefresh);
+ result = flip_and_measure(data, output, pipe, rate, TEST_DURATION_NS);
+ igt_assert_f(result > 75,
+ "Refresh rate (%u Hz) %"PRIu64"ns: Target VRR on threshold not reached, result was %u%%\n",
+ ((range.max + range.min) / 2), rate, result);
+ }
+
if (flags & TEST_FLIPLINE) {
+ prepare_test(data, output, pipe, NULL);
rate = rate_from_refresh(range.min - 5);
result = flip_and_measure(data, output, pipe, rate, TEST_DURATION_NS);
igt_assert_f(result < 50,
@@ -526,6 +634,10 @@ igt_main
igt_subtest_with_dynamic("negative-basic")
run_vrr_test(&data, test_basic, TEST_NEGATIVE);
+ igt_describe("Test switch from base VRR mode to various VRR modes");
+ igt_subtest("vrr-base-to-various-vrr-modes")
+ run_vrr_test(&data, test_basic, TEST_BASE_MODE_TO_VARIOUS_VRR_MODE);
+
igt_fixture {
igt_display_fini(&data.display);
}
--
2.39.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_vrr: Add a new subtest to validate different VRR modes 2023-05-30 17:24 [igt-dev] [RFC, i-g-t] tests/kms_vrr: Add a new subtest to validate different VRR modes Nidhi Gupta @ 2023-05-30 20:23 ` Patchwork 2023-05-31 11:43 ` [igt-dev] [RFC, i-g-t] " Golani, Mitulkumar Ajitkumar 2023-05-31 21:51 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2023-05-30 20:23 UTC (permalink / raw) To: Nidhi Gupta; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 8735 bytes --] == Series Details == Series: tests/kms_vrr: Add a new subtest to validate different VRR modes URL : https://patchwork.freedesktop.org/series/118587/ State : success == Summary == CI Bug Log - changes from IGT_7311 -> IGTPW_9074 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/index.html Participating hosts (36 -> 37) ------------------------------ Additional (2): fi-kbl-soraka bat-mtlp-6 Missing (1): fi-kbl-8809g Known issues ------------ Here are the changes found in IGTPW_9074 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_huc_copy@huc-copy: - fi-kbl-soraka: NOTRUN -> [SKIP][1] ([fdo#109271] / [i915#2190]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@basic: - fi-kbl-soraka: NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#4613]) +3 similar issues [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html * igt@i915_selftest@live@gt_pm: - fi-kbl-soraka: NOTRUN -> [DMESG-FAIL][3] ([i915#1886] / [i915#7913]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html * igt@i915_selftest@live@reset: - bat-rpls-1: [PASS][4] -> [ABORT][5] ([i915#4983] / [i915#7461] / [i915#8347] / [i915#8384]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/bat-rpls-1/igt@i915_selftest@live@reset.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/bat-rpls-1/igt@i915_selftest@live@reset.html * igt@i915_selftest@live@workarounds: - bat-adlm-1: [PASS][6] -> [DMESG-FAIL][7] ([i915#7904]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/bat-adlm-1/igt@i915_selftest@live@workarounds.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/bat-adlm-1/igt@i915_selftest@live@workarounds.html * igt@kms_chamelium_frames@hdmi-crc-fast: - fi-kbl-soraka: NOTRUN -> [SKIP][8] ([fdo#109271]) +14 similar issues [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/fi-kbl-soraka/igt@kms_chamelium_frames@hdmi-crc-fast.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence: - bat-dg2-11: NOTRUN -> [SKIP][9] ([i915#1845] / [i915#5354]) +2 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html * igt@kms_setmode@basic-clone-single-crtc: - fi-kbl-soraka: NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#4579]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/fi-kbl-soraka/igt@kms_setmode@basic-clone-single-crtc.html #### Possible fixes #### * igt@i915_pm_rpm@basic-pci-d3-state: - fi-hsw-4770: [SKIP][11] ([fdo#109271]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/fi-hsw-4770/igt@i915_pm_rpm@basic-pci-d3-state.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/fi-hsw-4770/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@i915_pm_rpm@basic-rte: - fi-hsw-4770: [FAIL][13] ([i915#7364]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/fi-hsw-4770/igt@i915_pm_rpm@basic-rte.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/fi-hsw-4770/igt@i915_pm_rpm@basic-rte.html * igt@i915_selftest@live@gt_mocs: - {bat-mtlp-8}: [DMESG-FAIL][15] ([i915#7059]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/bat-mtlp-8/igt@i915_selftest@live@gt_mocs.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/bat-mtlp-8/igt@i915_selftest@live@gt_mocs.html * igt@i915_selftest@live@requests: - {bat-mtlp-8}: [DMESG-FAIL][17] ([i915#8497]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/bat-mtlp-8/igt@i915_selftest@live@requests.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/bat-mtlp-8/igt@i915_selftest@live@requests.html * igt@i915_selftest@live@slpc: - {bat-mtlp-8}: [DMESG-WARN][19] ([i915#6367]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/bat-mtlp-8/igt@i915_selftest@live@slpc.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/bat-mtlp-8/igt@i915_selftest@live@slpc.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1: - bat-dg2-8: [FAIL][21] ([i915#7932]) -> [PASS][22] [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html #### Warnings #### * igt@kms_psr@primary_mmap_gtt: - bat-rplp-1: [SKIP][23] ([i915#1072]) -> [ABORT][24] ([i915#8442]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/bat-rplp-1/igt@kms_psr@primary_mmap_gtt.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/bat-rplp-1/igt@kms_psr@primary_mmap_gtt.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3595]: https://gitlab.freedesktop.org/drm/intel/issues/3595 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4342]: https://gitlab.freedesktop.org/drm/intel/issues/4342 [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645 [i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059 [i915#7364]: https://gitlab.freedesktop.org/drm/intel/issues/7364 [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7904]: https://gitlab.freedesktop.org/drm/intel/issues/7904 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932 [i915#8189]: https://gitlab.freedesktop.org/drm/intel/issues/8189 [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347 [i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384 [i915#8442]: https://gitlab.freedesktop.org/drm/intel/issues/8442 [i915#8497]: https://gitlab.freedesktop.org/drm/intel/issues/8497 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7311 -> IGTPW_9074 CI-20190529: 20190529 CI_DRM_13200: 0ae4ee2c735979030a0219218081eee661606921 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9074: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/index.html IGT_7311: c031030f39aff973330668a5a2f1593408da78ae @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Testlist changes ---------------- +igt@kms_vrr@vrr-base-to-various-vrr-modes == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/index.html [-- Attachment #2: Type: text/html, Size: 8526 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [igt-dev] [RFC, i-g-t] tests/kms_vrr: Add a new subtest to validate different VRR modes 2023-05-30 17:24 [igt-dev] [RFC, i-g-t] tests/kms_vrr: Add a new subtest to validate different VRR modes Nidhi Gupta 2023-05-30 20:23 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork @ 2023-05-31 11:43 ` Golani, Mitulkumar Ajitkumar 2023-05-31 21:51 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork 2 siblings, 0 replies; 4+ messages in thread From: Golani, Mitulkumar Ajitkumar @ 2023-05-31 11:43 UTC (permalink / raw) To: Gupta, Nidhi1, igt-dev@lists.freedesktop.org Hi Nidhi, > -----Original Message----- > From: Gupta, Nidhi1 <nidhi1.gupta@intel.com> > Sent: 30 May 2023 22:54 > To: igt-dev@lists.freedesktop.org > Cc: Golani, Mitulkumar Ajitkumar <mitulkumar.ajitkumar.golani@intel.com>; > Gupta, Nidhi1 <nidhi1.gupta@intel.com> > Subject: [RFC, i-g-t] tests/kms_vrr: Add a new subtest to validate different > VRR modes > > Test switch from base VRR mode to various VRR supported modes without > triggering modeset. > > Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com> > --- > tests/kms_vrr.c | 142 +++++++++++++++++++++++++++++++++++++++++++---- > - > 1 file changed, 127 insertions(+), 15 deletions(-) > > diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c index d2d79c4e..173d7010 > 100644 > --- a/tests/kms_vrr.c > +++ b/tests/kms_vrr.c > @@ -46,6 +46,7 @@ enum { > TEST_SUSPEND = 1 << 2, > TEST_FLIPLINE = 1 << 3, > TEST_NEGATIVE = 1 << 4, > + TEST_BASE_MODE_TO_VARIOUS_VRR_MODE = 1 << 5, > }; > > typedef struct range { > @@ -56,10 +57,17 @@ typedef struct range { typedef struct data { > igt_display_t display; > int drm_fd; > + int count_modes; > + uint32_t hdisplay; > + uint32_t vdisplay; > igt_plane_t *primary; > igt_fb_t fb0; > igt_fb_t fb1; > range_t range; > + drmModeConnector *connector; > + drmModeModeInfo *modes; > + uint32_t base_mode_index; > + uint32_t preferred_mode_index; > } data_t; > > typedef struct vtest_ns { > @@ -168,6 +176,77 @@ get_vrr_range(data_t *data, igt_output_t *output) > return range; > } > > +static bool is_variable_video_mode(data_t *data, drmModeModeInfo > *mode) > +{ > + drmModeModeInfo *base_mode = &data->modes[data- > >base_mode_index]; > + uint32_t bm_clock = base_mode->clock; > + > + if (mode->hdisplay == data->hdisplay && > + mode->vdisplay == data->vdisplay && > + mode->clock == bm_clock && > + mode->type & DRM_MODE_TYPE_DRIVER) { > + return true; > + } > + > + return false; > +} > + > +static void init_data(data_t *data, igt_output_t *output) { > + int i; > + uint32_t pm_hdisplay, pm_vdisplay, max_clk = 0; > + drmModeModeInfo *preferred_mode; > + drmModeConnector *connector; > + > + connector = data->connector = output->config.connector; > + data->count_modes = connector->count_modes; > + data->modes = (drmModeModeInfo > *)malloc(sizeof(drmModeModeInfo) * > +data->count_modes); > + > + for (i = 0; i < data->count_modes; i++) { > + data->modes[i] = connector->modes[i]; #ifdef FSV_DEBUG > + igt_info("mode %d:", i); > + kmstest_dump_mode(&data->modes[i]); > +#endif > + } > + > + /* searching the preferred mode */ > + for (i = 0; i < connector->count_modes; i++) { > + drmModeModeInfo *mode = &connector->modes[i]; > + > + if (mode->type & DRM_MODE_TYPE_PREFERRED) { > + data->preferred_mode_index = i; > + data->hdisplay = mode->hdisplay; > + data->vdisplay = mode->vdisplay; > + pm_hdisplay = preferred_mode->hdisplay; > + pm_vdisplay = preferred_mode->vdisplay; > + break; > + } > + } > + > + /* searching the base mode; */ > + for (i = 0; i < connector->count_modes; i++) { > + drmModeModeInfo *mode = &connector->modes[i]; > + > + if (mode->hdisplay == pm_hdisplay && mode->vdisplay == > pm_vdisplay) { > + if (mode->clock > max_clk) { > + max_clk = mode->clock; > + data->base_mode_index = i; > + } > + } > + } > + igt_info("preferred=%d, base=%d\n", data->preferred_mode_index, > +data->base_mode_index); > + > + for (i = 0; i < connector->count_modes; i++) { > + drmModeModeInfo *mode = &connector->modes[i]; > + > + if (is_variable_video_mode(data, mode)) > + igt_debug("mode[%d] is variable video mode.\n", i); > + } > + > + data->range = get_vrr_range(data, output); } > + > /* Returns vrr test frequency for min, mid & max range. */ static vtest_ns_t > get_test_rate_ns(range_t range) { @@ -201,39 +280,42 @@ static void > set_vrr_on_pipe(data_t *data, enum pipe pipe, bool enabled) } > > /* Prepare the display for testing on the given pipe. */ -static void > prepare_test(data_t *data, igt_output_t *output, enum pipe pipe) > +static void prepare_test(data_t *data, igt_output_t *output, enum pipe > +pipe, drmModeModeInfo *mode) > { > - drmModeModeInfo mode; > cairo_t *cr; > > /* Reset output */ > igt_display_reset(&data->display); > igt_output_set_pipe(output, pipe); > > + igt_output_override_mode(output, mode); > + > /* Capture VRR range */ > data->range = get_vrr_range(data, output); > > - /* Override mode with max vrefresh. > - * - vrr_min range should be less than the override mode vrefresh. > - * - Limit the vrr_max range with the override mode vrefresh. > - */ > - mode = output_mode_with_maxrate(output, data->range.max); > - igt_require(mode.vrefresh > data->range.min); > - data->range.max = mode.vrefresh; > - igt_output_override_mode(output, &mode); > + if (mode == NULL) { > + /* Override mode with max vrefresh. > + * - vrr_min range should be less than the override mode > vrefresh. > + * - Limit the vrr_max range with the override mode > vrefresh. > + */ > + *mode = output_mode_with_maxrate(output, data- > >range.max); > + igt_require(mode->vrefresh > data->range.min); > + data->range.max = mode->vrefresh; > + igt_output_override_mode(output, mode); > + } > > /* Prepare resources */ > - igt_create_color_fb(data->drm_fd, mode.hdisplay, mode.vdisplay, > + igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, > DRM_FORMAT_XRGB8888, > DRM_FORMAT_MOD_LINEAR, > 0.50, 0.50, 0.50, &data->fb0); > > - igt_create_color_fb(data->drm_fd, mode.hdisplay, mode.vdisplay, > + igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, > DRM_FORMAT_XRGB8888, > DRM_FORMAT_MOD_LINEAR, > 0.50, 0.50, 0.50, &data->fb1); > > cr = igt_get_cairo_ctx(data->drm_fd, &data->fb0); > > - igt_paint_color(cr, 0, 0, mode.hdisplay / 10, mode.vdisplay / 10, > + igt_paint_color(cr, 0, 0, mode->hdisplay / 10, mode->vdisplay / 10, > 1.00, 0.00, 0.00); > > igt_put_cairo_ctx(cr); > @@ -353,19 +435,27 @@ flip_and_measure(data_t *data, igt_output_t > *output, enum pipe pipe, > return total_flip ? ((total_pass * 100) / total_flip) : 0; } > > +/* Returns the rate duration in nanoseconds for the given refresh rate. > +*/ static uint64_t nsec_per_frame(uint64_t refresh) { > + return NSECS_PER_SEC / refresh; > +} > + > /* Basic VRR flip functionality test - enable, measure, disable, measure */ > static void test_basic(data_t *data, enum pipe pipe, igt_output_t *output, > uint32_t flags) { > uint32_t result; > + int index; > vtest_ns_t vtest_ns; > range_t range; > uint64_t rate; > + drmModeModeInfo *mode; > > - prepare_test(data, output, pipe); > range = data->range; > vtest_ns = get_test_rate_ns(range); > rate = vtest_ns.mid; > + mode = NULL; > > igt_info("VRR Test execution on %s, PIPE_%s with VRR range: (%u- > %u) Hz\n", > output->name, kmstest_pipe_name(pipe), range.min, > range.max); @@ -380,6 +470,7 @@ test_basic(data_t *data, enum pipe > pipe, igt_output_t *output, uint32_t flags) > flip_and_measure(data, output, pipe, rate, 250000000ull); > > if (flags & TEST_DPMS) { > + prepare_test(data, output, pipe, mode); I think we can drop this change to add mode explicitly as we are intended to initialise to max rate which we are doing in prepare_test function itself. As in this current change also passing NULL only, in-turn initializing mode in prepare_test only. > kmstest_set_connector_dpms(output->display->drm_fd, > output->config.connector, > DRM_MODE_DPMS_OFF); > @@ -388,9 +479,11 @@ test_basic(data_t *data, enum pipe pipe, > igt_output_t *output, uint32_t flags) > DRM_MODE_DPMS_ON); > } > > - if (flags & TEST_SUSPEND) > + if (flags & TEST_SUSPEND) { > + prepare_test(data, output, pipe, mode); Also, may not be required to this redundant prepare_test calls, rather if we can initialize during test_basic start is also sufficient. Thanks, Mitul ^ permalink raw reply [flat|nested] 4+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for tests/kms_vrr: Add a new subtest to validate different VRR modes 2023-05-30 17:24 [igt-dev] [RFC, i-g-t] tests/kms_vrr: Add a new subtest to validate different VRR modes Nidhi Gupta 2023-05-30 20:23 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2023-05-31 11:43 ` [igt-dev] [RFC, i-g-t] " Golani, Mitulkumar Ajitkumar @ 2023-05-31 21:51 ` Patchwork 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2023-05-31 21:51 UTC (permalink / raw) To: Nidhi Gupta; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 17291 bytes --] == Series Details == Series: tests/kms_vrr: Add a new subtest to validate different VRR modes URL : https://patchwork.freedesktop.org/series/118587/ State : success == Summary == CI Bug Log - changes from IGT_7311_full -> IGTPW_9074_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/index.html Participating hosts (7 -> 7) ------------------------------ No changes in participating hosts New tests --------- New tests have been introduced between IGT_7311_full and IGTPW_9074_full: ### New IGT tests (1) ### * igt@kms_vrr@vrr-base-to-various-vrr-modes: - Statuses : 6 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in IGTPW_9074_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_fair@basic-pace@rcs0: - shard-glk: [PASS][1] -> [FAIL][2] ([i915#2842]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-glk5/igt@gem_exec_fair@basic-pace@rcs0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk2/igt@gem_exec_fair@basic-pace@rcs0.html * igt@gem_lmem_swapping@massive: - shard-apl: NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#4613]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-apl1/igt@gem_lmem_swapping@massive.html * igt@gem_lmem_swapping@verify-ccs: - shard-glk: NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#4613]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk8/igt@gem_lmem_swapping@verify-ccs.html * igt@gem_ppgtt@blt-vs-render-ctx0: - shard-snb: [PASS][5] -> [INCOMPLETE][6] ([i915#8295]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-snb4/igt@gem_ppgtt@blt-vs-render-ctx0.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-snb6/igt@gem_ppgtt@blt-vs-render-ctx0.html * igt@gem_pwrite@basic-exhaustion: - shard-apl: NOTRUN -> [WARN][7] ([i915#2658]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-apl3/igt@gem_pwrite@basic-exhaustion.html * igt@gem_userptr_blits@access-control: - shard-glk: NOTRUN -> [SKIP][8] ([fdo#109271]) +55 similar issues [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk9/igt@gem_userptr_blits@access-control.html * igt@i915_pm_dc@dc9-dpms: - shard-apl: [PASS][9] -> [SKIP][10] ([fdo#109271]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-apl2/igt@i915_pm_dc@dc9-dpms.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-apl6/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a: - shard-snb: NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#4579]) +12 similar issues [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-snb1/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html - shard-glk: NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#1937] / [i915#4579]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk3/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html * igt@i915_pm_rps@reset: - shard-snb: [PASS][13] -> [INCOMPLETE][14] ([i915#7790]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-snb4/igt@i915_pm_rps@reset.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-snb6/igt@i915_pm_rps@reset.html * igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1: - shard-glk: [PASS][15] -> [FAIL][16] ([i915#2521]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-glk1/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk6/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1.html * igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_mc_ccs: - shard-apl: NOTRUN -> [SKIP][17] ([fdo#109271] / [i915#3886]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-apl1/igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-c-crc-primary-basic-y_tiled_gen12_mc_ccs: - shard-glk: NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#3886]) +2 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk1/igt@kms_ccs@pipe-c-crc-primary-basic-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-d-bad-rotation-90-4_tiled_mtl_mc_ccs: - shard-apl: NOTRUN -> [SKIP][19] ([fdo#109271]) +44 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-apl6/igt@kms_ccs@pipe-d-bad-rotation-90-4_tiled_mtl_mc_ccs.html * igt@kms_cursor_crc@cursor-rapid-movement-32x32: - shard-apl: NOTRUN -> [SKIP][20] ([fdo#109271] / [i915#4579]) +1 similar issue [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-apl6/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-glk: [PASS][21] -> [FAIL][22] ([i915#2346]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-apl: [PASS][23] -> [FAIL][24] ([i915#4767]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-apl2/igt@kms_fbcon_fbt@fbc-suspend.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-apl1/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-vga-1: - shard-snb: NOTRUN -> [SKIP][25] ([fdo#109271]) +18 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-snb6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-vga-1.html * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-hdmi-a-1: - shard-glk: NOTRUN -> [SKIP][26] ([fdo#109271] / [i915#4579]) +3 similar issues [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk3/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-hdmi-a-1.html * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf: - shard-apl: NOTRUN -> [SKIP][27] ([fdo#109271] / [i915#658]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-apl1/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_su@page_flip-p010: - shard-glk: NOTRUN -> [SKIP][28] ([fdo#109271] / [i915#658]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk5/igt@kms_psr2_su@page_flip-p010.html * igt@kms_writeback@writeback-invalid-parameters: - shard-glk: NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#2437]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk8/igt@kms_writeback@writeback-invalid-parameters.html #### Possible fixes #### * igt@gem_barrier_race@remote-request@rcs0: - {shard-dg1}: [ABORT][30] ([i915#6333] / [i915#7461] / [i915#8234]) -> [PASS][31] [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-dg1-17/igt@gem_barrier_race@remote-request@rcs0.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-dg1-16/igt@gem_barrier_race@remote-request@rcs0.html - shard-glk: [ABORT][32] ([i915#7461] / [i915#8211]) -> [PASS][33] [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-glk8/igt@gem_barrier_race@remote-request@rcs0.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk4/igt@gem_barrier_race@remote-request@rcs0.html * igt@gem_ctx_exec@basic-nohangcheck: - {shard-tglu}: [FAIL][34] ([i915#6268]) -> [PASS][35] [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-tglu-6/igt@gem_ctx_exec@basic-nohangcheck.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-tglu-10/igt@gem_ctx_exec@basic-nohangcheck.html * igt@gem_exec_fair@basic-none@bcs0: - {shard-rkl}: [FAIL][36] ([i915#2842]) -> [PASS][37] [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-rkl-4/igt@gem_exec_fair@basic-none@bcs0.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-rkl-3/igt@gem_exec_fair@basic-none@bcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [FAIL][38] ([i915#2842]) -> [PASS][39] [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-glk9/igt@gem_exec_fair@basic-pace-share@rcs0.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-glk9/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_suspend@basic-s3@smem: - shard-apl: [ABORT][40] ([i915#180] / [i915#8213]) -> [PASS][41] [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-apl2/igt@gem_exec_suspend@basic-s3@smem.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-apl1/igt@gem_exec_suspend@basic-s3@smem.html * igt@i915_pm_rpm@modeset-non-lpsp-stress: - {shard-rkl}: [SKIP][42] ([i915#1397]) -> [PASS][43] [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7311/shard-rkl-7/igt@i915_pm_rpm@modeset-non-lpsp-stress.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/shard-rkl-3/igt@i915_pm_rpm@modeset-non-lpsp-stress.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742 [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767 [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230 [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245 [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268 [i915#6333]: https://gitlab.freedesktop.org/drm/intel/issues/6333 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768 [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953 [i915#7052]: https://gitlab.freedesktop.org/drm/intel/issues/7052 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742 [i915#7790]: https://gitlab.freedesktop.org/drm/intel/issues/7790 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011 [i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211 [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213 [i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234 [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292 [i915#8295]: https://gitlab.freedesktop.org/drm/intel/issues/8295 [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411 [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414 [i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7311 -> IGTPW_9074 CI-20190529: 20190529 CI_DRM_13200: 0ae4ee2c735979030a0219218081eee661606921 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9074: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/index.html IGT_7311: c031030f39aff973330668a5a2f1593408da78ae @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9074/index.html [-- Attachment #2: Type: text/html, Size: 14511 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-05-31 21:51 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-05-30 17:24 [igt-dev] [RFC, i-g-t] tests/kms_vrr: Add a new subtest to validate different VRR modes Nidhi Gupta 2023-05-30 20:23 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2023-05-31 11:43 ` [igt-dev] [RFC, i-g-t] " Golani, Mitulkumar Ajitkumar 2023-05-31 21:51 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox