* [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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.