* [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup
@ 2022-05-19 5:32 Swati Sharma
2022-05-19 6:17 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/kms_dsc: IGT cleanup (rev4) Patchwork
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Swati Sharma @ 2022-05-19 5:32 UTC (permalink / raw)
To: igt-dev; +Cc: Patnana Venkata Sai
Remove redundant code and before starting the subtest,
clean up the states to default by igt_display_reset().
Few minor fixes in indentation. Added subtests description.
v2: -minor mistake in subtest name
-commit was missing after reset, added
v3: -fixed styling error
-replaced drm calls with igt wrappers
v4: -added igt_display_require_output() in igt_fixture
-modularized code, added func() for checks
-added func() to get highest mode
Signed-off-by: Patnana Venkata Sai <venkata.sai.patnana@intel.com>
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
lib/igt_kms.c | 1 -
tests/i915/kms_dsc.c | 263 +++++++++++++++++++++++--------------------
2 files changed, 139 insertions(+), 125 deletions(-)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 7838ff28..50a965ad 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -5304,7 +5304,6 @@ bool igt_is_dsc_supported(int drmfd, drmModeConnector *connector)
*/
bool igt_is_fec_supported(int drmfd, drmModeConnector *connector)
{
-
return check_dsc_debugfs(drmfd, connector, "FEC_Sink_Support: yes");
}
diff --git a/tests/i915/kms_dsc.c b/tests/i915/kms_dsc.c
index 22d2216e..3adca600 100644
--- a/tests/i915/kms_dsc.c
+++ b/tests/i915/kms_dsc.c
@@ -44,13 +44,16 @@
#include <fcntl.h>
#include <termios.h>
-/* currently dsc compression is verifying on 8bpc frame only */
+IGT_TEST_DESCRIPTION("Test to validate display stream compression");
+
+#define HDISPLAY_5K 5120
+
+/* currently dsc is verifed on 8bpc frame only */
#define XRGB8888_DRM_FORMAT_MIN_BPP 8
-enum dsc_test_type
-{
- test_basic_dsc_enable,
- test_dsc_compression_bpp
+enum dsc_test_type {
+ TEST_BASIC_DSC_ENABLE,
+ TEST_DSC_COMPRESSION_BPP
};
typedef struct {
@@ -59,9 +62,6 @@ typedef struct {
igt_display_t display;
struct igt_fb fb_test_pattern;
igt_output_t *output;
- int mode_valid;
- drmModeEncoder *encoder;
- int crtc;
int compression_bpp;
int n_pipes;
enum pipe pipe;
@@ -80,9 +80,9 @@ static void force_dsc_enable(data_t *data)
{
int ret;
- igt_debug ("Forcing DSC enable on %s\n", data->conn_name);
+ igt_debug("Forcing DSC enable on %s\n", data->conn_name);
ret = igt_force_dsc_enable(data->drm_fd,
- data->output->config.connector);
+ data->output->config.connector);
igt_assert_f(ret > 0, "debugfs_write failed");
}
@@ -93,8 +93,8 @@ static void force_dsc_enable_bpp(data_t *data)
igt_debug("Forcing DSC BPP to %d on %s\n",
data->compression_bpp, data->conn_name);
ret = igt_force_dsc_enable_bpp(data->drm_fd,
- data->output->config.connector,
- data->compression_bpp);
+ data->output->config.connector,
+ data->compression_bpp);
igt_assert_f(ret > 0, "debugfs_write failed");
}
@@ -105,7 +105,7 @@ static void save_force_dsc_en(data_t *data)
data->output->config.connector);
force_dsc_restore_fd =
igt_get_dsc_debugfs_fd(data->drm_fd,
- data->output->config.connector);
+ data->output->config.connector);
igt_assert(force_dsc_restore_fd >= 0);
}
@@ -121,19 +121,6 @@ static void restore_force_dsc_en(void)
force_dsc_restore_fd = -1;
}
-static void test_cleanup(data_t *data)
-{
- igt_plane_t *primary;
-
- if (data->output) {
- primary = igt_output_get_plane_type(data->output,
- DRM_PLANE_TYPE_PRIMARY);
- igt_plane_set_fb(primary, NULL);
- igt_output_set_pipe(data->output, PIPE_NONE);
- igt_display_commit(&data->display);
- }
-}
-
static void kms_dsc_exit_handler(int sig)
{
restore_force_dsc_en();
@@ -159,29 +146,26 @@ static int sort_drm_modes(const void *a, const void *b)
return (mode1->clock < mode2->clock) - (mode2->clock < mode1->clock);
}
-static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
+static drmModeModeInfo *get_highres_mode(drmModeConnector *connector)
{
- drmModeConnector *connector;
- igt_output_t *output;
-
- connector = drmModeGetConnectorCurrent(data->drm_fd,
- drmConnector);
- if (connector->connection != DRM_MODE_CONNECTED)
- return false;
-
- output = igt_output_from_connector(&data->display, connector);
+ drmModeModeInfo *highest_mode = NULL;
- /*
- * As dsc supports >= 5k modes, we need to suppress lower
- * resolutions.
- */
- qsort(output->config.connector->modes,
- output->config.connector->count_modes,
+ qsort(connector->modes,
+ connector->count_modes,
sizeof(drmModeModeInfo),
sort_drm_modes);
- if (output->config.connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
- output->config.connector->modes[0].hdisplay < 5120)
- return NULL;
+
+ highest_mode = &connector->modes[0];
+
+ return highest_mode;
+}
+
+static bool check_dsc_on_connector(data_t *data, igt_output_t *output)
+{
+ drmModeConnector *connector = output->config.connector;
+
+ if (connector->connection != DRM_MODE_CONNECTED)
+ return false;
sprintf(data->conn_name, "%s-%d",
kmstest_connector_type_str(connector->connector_type),
@@ -192,168 +176,199 @@ static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
data->conn_name);
return false;
}
+
if (is_external_panel(connector) &&
!igt_is_fec_supported(data->drm_fd, connector)) {
igt_debug("DSC cannot be enabled without FEC on %s\n",
data->conn_name);
return false;
}
+
data->output = output;
return true;
}
-/*
- * Re-probe connectors and do a modeset with DSC
- *
- */
-static void update_display(data_t *data, enum dsc_test_type test_type)
+static bool check_big_joiner_test_constraint(data_t *data, igt_output_t *output,
+ enum dsc_test_type test_type)
+{
+ drmModeConnector *connector = output->config.connector;
+ drmModeModeInfo *mode = get_highres_mode(connector);
+
+ if (test_type == TEST_DSC_COMPRESSION_BPP &&
+ mode->hdisplay >= HDISPLAY_5K) {
+ igt_debug("Bigjoiner does not support force bpp\n");
+ return false;
+ }
+
+ return true;
+}
+
+static bool check_big_joiner_pipe_constraint(data_t *data, igt_output_t *output,
+ enum pipe pipe)
+{
+ drmModeConnector *connector = output->config.connector;
+ drmModeModeInfo *mode = get_highres_mode(connector);
+
+ if (mode->hdisplay >= HDISPLAY_5K &&
+ pipe == (data->n_pipes - 1 )) {
+ igt_debug("pipe-%s not supported due to bigjoiner limitation\n",
+ kmstest_pipe_name(pipe));
+ return false;
+ }
+
+ return true;
+}
+
+static bool check_dp_gen11_constraint(data_t *data, igt_output_t *output, enum pipe pipe)
+{
+ uint32_t devid = intel_get_drm_devid(data->drm_fd);
+ drmModeConnector *connector = output->config.connector;
+
+ if ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) &&
+ (pipe == PIPE_A) && IS_GEN11(devid)) {
+ igt_debug("DSC not supported on pipe A on external DP in gen11 platforms\n");
+ return false;
+ }
+
+ return true;
+}
+/* re-probe connectors and do a modeset with DSC */
+static void update_display(data_t *data, igt_output_t *output, enum pipe pipe,
+ enum dsc_test_type test_type)
{
bool enabled;
igt_plane_t *primary;
+ drmModeModeInfo *mode;
+ igt_display_t *display = &data->display;
+ drmModeConnector *connector = data->output->config.connector;
- /* Disable the output first */
- igt_output_set_pipe(data->output, PIPE_NONE);
- igt_display_commit(&data->display);
+ /* sanitize the state before starting the subtest. */
+ igt_display_reset(display);
+ igt_display_commit(display);
igt_debug("DSC is supported on %s\n", data->conn_name);
save_force_dsc_en(data);
force_dsc_enable(data);
- if (test_type == test_dsc_compression_bpp) {
+
+ if (test_type == TEST_DSC_COMPRESSION_BPP) {
igt_debug("Trying to set BPP to %d\n", data->compression_bpp);
force_dsc_enable_bpp(data);
}
- igt_output_set_pipe(data->output, data->pipe);
- qsort(data->output->config.connector->modes,
- data->output->config.connector->count_modes,
- sizeof(drmModeModeInfo),
- sort_drm_modes);
- igt_output_override_mode(data->output, &data->output->config.connector->modes[0]);
+ igt_output_set_pipe(data->output, pipe);
+
+ mode = get_highres_mode(connector);
+ igt_require(mode != NULL);
+ igt_output_override_mode(data->output, mode);
+
primary = igt_output_get_plane_type(data->output,
DRM_PLANE_TYPE_PRIMARY);
+ igt_create_pattern_fb(data->drm_fd,
+ mode->hdisplay,
+ mode->vdisplay,
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_MOD_LINEAR,
+ &data->fb_test_pattern);
- /* Now set the output to the desired mode */
igt_plane_set_fb(primary, &data->fb_test_pattern);
igt_display_commit(&data->display);
/*
- * Until we have CRC check support, manually check if RGB test
+ * until we have CRC check support, manually check if RGB test
* pattern has no corruption.
*/
manual("RGB test pattern without corruption");
- enabled = igt_is_dsc_enabled(data->drm_fd,
- data->output->config.connector);
+ enabled = igt_is_dsc_enabled(data->drm_fd, connector);
restore_force_dsc_en();
igt_debug("Reset compression BPP\n");
data->compression_bpp = 0;
force_dsc_enable_bpp(data);
igt_assert_f(enabled,
- "Default DSC enable failed on Connector: %s Pipe: %s\n",
+ "Default DSC enable failed on connector: %s pipe: %s\n",
data->conn_name,
- kmstest_pipe_name(data->pipe));
+ kmstest_pipe_name(pipe));
+
+ igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
+ igt_plane_set_fb(primary, NULL);
+ igt_output_set_pipe(data->output, PIPE_NONE);
}
-static void run_test(data_t *data, enum dsc_test_type test_type)
+static void test_dsc(data_t *data, enum dsc_test_type test_type)
{
+ igt_display_t *display = &data->display;
+ igt_output_t *output;
enum pipe pipe;
char test_name[10];
- igt_skip_on_f(test_type == test_dsc_compression_bpp &&
- data->output->config.connector->modes[0].hdisplay >= 5120,
- "bigjoiner does not support force bpp\n");
-
- igt_create_pattern_fb(data->drm_fd,
- data->output->config.connector->modes[0].hdisplay,
- data->output->config.connector->modes[0].vdisplay,
- DRM_FORMAT_XRGB8888,
- DRM_FORMAT_MOD_LINEAR,
- &data->fb_test_pattern);
+ for_each_pipe_with_valid_output(display, pipe, output) {
+ if (!check_dsc_on_connector(data, output))
+ continue;
- for_each_pipe(&data->display, pipe) {
- uint32_t devid = intel_get_drm_devid(data->drm_fd);
+ if (!check_big_joiner_test_constraint(data, output, test_type))
+ continue;
- if (data->output->config.connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
- pipe == PIPE_A && IS_GEN11(devid)) {
- igt_debug("DSC not supported on Pipe A on external DP in Gen11 platforms\n");
+ if (!check_dp_gen11_constraint(data, output, pipe))
continue;
- }
- snprintf(test_name, sizeof(test_name), "-%dbpp", data->compression_bpp);
- if (!igt_pipe_connector_valid(pipe, data->output))
+ if (!check_big_joiner_pipe_constraint(data, output, pipe))
continue;
- igt_dynamic_f("%s-pipe-%s%s", data->output->name,
- kmstest_pipe_name(pipe),
- (test_type == test_dsc_compression_bpp) ?
- test_name : "") {
- data->pipe = pipe;
- igt_skip_on_f((data->output->config.connector->modes[0].hdisplay >= 5120) &&
- (pipe == (data->n_pipes - 1)),
- "pipe-%s not supported due to bigjoiner limitation\n",
- kmstest_pipe_name(pipe));
- update_display(data, test_type);
+ if (!igt_pipe_connector_valid(pipe, output))
+ continue;
- }
- if (test_type == test_dsc_compression_bpp)
- break;
+ snprintf(test_name, sizeof(test_name), "-%dbpp", data->compression_bpp);
+ igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipe), output->name,
+ (test_type == TEST_DSC_COMPRESSION_BPP) ? test_name : "")
+ update_display(data, output, pipe, test_type);
}
-
- igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
}
igt_main
{
data_t data = {};
- drmModeRes *res;
- drmModeConnector *connector = NULL;
- int i, j;
+ int i;
+
igt_fixture {
data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
data.devid = intel_get_drm_devid(data.drm_fd);
kmstest_set_vt_graphics_mode();
igt_install_exit_handler(kms_dsc_exit_handler);
igt_display_require(&data.display, data.drm_fd);
- igt_require(res = drmModeGetResources(data.drm_fd));
+ igt_display_require_output(&data.display);
data.n_pipes = 0;
for_each_pipe(&data.display, i)
data.n_pipes++;
}
- igt_subtest_with_dynamic("basic-dsc-enable") {
- for (j = 0; j < res->count_connectors; j++) {
- if (!check_dsc_on_connector(&data, res->connectors[j]))
- continue;
- run_test(&data, test_basic_dsc_enable);
- }
- }
+
+ igt_describe("Tests basic display stream compression functionality if supported "
+ "by a connector by forcing DSC on all connectors that support it "
+ "with default parameters");
+ igt_subtest_with_dynamic("basic-dsc-enable")
+ test_dsc(&data, TEST_BASIC_DSC_ENABLE);
+
/* currently we are validating compression bpp on XRGB8888 format only */
+ igt_describe("Tests basic display stream compression functionality if supported "
+ "by a connector by forcing DSC on all connectors that support it "
+ "with certain BPP as the output BPP for the connector");
igt_subtest_with_dynamic("XRGB8888-dsc-compression") {
uint32_t bpp_list[] = {
XRGB8888_DRM_FORMAT_MIN_BPP,
(XRGB8888_DRM_FORMAT_MIN_BPP +
- (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1) / 2,
+ (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1) / 2,
(XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1
};
igt_require(intel_display_ver(data.devid) >= 13);
- for (j = 0; j < res->count_connectors; j++) {
- if (!check_dsc_on_connector(&data, res->connectors[j]))
- continue;
-
- for (i = 0; i < ARRAY_SIZE(bpp_list); i++) {
- data.compression_bpp = bpp_list[i];
- run_test(&data, test_dsc_compression_bpp);
- }
+ for (int j = 0; j < ARRAY_SIZE(bpp_list); j++) {
+ data.compression_bpp = bpp_list[j];
+ test_dsc(&data, TEST_DSC_COMPRESSION_BPP);
}
}
igt_fixture {
- if (connector)
- drmModeFreeConnector(connector);
- test_cleanup(&data);
- drmModeFreeResources(res);
igt_display_fini(&data.display);
close(data.drm_fd);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/kms_dsc: IGT cleanup (rev4)
2022-05-19 5:32 [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup Swati Sharma
@ 2022-05-19 6:17 ` Patchwork
2022-05-19 6:25 ` [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup Modem, Bhanuprakash
2022-05-19 7:08 ` [igt-dev] ✓ Fi.CI.IGT: success for tests/i915/kms_dsc: IGT cleanup (rev4) Patchwork
2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2022-05-19 6:17 UTC (permalink / raw)
To: Swati Sharma; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 7877 bytes --]
== Series Details ==
Series: tests/i915/kms_dsc: IGT cleanup (rev4)
URL : https://patchwork.freedesktop.org/series/103935/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_11675 -> IGTPW_7140
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/index.html
Participating hosts (45 -> 44)
------------------------------
Additional (2): bat-dg2-9 fi-tgl-u2
Missing (3): fi-rkl-11600 fi-icl-u2 fi-cfl-8700k
Known issues
------------
Here are the changes found in IGTPW_7140 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_huc_copy@huc-copy:
- fi-tgl-u2: NOTRUN -> [SKIP][1] ([i915#2190])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-tgl-u2/igt@gem_huc_copy@huc-copy.html
* igt@i915_module_load@reload:
- fi-kbl-soraka: [PASS][2] -> [DMESG-WARN][3] ([i915#1982])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/fi-kbl-soraka/igt@i915_module_load@reload.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-kbl-soraka/igt@i915_module_load@reload.html
* igt@i915_pm_rpm@module-reload:
- fi-bdw-5557u: [PASS][4] -> [INCOMPLETE][5] ([i915#6002])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/fi-bdw-5557u/igt@i915_pm_rpm@module-reload.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-bdw-5557u/igt@i915_pm_rpm@module-reload.html
* igt@kms_busy@basic@flip:
- fi-tgl-u2: NOTRUN -> [DMESG-WARN][6] ([i915#402]) +1 similar issue
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-tgl-u2/igt@kms_busy@basic@flip.html
* igt@kms_chamelium@dp-hpd-fast:
- fi-tgl-u2: NOTRUN -> [SKIP][7] ([fdo#109284] / [fdo#111827]) +7 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-tgl-u2/igt@kms_chamelium@dp-hpd-fast.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- fi-tgl-u2: NOTRUN -> [SKIP][8] ([i915#4103]) +1 similar issue
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-tgl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_force_connector_basic@force-load-detect:
- fi-tgl-u2: NOTRUN -> [SKIP][9] ([fdo#109285])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-tgl-u2/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
- fi-skl-6700k2: [PASS][10] -> [INCOMPLETE][11] ([i915#4444])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/fi-skl-6700k2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-skl-6700k2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
* igt@kms_setmode@basic-clone-single-crtc:
- fi-tgl-u2: NOTRUN -> [SKIP][12] ([i915#3555])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-tgl-u2/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-userptr:
- fi-tgl-u2: NOTRUN -> [SKIP][13] ([i915#3301])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-tgl-u2/igt@prime_vgem@basic-userptr.html
#### Possible fixes ####
* igt@i915_selftest@live@gt_pm:
- fi-tgl-1115g4: [DMESG-FAIL][14] ([i915#3987]) -> [PASS][15]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/fi-tgl-1115g4/igt@i915_selftest@live@gt_pm.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/fi-tgl-1115g4/igt@i915_selftest@live@gt_pm.html
* igt@i915_selftest@live@hangcheck:
- bat-dg1-6: [DMESG-FAIL][16] ([i915#4494] / [i915#4957]) -> [PASS][17]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/bat-dg1-6/igt@i915_selftest@live@hangcheck.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/bat-dg1-6/igt@i915_selftest@live@hangcheck.html
* igt@i915_selftest@live@hugepages:
- {bat-rpls-1}: [DMESG-WARN][18] ([i915#5278]) -> [PASS][19]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/bat-rpls-1/igt@i915_selftest@live@hugepages.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/bat-rpls-1/igt@i915_selftest@live@hugepages.html
* igt@kms_flip@basic-flip-vs-modeset@b-edp1:
- {bat-adlp-6}: [DMESG-WARN][20] ([i915#3576]) -> [PASS][21] +1 similar issue
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/bat-adlp-6/igt@kms_flip@basic-flip-vs-modeset@b-edp1.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/bat-adlp-6/igt@kms_flip@basic-flip-vs-modeset@b-edp1.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3576]: https://gitlab.freedesktop.org/drm/intel/issues/3576
[i915#3595]: https://gitlab.freedesktop.org/drm/intel/issues/3595
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[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#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
[i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
[i915#4444]: https://gitlab.freedesktop.org/drm/intel/issues/4444
[i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
[i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5087]: https://gitlab.freedesktop.org/drm/intel/issues/5087
[i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
[i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
[i915#5278]: https://gitlab.freedesktop.org/drm/intel/issues/5278
[i915#5763]: https://gitlab.freedesktop.org/drm/intel/issues/5763
[i915#5885]: https://gitlab.freedesktop.org/drm/intel/issues/5885
[i915#6002]: https://gitlab.freedesktop.org/drm/intel/issues/6002
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6480 -> IGTPW_7140
CI-20190529: 20190529
CI_DRM_11675: c31582c636f4c6ac8c0f822c39b250db2c5cd437 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_7140: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/index.html
IGT_6480: 40ee6f52ac54858fa857fcdef52c0c791abf9344 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/index.html
[-- Attachment #2: Type: text/html, Size: 7404 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup
2022-05-19 5:32 [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup Swati Sharma
2022-05-19 6:17 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/kms_dsc: IGT cleanup (rev4) Patchwork
@ 2022-05-19 6:25 ` Modem, Bhanuprakash
2022-05-24 16:44 ` Sharma, Swati2
2022-05-19 7:08 ` [igt-dev] ✓ Fi.CI.IGT: success for tests/i915/kms_dsc: IGT cleanup (rev4) Patchwork
2 siblings, 1 reply; 6+ messages in thread
From: Modem, Bhanuprakash @ 2022-05-19 6:25 UTC (permalink / raw)
To: Swati Sharma, igt-dev; +Cc: Patnana Venkata Sai
Hi Swati,
Overall, this patch looks good to me. I have dropped few minor comments
to be addressed inline.
On Thu-19-05-2022 11:02 am, Swati Sharma wrote:
> Remove redundant code and before starting the subtest,
> clean up the states to default by igt_display_reset().
> Few minor fixes in indentation. Added subtests description.
>
> v2: -minor mistake in subtest name
> -commit was missing after reset, added
> v3: -fixed styling error
> -replaced drm calls with igt wrappers
> v4: -added igt_display_require_output() in igt_fixture
> -modularized code, added func() for checks
> -added func() to get highest mode
>
> Signed-off-by: Patnana Venkata Sai <venkata.sai.patnana@intel.com>
> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
> ---
> lib/igt_kms.c | 1 -
> tests/i915/kms_dsc.c | 263 +++++++++++++++++++++++--------------------
> 2 files changed, 139 insertions(+), 125 deletions(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 7838ff28..50a965ad 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -5304,7 +5304,6 @@ bool igt_is_dsc_supported(int drmfd, drmModeConnector *connector)
> */
> bool igt_is_fec_supported(int drmfd, drmModeConnector *connector)
> {
> -
> return check_dsc_debugfs(drmfd, connector, "FEC_Sink_Support: yes");
> }
>
> diff --git a/tests/i915/kms_dsc.c b/tests/i915/kms_dsc.c
> index 22d2216e..3adca600 100644
> --- a/tests/i915/kms_dsc.c
> +++ b/tests/i915/kms_dsc.c
> @@ -44,13 +44,16 @@
> #include <fcntl.h>
> #include <termios.h>
>
> -/* currently dsc compression is verifying on 8bpc frame only */
> +IGT_TEST_DESCRIPTION("Test to validate display stream compression");
> +
> +#define HDISPLAY_5K 5120
> +
> +/* currently dsc is verifed on 8bpc frame only */
> #define XRGB8888_DRM_FORMAT_MIN_BPP 8
>
> -enum dsc_test_type
> -{
> - test_basic_dsc_enable,
> - test_dsc_compression_bpp
> +enum dsc_test_type {
> + TEST_BASIC_DSC_ENABLE,
> + TEST_DSC_COMPRESSION_BPP
> };
>
> typedef struct {
> @@ -59,9 +62,6 @@ typedef struct {
> igt_display_t display;
> struct igt_fb fb_test_pattern;
> igt_output_t *output;
> - int mode_valid;
> - drmModeEncoder *encoder;
> - int crtc;
> int compression_bpp;
> int n_pipes;
> enum pipe pipe;
> @@ -80,9 +80,9 @@ static void force_dsc_enable(data_t *data)
> {
> int ret;
>
> - igt_debug ("Forcing DSC enable on %s\n", data->conn_name);
> + igt_debug("Forcing DSC enable on %s\n", data->conn_name);
> ret = igt_force_dsc_enable(data->drm_fd,
> - data->output->config.connector);
> + data->output->config.connector);
> igt_assert_f(ret > 0, "debugfs_write failed");
> }
>
> @@ -93,8 +93,8 @@ static void force_dsc_enable_bpp(data_t *data)
> igt_debug("Forcing DSC BPP to %d on %s\n",
> data->compression_bpp, data->conn_name);
> ret = igt_force_dsc_enable_bpp(data->drm_fd,
> - data->output->config.connector,
> - data->compression_bpp);
> + data->output->config.connector,
> + data->compression_bpp);
> igt_assert_f(ret > 0, "debugfs_write failed");
> }
>
> @@ -105,7 +105,7 @@ static void save_force_dsc_en(data_t *data)
> data->output->config.connector);
> force_dsc_restore_fd =
> igt_get_dsc_debugfs_fd(data->drm_fd,
> - data->output->config.connector);
> + data->output->config.connector);
> igt_assert(force_dsc_restore_fd >= 0);
> }
>
> @@ -121,19 +121,6 @@ static void restore_force_dsc_en(void)
> force_dsc_restore_fd = -1;
> }
>
> -static void test_cleanup(data_t *data)
> -{
> - igt_plane_t *primary;
> -
> - if (data->output) {
> - primary = igt_output_get_plane_type(data->output,
> - DRM_PLANE_TYPE_PRIMARY);
> - igt_plane_set_fb(primary, NULL);
> - igt_output_set_pipe(data->output, PIPE_NONE);
> - igt_display_commit(&data->display);
> - }
> -}
> -
> static void kms_dsc_exit_handler(int sig)
> {
> restore_force_dsc_en();
> @@ -159,29 +146,26 @@ static int sort_drm_modes(const void *a, const void *b)
> return (mode1->clock < mode2->clock) - (mode2->clock < mode1->clock);
> }
>
> -static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
> +static drmModeModeInfo *get_highres_mode(drmModeConnector *connector)
> {
> - drmModeConnector *connector;
> - igt_output_t *output;
> -
> - connector = drmModeGetConnectorCurrent(data->drm_fd,
> - drmConnector);
> - if (connector->connection != DRM_MODE_CONNECTED)
> - return false;
> -
> - output = igt_output_from_connector(&data->display, connector);
> + drmModeModeInfo *highest_mode = NULL;
>
> - /*
> - * As dsc supports >= 5k modes, we need to suppress lower
> - * resolutions.
> - */
> - qsort(output->config.connector->modes,
> - output->config.connector->count_modes,
> + qsort(connector->modes,
> + connector->count_modes,
> sizeof(drmModeModeInfo),
> sort_drm_modes);
> - if (output->config.connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
> - output->config.connector->modes[0].hdisplay < 5120)
> - return NULL;
> +
> + highest_mode = &connector->modes[0];
> +
> + return highest_mode;
> +}
> +
> +static bool check_dsc_on_connector(data_t *data, igt_output_t *output)
> +{
> + drmModeConnector *connector = output->config.connector;
> +
> + if (connector->connection != DRM_MODE_CONNECTED)
> + return false;
This check is redundant, for_each_pipe_with_valid_output() is already
doing this check.
>
> sprintf(data->conn_name, "%s-%d",
Please drop data->conn_name, instead please use data->output->name;
> kmstest_connector_type_str(connector->connector_type),
> @@ -192,168 +176,199 @@ static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
> data->conn_name);
> return false;
> }
> +
> if (is_external_panel(connector) &&
> !igt_is_fec_supported(data->drm_fd, connector)) {
> igt_debug("DSC cannot be enabled without FEC on %s\n",
> data->conn_name);
> return false;
> }
> +
> data->output = output;
This could be moved to test_dsc()
> return true;
> }
>
> -/*
> - * Re-probe connectors and do a modeset with DSC
> - *
> - */
> -static void update_display(data_t *data, enum dsc_test_type test_type)
> +static bool check_big_joiner_test_constraint(data_t *data, igt_output_t *output,
> + enum dsc_test_type test_type)
> +{
> + drmModeConnector *connector = output->config.connector;
> + drmModeModeInfo *mode = get_highres_mode(connector);
> +
> + if (test_type == TEST_DSC_COMPRESSION_BPP &&
> + mode->hdisplay >= HDISPLAY_5K) {
> + igt_debug("Bigjoiner does not support force bpp\n");
> + return false;
> + }
> +
> + return true;
> +}
> +
> +static bool check_big_joiner_pipe_constraint(data_t *data, igt_output_t *output,
> + enum pipe pipe)
> +{
> + drmModeConnector *connector = output->config.connector;
> + drmModeModeInfo *mode = get_highres_mode(connector);
> +
> + if (mode->hdisplay >= HDISPLAY_5K &&
> + pipe == (data->n_pipes - 1 )) {
> + igt_debug("pipe-%s not supported due to bigjoiner limitation\n",
> + kmstest_pipe_name(pipe));
> + return false;
> + }
> +
> + return true;
> +}
> +
> +static bool check_dp_gen11_constraint(data_t *data, igt_output_t *output, enum pipe pipe)
> +{
> + uint32_t devid = intel_get_drm_devid(data->drm_fd);
> + drmModeConnector *connector = output->config.connector;
> +
> + if ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) &&
> + (pipe == PIPE_A) && IS_GEN11(devid)) {
> + igt_debug("DSC not supported on pipe A on external DP in gen11 platforms\n");
> + return false;
> + }
> +
> + return true;
> +}
> +/* re-probe connectors and do a modeset with DSC */
> +static void update_display(data_t *data, igt_output_t *output, enum pipe pipe,
> + enum dsc_test_type test_type)
> {
> bool enabled;
> igt_plane_t *primary;
> + drmModeModeInfo *mode;
> + igt_display_t *display = &data->display;
> + drmModeConnector *connector = data->output->config.connector;
>
> - /* Disable the output first */
> - igt_output_set_pipe(data->output, PIPE_NONE);
> - igt_display_commit(&data->display);
> + /* sanitize the state before starting the subtest. */
> + igt_display_reset(display);
> + igt_display_commit(display);
>
> igt_debug("DSC is supported on %s\n", data->conn_name);
> save_force_dsc_en(data);
> force_dsc_enable(data);
> - if (test_type == test_dsc_compression_bpp) {
> +
> + if (test_type == TEST_DSC_COMPRESSION_BPP) {
> igt_debug("Trying to set BPP to %d\n", data->compression_bpp);
> force_dsc_enable_bpp(data);
> }
>
> - igt_output_set_pipe(data->output, data->pipe);
> - qsort(data->output->config.connector->modes,
> - data->output->config.connector->count_modes,
> - sizeof(drmModeModeInfo),
> - sort_drm_modes);
> - igt_output_override_mode(data->output, &data->output->config.connector->modes[0]);
> + igt_output_set_pipe(data->output, pipe);
> +
> + mode = get_highres_mode(connector);
> + igt_require(mode != NULL);
> + igt_output_override_mode(data->output, mode);
> +
> primary = igt_output_get_plane_type(data->output,
> DRM_PLANE_TYPE_PRIMARY);
> + igt_create_pattern_fb(data->drm_fd,
> + mode->hdisplay,
> + mode->vdisplay,
> + DRM_FORMAT_XRGB8888,
> + DRM_FORMAT_MOD_LINEAR,
> + &data->fb_test_pattern);
>
> - /* Now set the output to the desired mode */
> igt_plane_set_fb(primary, &data->fb_test_pattern);
> igt_display_commit(&data->display);
>
> /*
> - * Until we have CRC check support, manually check if RGB test
> + * until we have CRC check support, manually check if RGB test
> * pattern has no corruption.
> */
> manual("RGB test pattern without corruption");
>
> - enabled = igt_is_dsc_enabled(data->drm_fd,
> - data->output->config.connector);
> + enabled = igt_is_dsc_enabled(data->drm_fd, connector);
> restore_force_dsc_en();
> igt_debug("Reset compression BPP\n");
> data->compression_bpp = 0;
> force_dsc_enable_bpp(data);
>
> igt_assert_f(enabled,
> - "Default DSC enable failed on Connector: %s Pipe: %s\n",
> + "Default DSC enable failed on connector: %s pipe: %s\n",
> data->conn_name,
> - kmstest_pipe_name(data->pipe));
> + kmstest_pipe_name(pipe));
> +
> + igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
> + igt_plane_set_fb(primary, NULL);
> + igt_output_set_pipe(data->output, PIPE_NONE);
Please do commit here.
> }
>
> -static void run_test(data_t *data, enum dsc_test_type test_type)
> +static void test_dsc(data_t *data, enum dsc_test_type test_type)
> {
> + igt_display_t *display = &data->display;
> + igt_output_t *output;
> enum pipe pipe;
> char test_name[10];
>
> - igt_skip_on_f(test_type == test_dsc_compression_bpp &&
> - data->output->config.connector->modes[0].hdisplay >= 5120,
> - "bigjoiner does not support force bpp\n");
> -
> - igt_create_pattern_fb(data->drm_fd,
> - data->output->config.connector->modes[0].hdisplay,
> - data->output->config.connector->modes[0].vdisplay,
> - DRM_FORMAT_XRGB8888,
> - DRM_FORMAT_MOD_LINEAR,
> - &data->fb_test_pattern);
> + for_each_pipe_with_valid_output(display, pipe, output) {
> + if (!check_dsc_on_connector(data, output))
> + continue;
>
> - for_each_pipe(&data->display, pipe) {
> - uint32_t devid = intel_get_drm_devid(data->drm_fd);
> + if (!check_big_joiner_test_constraint(data, output, test_type))
> + continue;
>
> - if (data->output->config.connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
> - pipe == PIPE_A && IS_GEN11(devid)) {
> - igt_debug("DSC not supported on Pipe A on external DP in Gen11 platforms\n");
> + if (!check_dp_gen11_constraint(data, output, pipe))
> continue;
> - }
>
> - snprintf(test_name, sizeof(test_name), "-%dbpp", data->compression_bpp);
> - if (!igt_pipe_connector_valid(pipe, data->output))
> + if (!check_big_joiner_pipe_constraint(data, output, pipe))
> continue;
>
> - igt_dynamic_f("%s-pipe-%s%s", data->output->name,
> - kmstest_pipe_name(pipe),
> - (test_type == test_dsc_compression_bpp) ?
> - test_name : "") {
> - data->pipe = pipe;
> - igt_skip_on_f((data->output->config.connector->modes[0].hdisplay >= 5120) &&
> - (pipe == (data->n_pipes - 1)),
> - "pipe-%s not supported due to bigjoiner limitation\n",
> - kmstest_pipe_name(pipe));
> - update_display(data, test_type);
> + if (!igt_pipe_connector_valid(pipe, output))
> + continue;
This check is redundant, for_each_pipe_with_valid_output() is already
taken care of this check.
>
> - }
> - if (test_type == test_dsc_compression_bpp)
> - break;
> + snprintf(test_name, sizeof(test_name), "-%dbpp", data->compression_bpp);
> + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipe), output->name,
> + (test_type == TEST_DSC_COMPRESSION_BPP) ? test_name : "")
> + update_display(data, output, pipe, test_type);
> }
> -
> - igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
> }
>
> igt_main
> {
> data_t data = {};
> - drmModeRes *res;
> - drmModeConnector *connector = NULL;
> - int i, j;
> + int i;
> +
> igt_fixture {
> data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
> data.devid = intel_get_drm_devid(data.drm_fd);
> kmstest_set_vt_graphics_mode();
> igt_install_exit_handler(kms_dsc_exit_handler);
> igt_display_require(&data.display, data.drm_fd);
> - igt_require(res = drmModeGetResources(data.drm_fd));
> + igt_display_require_output(&data.display);
> data.n_pipes = 0;
> for_each_pipe(&data.display, i)
> data.n_pipes++;
> }
> - igt_subtest_with_dynamic("basic-dsc-enable") {
> - for (j = 0; j < res->count_connectors; j++) {
> - if (!check_dsc_on_connector(&data, res->connectors[j]))
> - continue;
> - run_test(&data, test_basic_dsc_enable);
> - }
> - }
> +
> + igt_describe("Tests basic display stream compression functionality if supported "
> + "by a connector by forcing DSC on all connectors that support it "
> + "with default parameters");
> + igt_subtest_with_dynamic("basic-dsc-enable")
> + test_dsc(&data, TEST_BASIC_DSC_ENABLE);
> +
> /* currently we are validating compression bpp on XRGB8888 format only */
> + igt_describe("Tests basic display stream compression functionality if supported "
> + "by a connector by forcing DSC on all connectors that support it "
> + "with certain BPP as the output BPP for the connector");
> igt_subtest_with_dynamic("XRGB8888-dsc-compression") {
> uint32_t bpp_list[] = {
> XRGB8888_DRM_FORMAT_MIN_BPP,
> (XRGB8888_DRM_FORMAT_MIN_BPP +
> - (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1) / 2,
> + (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1) / 2,
> (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1
> };
>
> igt_require(intel_display_ver(data.devid) >= 13);
This check can be in igt_fixture?
- Bhanu
>
> - for (j = 0; j < res->count_connectors; j++) {
> - if (!check_dsc_on_connector(&data, res->connectors[j]))
> - continue;
> -
> - for (i = 0; i < ARRAY_SIZE(bpp_list); i++) {
> - data.compression_bpp = bpp_list[i];
> - run_test(&data, test_dsc_compression_bpp);
> - }
> + for (int j = 0; j < ARRAY_SIZE(bpp_list); j++) {
> + data.compression_bpp = bpp_list[j];
> + test_dsc(&data, TEST_DSC_COMPRESSION_BPP);
> }
> }
>
> igt_fixture {
> - if (connector)
> - drmModeFreeConnector(connector);
> - test_cleanup(&data);
> - drmModeFreeResources(res);
> igt_display_fini(&data.display);
> close(data.drm_fd);
> }
^ permalink raw reply [flat|nested] 6+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for tests/i915/kms_dsc: IGT cleanup (rev4)
2022-05-19 5:32 [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup Swati Sharma
2022-05-19 6:17 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/kms_dsc: IGT cleanup (rev4) Patchwork
2022-05-19 6:25 ` [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup Modem, Bhanuprakash
@ 2022-05-19 7:08 ` Patchwork
2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2022-05-19 7:08 UTC (permalink / raw)
To: Swati Sharma; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 52316 bytes --]
== Series Details ==
Series: tests/i915/kms_dsc: IGT cleanup (rev4)
URL : https://patchwork.freedesktop.org/series/103935/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_11675_full -> IGTPW_7140_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/index.html
Participating hosts (13 -> 9)
------------------------------
Missing (4): pig-skl-6260u pig-kbl-iris shard-rkl pig-glk-j5005
New tests
---------
New tests have been introduced between CI_DRM_11675_full and IGTPW_7140_full:
### New IGT tests (5) ###
* igt@kms_dsc@basic-dsc-enable@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.25] s
* igt@kms_dsc@basic-dsc-enable@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.21] s
* igt@kms_dsc@basic-dsc-enable@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.21] s
* igt@kms_dsc@basic-dsc-enable@pipe-d-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.22] s
* igt@kms_flip@flip-vs-modeset-vs-hang@d-hdmi-a3:
- Statuses : 1 pass(s)
- Exec time: [29.96] s
Known issues
------------
Here are the changes found in IGTPW_7140_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@blit-noreloc-purge-cache-random:
- shard-snb: NOTRUN -> [SKIP][1] ([fdo#109271]) +140 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-snb6/igt@api_intel_bb@blit-noreloc-purge-cache-random.html
* igt@feature_discovery@display-3x:
- shard-iclb: NOTRUN -> [SKIP][2] ([i915#1839])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb4/igt@feature_discovery@display-3x.html
- shard-tglb: NOTRUN -> [SKIP][3] ([i915#1839])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb7/igt@feature_discovery@display-3x.html
* igt@gem_ccs@block-copy-uncompressed:
- shard-iclb: NOTRUN -> [SKIP][4] ([i915#5327])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb2/igt@gem_ccs@block-copy-uncompressed.html
* igt@gem_ctx_persistence@legacy-engines-mixed-process:
- shard-snb: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#1099]) +1 similar issue
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-snb5/igt@gem_ctx_persistence@legacy-engines-mixed-process.html
* igt@gem_exec_balancer@parallel-keep-submit-fence:
- shard-kbl: NOTRUN -> [DMESG-WARN][6] ([i915#5076] / [i915#5614])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl6/igt@gem_exec_balancer@parallel-keep-submit-fence.html
* igt@gem_exec_fair@basic-deadline:
- shard-glk: NOTRUN -> [FAIL][7] ([i915#2846])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk2/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-tglb: NOTRUN -> [FAIL][8] ([i915#2842])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@gem_exec_fair@basic-none-share@rcs0.html
* igt@gem_exec_fair@basic-pace@vecs0:
- shard-kbl: [PASS][9] -> [FAIL][10] ([i915#2842])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-kbl3/igt@gem_exec_fair@basic-pace@vecs0.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl4/igt@gem_exec_fair@basic-pace@vecs0.html
* igt@gem_exec_fair@basic-throttle@rcs0:
- shard-glk: NOTRUN -> [FAIL][11] ([i915#2842])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk7/igt@gem_exec_fair@basic-throttle@rcs0.html
* igt@gem_lmem_swapping@heavy-verify-multi:
- shard-kbl: NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#4613]) +1 similar issue
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl4/igt@gem_lmem_swapping@heavy-verify-multi.html
* igt@gem_lmem_swapping@random-engines:
- shard-iclb: NOTRUN -> [SKIP][13] ([i915#4613]) +2 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb5/igt@gem_lmem_swapping@random-engines.html
- shard-tglb: NOTRUN -> [SKIP][14] ([i915#4613])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb2/igt@gem_lmem_swapping@random-engines.html
* igt@gem_lmem_swapping@verify-random:
- shard-glk: NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#4613])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk4/igt@gem_lmem_swapping@verify-random.html
* igt@gem_pxp@reject-modify-context-protection-off-3:
- shard-iclb: NOTRUN -> [SKIP][16] ([i915#4270])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb3/igt@gem_pxp@reject-modify-context-protection-off-3.html
* igt@gem_pxp@verify-pxp-stale-buf-execution:
- shard-tglb: NOTRUN -> [SKIP][17] ([i915#4270])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb6/igt@gem_pxp@verify-pxp-stale-buf-execution.html
* igt@gem_render_copy@x-tiled-to-vebox-yf-tiled:
- shard-kbl: NOTRUN -> [SKIP][18] ([fdo#109271]) +192 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl4/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html
* igt@gem_render_copy@y-tiled-to-vebox-linear:
- shard-iclb: NOTRUN -> [SKIP][19] ([i915#768]) +2 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb1/igt@gem_render_copy@y-tiled-to-vebox-linear.html
* igt@gem_softpin@evict-single-offset:
- shard-kbl: NOTRUN -> [FAIL][20] ([i915#4171])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl4/igt@gem_softpin@evict-single-offset.html
* igt@gem_userptr_blits@coherency-unsync:
- shard-tglb: NOTRUN -> [SKIP][21] ([i915#3297])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb7/igt@gem_userptr_blits@coherency-unsync.html
- shard-iclb: NOTRUN -> [SKIP][22] ([i915#3297])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb2/igt@gem_userptr_blits@coherency-unsync.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-glk: NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#3323])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk4/igt@gem_userptr_blits@dmabuf-sync.html
* igt@gem_workarounds@suspend-resume:
- shard-apl: [PASS][24] -> [DMESG-WARN][25] ([i915#180]) +2 similar issues
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-apl7/igt@gem_workarounds@suspend-resume.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl7/igt@gem_workarounds@suspend-resume.html
* igt@gen7_exec_parse@load-register-reg:
- shard-iclb: NOTRUN -> [SKIP][26] ([fdo#109289]) +2 similar issues
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb8/igt@gen7_exec_parse@load-register-reg.html
* igt@gen9_exec_parse@valid-registers:
- shard-iclb: NOTRUN -> [SKIP][27] ([i915#2856]) +1 similar issue
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb1/igt@gen9_exec_parse@valid-registers.html
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-apl: NOTRUN -> [SKIP][28] ([fdo#109271] / [i915#658])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl2/igt@i915_pm_dc@dc3co-vpb-simulation.html
* igt@i915_pm_rpm@modeset-non-lpsp-stress:
- shard-tglb: NOTRUN -> [SKIP][29] ([fdo#111644] / [i915#1397] / [i915#2411])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb5/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
- shard-iclb: NOTRUN -> [SKIP][30] ([fdo#110892])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb4/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
* igt@i915_query@test-query-geometry-subslices:
- shard-tglb: NOTRUN -> [SKIP][31] ([i915#5723])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@i915_query@test-query-geometry-subslices.html
- shard-iclb: NOTRUN -> [SKIP][32] ([i915#5723])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb2/igt@i915_query@test-query-geometry-subslices.html
* igt@i915_suspend@sysfs-reader:
- shard-apl: NOTRUN -> [DMESG-WARN][33] ([i915#180]) +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl8/igt@i915_suspend@sysfs-reader.html
- shard-kbl: NOTRUN -> [DMESG-WARN][34] ([i915#180])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl7/igt@i915_suspend@sysfs-reader.html
* igt@kms_atomic@atomic_plane_damage:
- shard-iclb: NOTRUN -> [SKIP][35] ([i915#4765])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb5/igt@kms_atomic@atomic_plane_damage.html
* igt@kms_big_fb@4-tiled-addfb-size-offset-overflow:
- shard-tglb: NOTRUN -> [SKIP][36] ([i915#5286]) +5 similar issues
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@kms_big_fb@4-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-iclb: NOTRUN -> [SKIP][37] ([i915#5286]) +4 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb4/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-270:
- shard-tglb: NOTRUN -> [SKIP][38] ([fdo#111614]) +7 similar issues
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-270:
- shard-iclb: NOTRUN -> [SKIP][39] ([fdo#110725] / [fdo#111614]) +4 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb3/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
- shard-apl: NOTRUN -> [SKIP][40] ([fdo#109271]) +154 similar issues
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl3/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
- shard-iclb: NOTRUN -> [SKIP][41] ([fdo#110723]) +2 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
* igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_rc_ccs_cc:
- shard-glk: NOTRUN -> [SKIP][42] ([fdo#109271] / [i915#3886]) +4 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk9/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html
- shard-iclb: NOTRUN -> [SKIP][43] ([fdo#109278] / [i915#3886]) +6 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb2/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
- shard-kbl: NOTRUN -> [SKIP][44] ([fdo#109271] / [i915#3886]) +11 similar issues
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl7/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc:
- shard-apl: NOTRUN -> [SKIP][45] ([fdo#109271] / [i915#3886]) +8 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl4/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][46] ([i915#3689] / [i915#3886]) +2 similar issues
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb6/igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-b-crc-sprite-planes-basic-yf_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][47] ([fdo#111615] / [i915#3689]) +1 similar issue
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb7/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-yf_tiled_ccs.html
* igt@kms_ccs@pipe-d-bad-aux-stride-y_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][48] ([i915#3689]) +5 similar issues
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb1/igt@kms_ccs@pipe-d-bad-aux-stride-y_tiled_ccs.html
* igt@kms_cdclk@mode-transition:
- shard-tglb: NOTRUN -> [SKIP][49] ([i915#3742])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb7/igt@kms_cdclk@mode-transition.html
* igt@kms_chamelium@dp-hpd-storm:
- shard-iclb: NOTRUN -> [SKIP][50] ([fdo#109284] / [fdo#111827]) +5 similar issues
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb2/igt@kms_chamelium@dp-hpd-storm.html
* igt@kms_chamelium@hdmi-hpd-storm:
- shard-kbl: NOTRUN -> [SKIP][51] ([fdo#109271] / [fdo#111827]) +11 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl4/igt@kms_chamelium@hdmi-hpd-storm.html
* igt@kms_chamelium@vga-hpd:
- shard-glk: NOTRUN -> [SKIP][52] ([fdo#109271] / [fdo#111827]) +5 similar issues
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk4/igt@kms_chamelium@vga-hpd.html
* igt@kms_color@pipe-d-ctm-max:
- shard-iclb: NOTRUN -> [SKIP][53] ([fdo#109278] / [i915#1149])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb6/igt@kms_color@pipe-d-ctm-max.html
* igt@kms_color_chamelium@pipe-c-ctm-red-to-blue:
- shard-snb: NOTRUN -> [SKIP][54] ([fdo#109271] / [fdo#111827]) +4 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-snb6/igt@kms_color_chamelium@pipe-c-ctm-red-to-blue.html
* igt@kms_color_chamelium@pipe-d-ctm-0-75:
- shard-apl: NOTRUN -> [SKIP][55] ([fdo#109271] / [fdo#111827]) +12 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl3/igt@kms_color_chamelium@pipe-d-ctm-0-75.html
* igt@kms_color_chamelium@pipe-d-ctm-red-to-blue:
- shard-tglb: NOTRUN -> [SKIP][56] ([fdo#109284] / [fdo#111827]) +6 similar issues
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb2/igt@kms_color_chamelium@pipe-d-ctm-red-to-blue.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-iclb: NOTRUN -> [SKIP][57] ([i915#3116])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb7/igt@kms_content_protection@dp-mst-type-1.html
- shard-tglb: NOTRUN -> [SKIP][58] ([i915#3116] / [i915#3299])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_cursor_crc@pipe-b-cursor-32x32-sliding:
- shard-tglb: NOTRUN -> [SKIP][59] ([i915#3319]) +1 similar issue
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb6/igt@kms_cursor_crc@pipe-b-cursor-32x32-sliding.html
* igt@kms_cursor_crc@pipe-b-cursor-suspend:
- shard-kbl: [PASS][60] -> [DMESG-WARN][61] ([i915#180])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-kbl4/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl7/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
* igt@kms_cursor_crc@pipe-c-cursor-512x170-offscreen:
- shard-iclb: NOTRUN -> [SKIP][62] ([fdo#109278] / [fdo#109279]) +1 similar issue
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb1/igt@kms_cursor_crc@pipe-c-cursor-512x170-offscreen.html
* igt@kms_cursor_crc@pipe-c-cursor-512x170-sliding:
- shard-glk: NOTRUN -> [SKIP][63] ([fdo#109271] / [i915#5691])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk5/igt@kms_cursor_crc@pipe-c-cursor-512x170-sliding.html
* igt@kms_cursor_crc@pipe-d-cursor-32x32-rapid-movement:
- shard-iclb: NOTRUN -> [SKIP][64] ([fdo#109278]) +33 similar issues
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb6/igt@kms_cursor_crc@pipe-d-cursor-32x32-rapid-movement.html
* igt@kms_cursor_crc@pipe-d-cursor-512x170-onscreen:
- shard-tglb: NOTRUN -> [SKIP][65] ([fdo#109279] / [i915#3359]) +2 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@kms_cursor_crc@pipe-d-cursor-512x170-onscreen.html
* igt@kms_cursor_crc@pipe-d-cursor-512x170-rapid-movement:
- shard-tglb: NOTRUN -> [SKIP][66] ([i915#3359]) +9 similar issues
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb5/igt@kms_cursor_crc@pipe-d-cursor-512x170-rapid-movement.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- shard-tglb: NOTRUN -> [SKIP][67] ([i915#4103]) +1 similar issue
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
- shard-iclb: NOTRUN -> [SKIP][68] ([fdo#109274] / [fdo#109278]) +1 similar issue
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb8/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: [PASS][69] -> [FAIL][70] ([i915#2346])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_dp_tiled_display@basic-test-pattern:
- shard-iclb: NOTRUN -> [SKIP][71] ([i915#426])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb5/igt@kms_dp_tiled_display@basic-test-pattern.html
* igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-4tiled:
- shard-tglb: NOTRUN -> [SKIP][72] ([i915#5287])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb6/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-4tiled.html
- shard-iclb: NOTRUN -> [SKIP][73] ([i915#5287])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb6/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-4tiled.html
* igt@kms_draw_crc@draw-method-xrgb2101010-mmap-gtt-xtiled:
- shard-glk: [PASS][74] -> [FAIL][75] ([i915#1888] / [i915#5160])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-glk2/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-gtt-xtiled.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk9/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-gtt-xtiled.html
* igt@kms_dsc@basic-dsc-enable:
- shard-iclb: NOTRUN -> [SKIP][76] ([i915#3840])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb6/igt@kms_dsc@basic-dsc-enable.html
* igt@kms_flip@2x-absolute-wf_vblank-interruptible:
- shard-iclb: NOTRUN -> [SKIP][77] ([fdo#109274]) +3 similar issues
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb4/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html
* igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
- shard-tglb: NOTRUN -> [SKIP][78] ([fdo#109274] / [fdo#111825]) +7 similar issues
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb2/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
- shard-tglb: NOTRUN -> [SKIP][79] ([i915#2587])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-iclb: [PASS][80] -> [DMESG-WARN][81] ([i915#2867])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-suspend.html
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
- shard-iclb: NOTRUN -> [SKIP][82] ([fdo#109280]) +26 similar issues
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
- shard-tglb: NOTRUN -> [SKIP][83] ([i915#5439])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb3/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move:
- shard-tglb: NOTRUN -> [SKIP][84] ([fdo#109280] / [fdo#111825]) +16 similar issues
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-cpu:
- shard-glk: NOTRUN -> [SKIP][85] ([fdo#109271]) +96 similar issues
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk9/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-cpu.html
* igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c:
- shard-tglb: NOTRUN -> [SKIP][86] ([fdo#109289])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb6/igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
- shard-kbl: NOTRUN -> [SKIP][87] ([fdo#109271] / [i915#533])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl7/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html
* igt@kms_pipe_crc_basic@hang-read-crc-pipe-d:
- shard-glk: NOTRUN -> [SKIP][88] ([fdo#109271] / [i915#533])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk7/igt@kms_pipe_crc_basic@hang-read-crc-pipe-d.html
* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d:
- shard-apl: NOTRUN -> [SKIP][89] ([fdo#109271] / [i915#533])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl8/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d.html
* igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
- shard-kbl: NOTRUN -> [FAIL][90] ([fdo#108145] / [i915#265])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl6/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
- shard-glk: NOTRUN -> [FAIL][91] ([fdo#108145] / [i915#265])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk8/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
* igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
- shard-apl: NOTRUN -> [FAIL][92] ([fdo#108145] / [i915#265])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl6/igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb.html
* igt@kms_plane_lowres@pipe-c-tiling-none:
- shard-iclb: NOTRUN -> [SKIP][93] ([i915#3536]) +1 similar issue
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb1/igt@kms_plane_lowres@pipe-c-tiling-none.html
- shard-tglb: NOTRUN -> [SKIP][94] ([i915#3536]) +1 similar issue
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb3/igt@kms_plane_lowres@pipe-c-tiling-none.html
* igt@kms_plane_lowres@pipe-c-tiling-yf:
- shard-tglb: NOTRUN -> [SKIP][95] ([fdo#111615] / [fdo#112054])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@kms_plane_lowres@pipe-c-tiling-yf.html
* igt@kms_plane_multiple@atomic-pipe-b-tiling-4:
- shard-tglb: NOTRUN -> [SKIP][96] ([i915#5288])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb7/igt@kms_plane_multiple@atomic-pipe-b-tiling-4.html
* igt@kms_plane_scaling@downscale-with-modifier-factor-0-25@pipe-d-edp-1-downscale-with-modifier:
- shard-tglb: NOTRUN -> [SKIP][97] ([i915#5176]) +7 similar issues
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb1/igt@kms_plane_scaling@downscale-with-modifier-factor-0-25@pipe-d-edp-1-downscale-with-modifier.html
* igt@kms_plane_scaling@downscale-with-pixel-format-factor-0-25@pipe-a-edp-1-downscale-with-pixel-format:
- shard-iclb: NOTRUN -> [SKIP][98] ([i915#5176]) +5 similar issues
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb5/igt@kms_plane_scaling@downscale-with-pixel-format-factor-0-25@pipe-a-edp-1-downscale-with-pixel-format.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1-planes-downscale:
- shard-iclb: [PASS][99] -> [SKIP][100] ([i915#5235]) +2 similar issues
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb8/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1-planes-downscale.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb2/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1-planes-downscale.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-a-edp-1-planes-upscale-downscale:
- shard-iclb: NOTRUN -> [SKIP][101] ([i915#5235]) +2 similar issues
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-a-edp-1-planes-upscale-downscale.html
* igt@kms_prime@basic-crc@first-to-second:
- shard-iclb: NOTRUN -> [SKIP][102] ([i915#1836])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb6/igt@kms_prime@basic-crc@first-to-second.html
* igt@kms_psr2_sf@plane-move-sf-dmg-area:
- shard-kbl: NOTRUN -> [SKIP][103] ([fdo#109271] / [i915#658]) +1 similar issue
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl4/igt@kms_psr2_sf@plane-move-sf-dmg-area.html
- shard-tglb: NOTRUN -> [SKIP][104] ([i915#2920])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb6/igt@kms_psr2_sf@plane-move-sf-dmg-area.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-iclb: [PASS][105] -> [SKIP][106] ([fdo#109642] / [fdo#111068] / [i915#658])
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb2/igt@kms_psr2_su@frontbuffer-xrgb8888.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb3/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-tglb: NOTRUN -> [SKIP][107] ([i915#1911])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb5/igt@kms_psr2_su@page_flip-nv12.html
- shard-glk: NOTRUN -> [SKIP][108] ([fdo#109271] / [i915#658])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk8/igt@kms_psr2_su@page_flip-nv12.html
- shard-iclb: NOTRUN -> [SKIP][109] ([fdo#109642] / [fdo#111068] / [i915#658])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb4/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: NOTRUN -> [SKIP][110] ([fdo#109441]) +2 similar issues
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb7/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_psr@psr2_primary_mmap_gtt:
- shard-tglb: NOTRUN -> [FAIL][111] ([i915#132] / [i915#3467]) +3 similar issues
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb2/igt@kms_psr@psr2_primary_mmap_gtt.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
- shard-tglb: NOTRUN -> [SKIP][112] ([fdo#111615]) +3 similar issues
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
* igt@kms_setmode@invalid-clone-single-crtc-stealing:
- shard-iclb: NOTRUN -> [SKIP][113] ([i915#3555]) +1 similar issue
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb8/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
- shard-tglb: NOTRUN -> [SKIP][114] ([i915#3555])
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
* igt@kms_writeback@writeback-pixel-formats:
- shard-kbl: NOTRUN -> [SKIP][115] ([fdo#109271] / [i915#2437])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl6/igt@kms_writeback@writeback-pixel-formats.html
- shard-tglb: NOTRUN -> [SKIP][116] ([i915#2437])
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb5/igt@kms_writeback@writeback-pixel-formats.html
* igt@nouveau_crc@pipe-b-ctx-flip-detection:
- shard-tglb: NOTRUN -> [SKIP][117] ([i915#2530]) +3 similar issues
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb3/igt@nouveau_crc@pipe-b-ctx-flip-detection.html
* igt@nouveau_crc@pipe-b-source-outp-complete:
- shard-iclb: NOTRUN -> [SKIP][118] ([i915#2530]) +3 similar issues
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb7/igt@nouveau_crc@pipe-b-source-outp-complete.html
* igt@prime_nv_api@nv_i915_import_twice_check_flink_name:
- shard-iclb: NOTRUN -> [SKIP][119] ([fdo#109291]) +4 similar issues
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb5/igt@prime_nv_api@nv_i915_import_twice_check_flink_name.html
* igt@prime_nv_pcopy@test1_macro:
- shard-tglb: NOTRUN -> [SKIP][120] ([fdo#109291]) +1 similar issue
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb7/igt@prime_nv_pcopy@test1_macro.html
* igt@prime_vgem@fence-flip-hang:
- shard-iclb: NOTRUN -> [SKIP][121] ([fdo#109295])
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb3/igt@prime_vgem@fence-flip-hang.html
* igt@prime_vgem@fence-write-hang:
- shard-tglb: NOTRUN -> [SKIP][122] ([fdo#109295])
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb5/igt@prime_vgem@fence-write-hang.html
* igt@sysfs_clients@create:
- shard-glk: NOTRUN -> [SKIP][123] ([fdo#109271] / [i915#2994]) +3 similar issues
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk9/igt@sysfs_clients@create.html
* igt@sysfs_clients@fair-0:
- shard-apl: NOTRUN -> [SKIP][124] ([fdo#109271] / [i915#2994]) +2 similar issues
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl6/igt@sysfs_clients@fair-0.html
* igt@sysfs_clients@fair-3:
- shard-kbl: NOTRUN -> [SKIP][125] ([fdo#109271] / [i915#2994]) +3 similar issues
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl7/igt@sysfs_clients@fair-3.html
- shard-tglb: NOTRUN -> [SKIP][126] ([i915#2994]) +1 similar issue
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb8/igt@sysfs_clients@fair-3.html
* igt@sysfs_clients@fair-7:
- shard-iclb: NOTRUN -> [SKIP][127] ([i915#2994]) +1 similar issue
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb8/igt@sysfs_clients@fair-7.html
#### Possible fixes ####
* igt@gem_ctx_isolation@preservation-s3@rcs0:
- shard-kbl: [INCOMPLETE][128] ([i915#794]) -> [PASS][129]
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-kbl4/igt@gem_ctx_isolation@preservation-s3@rcs0.html
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl1/igt@gem_ctx_isolation@preservation-s3@rcs0.html
* igt@gem_eio@kms:
- shard-tglb: [FAIL][130] ([i915#5784]) -> [PASS][131]
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-tglb1/igt@gem_eio@kms.html
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb6/igt@gem_eio@kms.html
* igt@gem_eio@reset-stress:
- {shard-dg1}: [FAIL][132] ([i915#5784]) -> [PASS][133]
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-dg1-15/igt@gem_eio@reset-stress.html
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-dg1-18/igt@gem_eio@reset-stress.html
* igt@gem_eio@unwedge-stress:
- {shard-tglu}: [TIMEOUT][134] ([i915#3063]) -> [PASS][135]
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-tglu-1/igt@gem_eio@unwedge-stress.html
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglu-6/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_fair@basic-deadline:
- shard-kbl: [FAIL][136] ([i915#2846]) -> [PASS][137]
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-kbl1/igt@gem_exec_fair@basic-deadline.html
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl1/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none-rrul@rcs0:
- shard-kbl: [FAIL][138] ([i915#2842]) -> [PASS][139]
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-kbl1/igt@gem_exec_fair@basic-none-rrul@rcs0.html
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl3/igt@gem_exec_fair@basic-none-rrul@rcs0.html
* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-glk: [FAIL][140] ([i915#2842]) -> [PASS][141]
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-glk3/igt@gem_exec_fair@basic-none-share@rcs0.html
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk9/igt@gem_exec_fair@basic-none-share@rcs0.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-apl: [FAIL][142] ([i915#2842]) -> [PASS][143]
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-apl3/igt@gem_exec_fair@basic-none-solo@rcs0.html
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl3/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_flush@basic-wb-pro-default:
- shard-snb: [SKIP][144] ([fdo#109271]) -> [PASS][145]
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-snb6/igt@gem_exec_flush@basic-wb-pro-default.html
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-snb7/igt@gem_exec_flush@basic-wb-pro-default.html
* igt@gem_exec_whisper@basic-queues-forked-all:
- shard-glk: [DMESG-WARN][146] ([i915#118]) -> [PASS][147]
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-glk3/igt@gem_exec_whisper@basic-queues-forked-all.html
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk9/igt@gem_exec_whisper@basic-queues-forked-all.html
* igt@gem_workarounds@suspend-resume-context:
- {shard-dg1}: [FAIL][148] ([fdo#103375]) -> [PASS][149] +1 similar issue
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-dg1-17/igt@gem_workarounds@suspend-resume-context.html
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-dg1-18/igt@gem_workarounds@suspend-resume-context.html
* igt@i915_pm_dc@dc6-dpms:
- shard-iclb: [FAIL][150] ([i915#454]) -> [PASS][151] +1 similar issue
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb3/igt@i915_pm_dc@dc6-dpms.html
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb4/igt@i915_pm_dc@dc6-dpms.html
* igt@i915_pm_dc@dc9-dpms:
- shard-apl: [SKIP][152] ([fdo#109271]) -> [PASS][153]
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-apl6/igt@i915_pm_dc@dc9-dpms.html
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl6/igt@i915_pm_dc@dc9-dpms.html
* igt@kms_cursor_crc@pipe-b-cursor-suspend:
- shard-apl: [DMESG-WARN][154] ([i915#180]) -> [PASS][155]
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-apl8/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl1/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl: [DMESG-WARN][156] ([i915#180]) -> [PASS][157] +3 similar issues
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-iclb: [FAIL][158] ([i915#2346]) -> [PASS][159]
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
- shard-apl: [FAIL][160] ([i915#2346] / [i915#533]) -> [PASS][161]
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-apl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling:
- shard-iclb: [SKIP][162] ([i915#3701]) -> [PASS][163]
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-pwrite:
- shard-glk: [FAIL][164] ([i915#1888] / [i915#2546]) -> [PASS][165]
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-glk5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-pwrite.html
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-edp-1-scaler-with-clipping-clamping:
- shard-iclb: [SKIP][166] ([i915#5176]) -> [PASS][167] +1 similar issue
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb3/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-edp-1-scaler-with-clipping-clamping.html
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb6/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-edp-1-scaler-with-clipping-clamping.html
* igt@kms_psr@psr2_primary_blt:
- shard-iclb: [SKIP][168] ([fdo#109441]) -> [PASS][169]
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb8/igt@kms_psr@psr2_primary_blt.html
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb2/igt@kms_psr@psr2_primary_blt.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-tglb: [SKIP][170] ([i915#5519]) -> [PASS][171]
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-tglb7/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb2/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_vblank@pipe-d-ts-continuation-dpms-suspend:
- shard-tglb: [INCOMPLETE][172] -> [PASS][173]
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-tglb1/igt@kms_vblank@pipe-d-ts-continuation-dpms-suspend.html
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-tglb5/igt@kms_vblank@pipe-d-ts-continuation-dpms-suspend.html
* igt@perf@non-zero-reason:
- shard-glk: [TIMEOUT][174] -> [PASS][175] +1 similar issue
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-glk8/igt@perf@non-zero-reason.html
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk8/igt@perf@non-zero-reason.html
* igt@perf_pmu@busy-double-start@vecs0:
- {shard-dg1}: [FAIL][176] ([i915#4349]) -> [PASS][177]
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-dg1-16/igt@perf_pmu@busy-double-start@vecs0.html
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-dg1-13/igt@perf_pmu@busy-double-start@vecs0.html
#### Warnings ####
* igt@gem_exec_balancer@parallel-ordering:
- shard-iclb: [SKIP][178] ([i915#4525]) -> [DMESG-FAIL][179] ([i915#5614])
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb8/igt@gem_exec_balancer@parallel-ordering.html
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb1/igt@gem_exec_balancer@parallel-ordering.html
* igt@gem_exec_balancer@parallel-out-fence:
- shard-iclb: [DMESG-WARN][180] ([i915#5614]) -> [SKIP][181] ([i915#4525]) +1 similar issue
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb1/igt@gem_exec_balancer@parallel-out-fence.html
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb3/igt@gem_exec_balancer@parallel-out-fence.html
* igt@kms_color@pipe-d-legacy-gamma:
- shard-glk: [TIMEOUT][182] -> [SKIP][183] ([fdo#109271]) +2 similar issues
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-glk8/igt@kms_color@pipe-d-legacy-gamma.html
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-glk1/igt@kms_color@pipe-d-legacy-gamma.html
* igt@kms_flip@flip-vs-suspend@c-dp1:
- shard-kbl: [DMESG-WARN][184] ([i915#180]) -> [INCOMPLETE][185] ([i915#3614])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-kbl7/igt@kms_flip@flip-vs-suspend@c-dp1.html
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-kbl3/igt@kms_flip@flip-vs-suspend@c-dp1.html
* igt@kms_psr2_su@page_flip-p010:
- shard-iclb: [SKIP][186] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [FAIL][187] ([i915#5939])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11675/shard-iclb6/igt@kms_psr2_su@page_flip-p010.html
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/shard-iclb2/igt@kms_psr2_su@page_flip-p010.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#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#110725]: https://bugs.freedesktop.org/show_bug.cgi?id=110725
[fdo#110892]: https://bugs.freedesktop.org/show_bug.cgi?id=110892
[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#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
[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#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
[i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
[i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1836]: https://gitlab.freedesktop.org/drm/intel/issues/1836
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
[i915#1911]: https://gitlab.freedesktop.org/drm/intel/issues/1911
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
[i915#2546]: https://gitlab.freedesktop.org/drm/intel/issues/2546
[i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
[i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
[i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
[i915#3319]: https://gitlab.freedesktop.org/drm/intel/issues/3319
[i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3467]: https://gitlab.freedesktop.org/drm/intel/issues/3467
[i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
[i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3614]: https://gitlab.freedesktop.org/drm/intel/issues/3614
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3701]: https://gitlab.freedesktop.org/drm/intel/issues/3701
[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#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[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#4171]: https://gitlab.freedesktop.org/drm/intel/issues/4171
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
[i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4765]: https://gitlab.freedesktop.org/drm/intel/issues/4765
[i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
[i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
[i915#4842]: https://gitlab.freedesktop.org/drm/intel/issues/4842
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#4853]: https://gitlab.freedesktop.org/drm/intel/issues/4853
[i915#4855]: https://gitlab.freedesktop.org/drm/intel/issues/4855
[i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
[i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
[i915#4886]: https://gitlab.freedesktop.org/drm/intel/issues/4886
[i915#4893]: https://gitlab.freedesktop.org/drm/intel/issues/4893
[i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958
[i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
[i915#5076]: https://gitlab.freedesktop.org/drm/intel/issues/5076
[i915#5160]: https://gitlab.freedesktop.org/drm/intel/issues/5160
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5182]: https://gitlab.freedesktop.org/drm/intel/issues/5182
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
[i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5303]: https://gitlab.freedesktop.org/drm/intel/issues/5303
[i915#5327]: https://gitlab.freedesktop.org/drm/intel/issues/5327
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
[i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
[i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
[i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
[i915#5614]: https://gitlab.freedesktop.org/drm/intel/issues/5614
[i915#5691]: https://gitlab.freedesktop.org/drm/intel/issues/5691
[i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939
[i915#6029]: https://gitlab.freedesktop.org/drm/intel/issues/6029
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#768]: https://gitlab.freedesktop.org/drm/intel/issues/768
[i915#794]: https://gitlab.freedesktop.org/drm/intel/issues/794
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6480 -> IGTPW_7140
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_11675: c31582c636f4c6ac8c0f822c39b250db2c5cd437 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_7140: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/index.html
IGT_6480: 40ee6f52ac54858fa857fcdef52c0c791abf9344 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7140/index.html
[-- Attachment #2: Type: text/html, Size: 61009 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup
2022-05-19 6:25 ` [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup Modem, Bhanuprakash
@ 2022-05-24 16:44 ` Sharma, Swati2
2022-05-25 5:17 ` Modem, Bhanuprakash
0 siblings, 1 reply; 6+ messages in thread
From: Sharma, Swati2 @ 2022-05-24 16:44 UTC (permalink / raw)
To: Modem, Bhanuprakash, igt-dev; +Cc: Patnana Venkata Sai
Hi Bhanu,
I have addressed all review comments except last one.
XRGB8888-dsc-compressions is specific to display 13; so we need to
keep check there only.
Few patch floated having lib changes and kms dsc cleanup changes.
https://patchwork.freedesktop.org/patch/487140/
Please review.
On 19-May-22 11:55 AM, Modem, Bhanuprakash wrote:
> Hi Swati,
>
> Overall, this patch looks good to me. I have dropped few minor comments
> to be addressed inline.
>
> On Thu-19-05-2022 11:02 am, Swati Sharma wrote:
>> Remove redundant code and before starting the subtest,
>> clean up the states to default by igt_display_reset().
>> Few minor fixes in indentation. Added subtests description.
>>
>> v2: -minor mistake in subtest name
>> -commit was missing after reset, added
>> v3: -fixed styling error
>> -replaced drm calls with igt wrappers
>> v4: -added igt_display_require_output() in igt_fixture
>> -modularized code, added func() for checks
>> -added func() to get highest mode
>>
>> Signed-off-by: Patnana Venkata Sai <venkata.sai.patnana@intel.com>
>> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
>> ---
>> lib/igt_kms.c | 1 -
>> tests/i915/kms_dsc.c | 263 +++++++++++++++++++++++--------------------
>> 2 files changed, 139 insertions(+), 125 deletions(-)
>>
>> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
>> index 7838ff28..50a965ad 100644
>> --- a/lib/igt_kms.c
>> +++ b/lib/igt_kms.c
>> @@ -5304,7 +5304,6 @@ bool igt_is_dsc_supported(int drmfd,
>> drmModeConnector *connector)
>> */
>> bool igt_is_fec_supported(int drmfd, drmModeConnector *connector)
>> {
>> -
>> return check_dsc_debugfs(drmfd, connector, "FEC_Sink_Support:
>> yes");
>> }
>> diff --git a/tests/i915/kms_dsc.c b/tests/i915/kms_dsc.c
>> index 22d2216e..3adca600 100644
>> --- a/tests/i915/kms_dsc.c
>> +++ b/tests/i915/kms_dsc.c
>> @@ -44,13 +44,16 @@
>> #include <fcntl.h>
>> #include <termios.h>
>> -/* currently dsc compression is verifying on 8bpc frame only */
>> +IGT_TEST_DESCRIPTION("Test to validate display stream compression");
>> +
>> +#define HDISPLAY_5K 5120
>> +
>> +/* currently dsc is verifed on 8bpc frame only */
>> #define XRGB8888_DRM_FORMAT_MIN_BPP 8
>> -enum dsc_test_type
>> -{
>> - test_basic_dsc_enable,
>> - test_dsc_compression_bpp
>> +enum dsc_test_type {
>> + TEST_BASIC_DSC_ENABLE,
>> + TEST_DSC_COMPRESSION_BPP
>> };
>> typedef struct {
>> @@ -59,9 +62,6 @@ typedef struct {
>> igt_display_t display;
>> struct igt_fb fb_test_pattern;
>> igt_output_t *output;
>> - int mode_valid;
>> - drmModeEncoder *encoder;
>> - int crtc;
>> int compression_bpp;
>> int n_pipes;
>> enum pipe pipe;
>> @@ -80,9 +80,9 @@ static void force_dsc_enable(data_t *data)
>> {
>> int ret;
>> - igt_debug ("Forcing DSC enable on %s\n", data->conn_name);
>> + igt_debug("Forcing DSC enable on %s\n", data->conn_name);
>> ret = igt_force_dsc_enable(data->drm_fd,
>> - data->output->config.connector);
>> + data->output->config.connector);
>> igt_assert_f(ret > 0, "debugfs_write failed");
>> }
>> @@ -93,8 +93,8 @@ static void force_dsc_enable_bpp(data_t *data)
>> igt_debug("Forcing DSC BPP to %d on %s\n",
>> data->compression_bpp, data->conn_name);
>> ret = igt_force_dsc_enable_bpp(data->drm_fd,
>> - data->output->config.connector,
>> - data->compression_bpp);
>> + data->output->config.connector,
>> + data->compression_bpp);
>> igt_assert_f(ret > 0, "debugfs_write failed");
>> }
>> @@ -105,7 +105,7 @@ static void save_force_dsc_en(data_t *data)
>> data->output->config.connector);
>> force_dsc_restore_fd =
>> igt_get_dsc_debugfs_fd(data->drm_fd,
>> - data->output->config.connector);
>> + data->output->config.connector);
>> igt_assert(force_dsc_restore_fd >= 0);
>> }
>> @@ -121,19 +121,6 @@ static void restore_force_dsc_en(void)
>> force_dsc_restore_fd = -1;
>> }
>> -static void test_cleanup(data_t *data)
>> -{
>> - igt_plane_t *primary;
>> -
>> - if (data->output) {
>> - primary = igt_output_get_plane_type(data->output,
>> - DRM_PLANE_TYPE_PRIMARY);
>> - igt_plane_set_fb(primary, NULL);
>> - igt_output_set_pipe(data->output, PIPE_NONE);
>> - igt_display_commit(&data->display);
>> - }
>> -}
>> -
>> static void kms_dsc_exit_handler(int sig)
>> {
>> restore_force_dsc_en();
>> @@ -159,29 +146,26 @@ static int sort_drm_modes(const void *a, const
>> void *b)
>> return (mode1->clock < mode2->clock) - (mode2->clock <
>> mode1->clock);
>> }
>> -static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
>> +static drmModeModeInfo *get_highres_mode(drmModeConnector *connector)
>> {
>> - drmModeConnector *connector;
>> - igt_output_t *output;
>> -
>> - connector = drmModeGetConnectorCurrent(data->drm_fd,
>> - drmConnector);
>> - if (connector->connection != DRM_MODE_CONNECTED)
>> - return false;
>> -
>> - output = igt_output_from_connector(&data->display, connector);
>> + drmModeModeInfo *highest_mode = NULL;
>> - /*
>> - * As dsc supports >= 5k modes, we need to suppress lower
>> - * resolutions.
>> - */
>> - qsort(output->config.connector->modes,
>> - output->config.connector->count_modes,
>> + qsort(connector->modes,
>> + connector->count_modes,
>> sizeof(drmModeModeInfo),
>> sort_drm_modes);
>> - if (output->config.connector->connector_type ==
>> DRM_MODE_CONNECTOR_DisplayPort &&
>> - output->config.connector->modes[0].hdisplay < 5120)
>> - return NULL;
>> +
>> + highest_mode = &connector->modes[0];
>> +
>> + return highest_mode;
>> +}
>> +
>> +static bool check_dsc_on_connector(data_t *data, igt_output_t *output)
>> +{
>> + drmModeConnector *connector = output->config.connector;
>> +
>> + if (connector->connection != DRM_MODE_CONNECTED)
>> + return false;
>
> This check is redundant, for_each_pipe_with_valid_output() is already
> doing this check.
>
>> sprintf(data->conn_name, "%s-%d",
>
> Please drop data->conn_name, instead please use data->output->name;
>
>> kmstest_connector_type_str(connector->connector_type),
>> @@ -192,168 +176,199 @@ static bool check_dsc_on_connector(data_t
>> *data, uint32_t drmConnector)
>> data->conn_name);
>> return false;
>> }
>> +
>> if (is_external_panel(connector) &&
>> !igt_is_fec_supported(data->drm_fd, connector)) {
>> igt_debug("DSC cannot be enabled without FEC on %s\n",
>> data->conn_name);
>> return false;
>> }
>> +
>> data->output = output;
>
> This could be moved to test_dsc()
>
>> return true;
>> }
>> -/*
>> - * Re-probe connectors and do a modeset with DSC
>> - *
>> - */
>> -static void update_display(data_t *data, enum dsc_test_type test_type)
>> +static bool check_big_joiner_test_constraint(data_t *data,
>> igt_output_t *output,
>> + enum dsc_test_type test_type)
>> +{
>> + drmModeConnector *connector = output->config.connector;
>> + drmModeModeInfo *mode = get_highres_mode(connector);
>> +
>> + if (test_type == TEST_DSC_COMPRESSION_BPP &&
>> + mode->hdisplay >= HDISPLAY_5K) {
>> + igt_debug("Bigjoiner does not support force bpp\n");
>> + return false;
>> + }
>> +
>> + return true;
>> +}
>> +
>> +static bool check_big_joiner_pipe_constraint(data_t *data,
>> igt_output_t *output,
>> + enum pipe pipe)
>> +{
>> + drmModeConnector *connector = output->config.connector;
>> + drmModeModeInfo *mode = get_highres_mode(connector);
>> +
>> + if (mode->hdisplay >= HDISPLAY_5K &&
>> + pipe == (data->n_pipes - 1 )) {
>> + igt_debug("pipe-%s not supported due to bigjoiner limitation\n",
>> + kmstest_pipe_name(pipe));
>> + return false;
>> + }
>> +
>> + return true;
>> +}
>> +
>> +static bool check_dp_gen11_constraint(data_t *data, igt_output_t
>> *output, enum pipe pipe)
>> +{
>> + uint32_t devid = intel_get_drm_devid(data->drm_fd);
>> + drmModeConnector *connector = output->config.connector;
>> +
>> + if ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) &&
>> + (pipe == PIPE_A) && IS_GEN11(devid)) {
>> + igt_debug("DSC not supported on pipe A on external DP in
>> gen11 platforms\n");
>> + return false;
>> + }
>> +
>> + return true;
>> +}
>> +/* re-probe connectors and do a modeset with DSC */
>> +static void update_display(data_t *data, igt_output_t *output, enum
>> pipe pipe,
>> + enum dsc_test_type test_type)
>> {
>> bool enabled;
>> igt_plane_t *primary;
>> + drmModeModeInfo *mode;
>> + igt_display_t *display = &data->display;
>> + drmModeConnector *connector = data->output->config.connector;
>> - /* Disable the output first */
>> - igt_output_set_pipe(data->output, PIPE_NONE);
>> - igt_display_commit(&data->display);
>> + /* sanitize the state before starting the subtest. */
>> + igt_display_reset(display);
>> + igt_display_commit(display);
>> igt_debug("DSC is supported on %s\n", data->conn_name);
>> save_force_dsc_en(data);
>> force_dsc_enable(data);
>> - if (test_type == test_dsc_compression_bpp) {
>> +
>> + if (test_type == TEST_DSC_COMPRESSION_BPP) {
>> igt_debug("Trying to set BPP to %d\n", data->compression_bpp);
>> force_dsc_enable_bpp(data);
>> }
>> - igt_output_set_pipe(data->output, data->pipe);
>> - qsort(data->output->config.connector->modes,
>> - data->output->config.connector->count_modes,
>> - sizeof(drmModeModeInfo),
>> - sort_drm_modes);
>> - igt_output_override_mode(data->output,
>> &data->output->config.connector->modes[0]);
>> + igt_output_set_pipe(data->output, pipe);
>> +
>> + mode = get_highres_mode(connector);
>> + igt_require(mode != NULL);
>> + igt_output_override_mode(data->output, mode);
>> +
>> primary = igt_output_get_plane_type(data->output,
>> DRM_PLANE_TYPE_PRIMARY);
>> + igt_create_pattern_fb(data->drm_fd,
>> + mode->hdisplay,
>> + mode->vdisplay,
>> + DRM_FORMAT_XRGB8888,
>> + DRM_FORMAT_MOD_LINEAR,
>> + &data->fb_test_pattern);
>> - /* Now set the output to the desired mode */
>> igt_plane_set_fb(primary, &data->fb_test_pattern);
>> igt_display_commit(&data->display);
>> /*
>> - * Until we have CRC check support, manually check if RGB test
>> + * until we have CRC check support, manually check if RGB test
>> * pattern has no corruption.
>> */
>> manual("RGB test pattern without corruption");
>> - enabled = igt_is_dsc_enabled(data->drm_fd,
>> - data->output->config.connector);
>> + enabled = igt_is_dsc_enabled(data->drm_fd, connector);
>> restore_force_dsc_en();
>> igt_debug("Reset compression BPP\n");
>> data->compression_bpp = 0;
>> force_dsc_enable_bpp(data);
>> igt_assert_f(enabled,
>> - "Default DSC enable failed on Connector: %s Pipe: %s\n",
>> + "Default DSC enable failed on connector: %s pipe: %s\n",
>> data->conn_name,
>> - kmstest_pipe_name(data->pipe));
>> + kmstest_pipe_name(pipe));
>> +
>> + igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
>> + igt_plane_set_fb(primary, NULL);
>> + igt_output_set_pipe(data->output, PIPE_NONE);
>
> Please do commit here.
>
>> }
>> -static void run_test(data_t *data, enum dsc_test_type test_type)
>> +static void test_dsc(data_t *data, enum dsc_test_type test_type)
>> {
>> + igt_display_t *display = &data->display;
>> + igt_output_t *output;
>> enum pipe pipe;
>> char test_name[10];
>> - igt_skip_on_f(test_type == test_dsc_compression_bpp &&
>> - data->output->config.connector->modes[0].hdisplay >= 5120,
>> - "bigjoiner does not support force bpp\n");
>> -
>> - igt_create_pattern_fb(data->drm_fd,
>> - data->output->config.connector->modes[0].hdisplay,
>> - data->output->config.connector->modes[0].vdisplay,
>> - DRM_FORMAT_XRGB8888,
>> - DRM_FORMAT_MOD_LINEAR,
>> - &data->fb_test_pattern);
>> + for_each_pipe_with_valid_output(display, pipe, output) {
>> + if (!check_dsc_on_connector(data, output))
>> + continue;
>> - for_each_pipe(&data->display, pipe) {
>> - uint32_t devid = intel_get_drm_devid(data->drm_fd);
>> + if (!check_big_joiner_test_constraint(data, output, test_type))
>> + continue;
>> - if (data->output->config.connector->connector_type ==
>> DRM_MODE_CONNECTOR_DisplayPort &&
>> - pipe == PIPE_A && IS_GEN11(devid)) {
>> - igt_debug("DSC not supported on Pipe A on external DP in
>> Gen11 platforms\n");
>> + if (!check_dp_gen11_constraint(data, output, pipe))
>> continue;
>> - }
>> - snprintf(test_name, sizeof(test_name), "-%dbpp",
>> data->compression_bpp);
>> - if (!igt_pipe_connector_valid(pipe, data->output))
>> + if (!check_big_joiner_pipe_constraint(data, output, pipe))
>> continue;
>> - igt_dynamic_f("%s-pipe-%s%s", data->output->name,
>> - kmstest_pipe_name(pipe),
>> - (test_type == test_dsc_compression_bpp) ?
>> - test_name : "") {
>> - data->pipe = pipe;
>> -
>> igt_skip_on_f((data->output->config.connector->modes[0].hdisplay >=
>> 5120) &&
>> - (pipe == (data->n_pipes - 1)),
>> - "pipe-%s not supported due to bigjoiner
>> limitation\n",
>> - kmstest_pipe_name(pipe));
>> - update_display(data, test_type);
>> + if (!igt_pipe_connector_valid(pipe, output))
>> + continue;
>
> This check is redundant, for_each_pipe_with_valid_output() is already
> taken care of this check.
>
>> - }
>> - if (test_type == test_dsc_compression_bpp)
>> - break;
>> + snprintf(test_name, sizeof(test_name), "-%dbpp",
>> data->compression_bpp);
>> + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipe),
>> output->name,
>> + (test_type == TEST_DSC_COMPRESSION_BPP) ? test_name
>> : "")
>> + update_display(data, output, pipe, test_type);
>> }
>> -
>> - igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
>> }
>> igt_main
>> {
>> data_t data = {};
>> - drmModeRes *res;
>> - drmModeConnector *connector = NULL;
>> - int i, j;
>> + int i;
>> +
>> igt_fixture {
>> data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
>> data.devid = intel_get_drm_devid(data.drm_fd);
>> kmstest_set_vt_graphics_mode();
>> igt_install_exit_handler(kms_dsc_exit_handler);
>> igt_display_require(&data.display, data.drm_fd);
>> - igt_require(res = drmModeGetResources(data.drm_fd));
>> + igt_display_require_output(&data.display);
>> data.n_pipes = 0;
>> for_each_pipe(&data.display, i)
>> data.n_pipes++;
>> }
>> - igt_subtest_with_dynamic("basic-dsc-enable") {
>> - for (j = 0; j < res->count_connectors; j++) {
>> - if (!check_dsc_on_connector(&data, res->connectors[j]))
>> - continue;
>> - run_test(&data, test_basic_dsc_enable);
>> - }
>> - }
>> +
>> + igt_describe("Tests basic display stream compression
>> functionality if supported "
>> + "by a connector by forcing DSC on all connectors that
>> support it "
>> + "with default parameters");
>> + igt_subtest_with_dynamic("basic-dsc-enable")
>> + test_dsc(&data, TEST_BASIC_DSC_ENABLE);
>> +
>> /* currently we are validating compression bpp on XRGB8888
>> format only */
>> + igt_describe("Tests basic display stream compression
>> functionality if supported "
>> + "by a connector by forcing DSC on all connectors that
>> support it "
>> + "with certain BPP as the output BPP for the connector");
>> igt_subtest_with_dynamic("XRGB8888-dsc-compression") {
>> uint32_t bpp_list[] = {
>> XRGB8888_DRM_FORMAT_MIN_BPP,
>> (XRGB8888_DRM_FORMAT_MIN_BPP +
>> - (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1) / 2,
>> + (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1) / 2,
>> (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1
>> };
>> igt_require(intel_display_ver(data.devid) >= 13);
>
> This check can be in igt_fixture?
>
> - Bhanu
>
>> - for (j = 0; j < res->count_connectors; j++) {
>> - if (!check_dsc_on_connector(&data, res->connectors[j]))
>> - continue;
>> -
>> - for (i = 0; i < ARRAY_SIZE(bpp_list); i++) {
>> - data.compression_bpp = bpp_list[i];
>> - run_test(&data, test_dsc_compression_bpp);
>> - }
>> + for (int j = 0; j < ARRAY_SIZE(bpp_list); j++) {
>> + data.compression_bpp = bpp_list[j];
>> + test_dsc(&data, TEST_DSC_COMPRESSION_BPP);
>> }
>> }
>> igt_fixture {
>> - if (connector)
>> - drmModeFreeConnector(connector);
>> - test_cleanup(&data);
>> - drmModeFreeResources(res);
>> igt_display_fini(&data.display);
>> close(data.drm_fd);
>> }
>
--
~Swati Sharma
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup
2022-05-24 16:44 ` Sharma, Swati2
@ 2022-05-25 5:17 ` Modem, Bhanuprakash
0 siblings, 0 replies; 6+ messages in thread
From: Modem, Bhanuprakash @ 2022-05-25 5:17 UTC (permalink / raw)
To: Sharma, Swati2, igt-dev; +Cc: Patnana Venkata Sai
On Tue-24-05-2022 10:14 pm, Sharma, Swati2 wrote:
> Hi Bhanu,
>
> I have addressed all review comments except last one.
> XRGB8888-dsc-compressions is specific to display 13; so we need to
> keep check there only.
Thanks Swati,
Still we can add a igt_fixture just before creating the subtest. Instead
of creating & skipping the subtest, just don't create it.
- Bhanu
>
> Few patch floated having lib changes and kms dsc cleanup changes.
> https://patchwork.freedesktop.org/patch/487140/
>
> Please review.
>
> On 19-May-22 11:55 AM, Modem, Bhanuprakash wrote:
>> Hi Swati,
>>
>> Overall, this patch looks good to me. I have dropped few minor
>> comments to be addressed inline.
>>
>> On Thu-19-05-2022 11:02 am, Swati Sharma wrote:
>>> Remove redundant code and before starting the subtest,
>>> clean up the states to default by igt_display_reset().
>>> Few minor fixes in indentation. Added subtests description.
>>>
>>> v2: -minor mistake in subtest name
>>> -commit was missing after reset, added
>>> v3: -fixed styling error
>>> -replaced drm calls with igt wrappers
>>> v4: -added igt_display_require_output() in igt_fixture
>>> -modularized code, added func() for checks
>>> -added func() to get highest mode
>>>
>>> Signed-off-by: Patnana Venkata Sai <venkata.sai.patnana@intel.com>
>>> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
>>> ---
>>> lib/igt_kms.c | 1 -
>>> tests/i915/kms_dsc.c | 263 +++++++++++++++++++++++--------------------
>>> 2 files changed, 139 insertions(+), 125 deletions(-)
>>>
>>> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
>>> index 7838ff28..50a965ad 100644
>>> --- a/lib/igt_kms.c
>>> +++ b/lib/igt_kms.c
>>> @@ -5304,7 +5304,6 @@ bool igt_is_dsc_supported(int drmfd,
>>> drmModeConnector *connector)
>>> */
>>> bool igt_is_fec_supported(int drmfd, drmModeConnector *connector)
>>> {
>>> -
>>> return check_dsc_debugfs(drmfd, connector, "FEC_Sink_Support:
>>> yes");
>>> }
>>> diff --git a/tests/i915/kms_dsc.c b/tests/i915/kms_dsc.c
>>> index 22d2216e..3adca600 100644
>>> --- a/tests/i915/kms_dsc.c
>>> +++ b/tests/i915/kms_dsc.c
>>> @@ -44,13 +44,16 @@
>>> #include <fcntl.h>
>>> #include <termios.h>
>>> -/* currently dsc compression is verifying on 8bpc frame only */
>>> +IGT_TEST_DESCRIPTION("Test to validate display stream compression");
>>> +
>>> +#define HDISPLAY_5K 5120
>>> +
>>> +/* currently dsc is verifed on 8bpc frame only */
>>> #define XRGB8888_DRM_FORMAT_MIN_BPP 8
>>> -enum dsc_test_type
>>> -{
>>> - test_basic_dsc_enable,
>>> - test_dsc_compression_bpp
>>> +enum dsc_test_type {
>>> + TEST_BASIC_DSC_ENABLE,
>>> + TEST_DSC_COMPRESSION_BPP
>>> };
>>> typedef struct {
>>> @@ -59,9 +62,6 @@ typedef struct {
>>> igt_display_t display;
>>> struct igt_fb fb_test_pattern;
>>> igt_output_t *output;
>>> - int mode_valid;
>>> - drmModeEncoder *encoder;
>>> - int crtc;
>>> int compression_bpp;
>>> int n_pipes;
>>> enum pipe pipe;
>>> @@ -80,9 +80,9 @@ static void force_dsc_enable(data_t *data)
>>> {
>>> int ret;
>>> - igt_debug ("Forcing DSC enable on %s\n", data->conn_name);
>>> + igt_debug("Forcing DSC enable on %s\n", data->conn_name);
>>> ret = igt_force_dsc_enable(data->drm_fd,
>>> - data->output->config.connector);
>>> + data->output->config.connector);
>>> igt_assert_f(ret > 0, "debugfs_write failed");
>>> }
>>> @@ -93,8 +93,8 @@ static void force_dsc_enable_bpp(data_t *data)
>>> igt_debug("Forcing DSC BPP to %d on %s\n",
>>> data->compression_bpp, data->conn_name);
>>> ret = igt_force_dsc_enable_bpp(data->drm_fd,
>>> - data->output->config.connector,
>>> - data->compression_bpp);
>>> + data->output->config.connector,
>>> + data->compression_bpp);
>>> igt_assert_f(ret > 0, "debugfs_write failed");
>>> }
>>> @@ -105,7 +105,7 @@ static void save_force_dsc_en(data_t *data)
>>> data->output->config.connector);
>>> force_dsc_restore_fd =
>>> igt_get_dsc_debugfs_fd(data->drm_fd,
>>> - data->output->config.connector);
>>> + data->output->config.connector);
>>> igt_assert(force_dsc_restore_fd >= 0);
>>> }
>>> @@ -121,19 +121,6 @@ static void restore_force_dsc_en(void)
>>> force_dsc_restore_fd = -1;
>>> }
>>> -static void test_cleanup(data_t *data)
>>> -{
>>> - igt_plane_t *primary;
>>> -
>>> - if (data->output) {
>>> - primary = igt_output_get_plane_type(data->output,
>>> - DRM_PLANE_TYPE_PRIMARY);
>>> - igt_plane_set_fb(primary, NULL);
>>> - igt_output_set_pipe(data->output, PIPE_NONE);
>>> - igt_display_commit(&data->display);
>>> - }
>>> -}
>>> -
>>> static void kms_dsc_exit_handler(int sig)
>>> {
>>> restore_force_dsc_en();
>>> @@ -159,29 +146,26 @@ static int sort_drm_modes(const void *a, const
>>> void *b)
>>> return (mode1->clock < mode2->clock) - (mode2->clock <
>>> mode1->clock);
>>> }
>>> -static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
>>> +static drmModeModeInfo *get_highres_mode(drmModeConnector *connector)
>>> {
>>> - drmModeConnector *connector;
>>> - igt_output_t *output;
>>> -
>>> - connector = drmModeGetConnectorCurrent(data->drm_fd,
>>> - drmConnector);
>>> - if (connector->connection != DRM_MODE_CONNECTED)
>>> - return false;
>>> -
>>> - output = igt_output_from_connector(&data->display, connector);
>>> + drmModeModeInfo *highest_mode = NULL;
>>> - /*
>>> - * As dsc supports >= 5k modes, we need to suppress lower
>>> - * resolutions.
>>> - */
>>> - qsort(output->config.connector->modes,
>>> - output->config.connector->count_modes,
>>> + qsort(connector->modes,
>>> + connector->count_modes,
>>> sizeof(drmModeModeInfo),
>>> sort_drm_modes);
>>> - if (output->config.connector->connector_type ==
>>> DRM_MODE_CONNECTOR_DisplayPort &&
>>> - output->config.connector->modes[0].hdisplay < 5120)
>>> - return NULL;
>>> +
>>> + highest_mode = &connector->modes[0];
>>> +
>>> + return highest_mode;
>>> +}
>>> +
>>> +static bool check_dsc_on_connector(data_t *data, igt_output_t *output)
>>> +{
>>> + drmModeConnector *connector = output->config.connector;
>>> +
>>> + if (connector->connection != DRM_MODE_CONNECTED)
>>> + return false;
>>
>> This check is redundant, for_each_pipe_with_valid_output() is already
>> doing this check.
>>
>>> sprintf(data->conn_name, "%s-%d",
>>
>> Please drop data->conn_name, instead please use data->output->name;
>>
>>> kmstest_connector_type_str(connector->connector_type),
>>> @@ -192,168 +176,199 @@ static bool check_dsc_on_connector(data_t
>>> *data, uint32_t drmConnector)
>>> data->conn_name);
>>> return false;
>>> }
>>> +
>>> if (is_external_panel(connector) &&
>>> !igt_is_fec_supported(data->drm_fd, connector)) {
>>> igt_debug("DSC cannot be enabled without FEC on %s\n",
>>> data->conn_name);
>>> return false;
>>> }
>>> +
>>> data->output = output;
>>
>> This could be moved to test_dsc()
>>
>>> return true;
>>> }
>>> -/*
>>> - * Re-probe connectors and do a modeset with DSC
>>> - *
>>> - */
>>> -static void update_display(data_t *data, enum dsc_test_type test_type)
>>> +static bool check_big_joiner_test_constraint(data_t *data,
>>> igt_output_t *output,
>>> + enum dsc_test_type test_type)
>>> +{
>>> + drmModeConnector *connector = output->config.connector;
>>> + drmModeModeInfo *mode = get_highres_mode(connector);
>>> +
>>> + if (test_type == TEST_DSC_COMPRESSION_BPP &&
>>> + mode->hdisplay >= HDISPLAY_5K) {
>>> + igt_debug("Bigjoiner does not support force bpp\n");
>>> + return false;
>>> + }
>>> +
>>> + return true;
>>> +}
>>> +
>>> +static bool check_big_joiner_pipe_constraint(data_t *data,
>>> igt_output_t *output,
>>> + enum pipe pipe)
>>> +{
>>> + drmModeConnector *connector = output->config.connector;
>>> + drmModeModeInfo *mode = get_highres_mode(connector);
>>> +
>>> + if (mode->hdisplay >= HDISPLAY_5K &&
>>> + pipe == (data->n_pipes - 1 )) {
>>> + igt_debug("pipe-%s not supported due to bigjoiner
>>> limitation\n",
>>> + kmstest_pipe_name(pipe));
>>> + return false;
>>> + }
>>> +
>>> + return true;
>>> +}
>>> +
>>> +static bool check_dp_gen11_constraint(data_t *data, igt_output_t
>>> *output, enum pipe pipe)
>>> +{
>>> + uint32_t devid = intel_get_drm_devid(data->drm_fd);
>>> + drmModeConnector *connector = output->config.connector;
>>> +
>>> + if ((connector->connector_type ==
>>> DRM_MODE_CONNECTOR_DisplayPort) &&
>>> + (pipe == PIPE_A) && IS_GEN11(devid)) {
>>> + igt_debug("DSC not supported on pipe A on external DP in
>>> gen11 platforms\n");
>>> + return false;
>>> + }
>>> +
>>> + return true;
>>> +}
>>> +/* re-probe connectors and do a modeset with DSC */
>>> +static void update_display(data_t *data, igt_output_t *output, enum
>>> pipe pipe,
>>> + enum dsc_test_type test_type)
>>> {
>>> bool enabled;
>>> igt_plane_t *primary;
>>> + drmModeModeInfo *mode;
>>> + igt_display_t *display = &data->display;
>>> + drmModeConnector *connector = data->output->config.connector;
>>> - /* Disable the output first */
>>> - igt_output_set_pipe(data->output, PIPE_NONE);
>>> - igt_display_commit(&data->display);
>>> + /* sanitize the state before starting the subtest. */
>>> + igt_display_reset(display);
>>> + igt_display_commit(display);
>>> igt_debug("DSC is supported on %s\n", data->conn_name);
>>> save_force_dsc_en(data);
>>> force_dsc_enable(data);
>>> - if (test_type == test_dsc_compression_bpp) {
>>> +
>>> + if (test_type == TEST_DSC_COMPRESSION_BPP) {
>>> igt_debug("Trying to set BPP to %d\n", data->compression_bpp);
>>> force_dsc_enable_bpp(data);
>>> }
>>> - igt_output_set_pipe(data->output, data->pipe);
>>> - qsort(data->output->config.connector->modes,
>>> - data->output->config.connector->count_modes,
>>> - sizeof(drmModeModeInfo),
>>> - sort_drm_modes);
>>> - igt_output_override_mode(data->output,
>>> &data->output->config.connector->modes[0]);
>>> + igt_output_set_pipe(data->output, pipe);
>>> +
>>> + mode = get_highres_mode(connector);
>>> + igt_require(mode != NULL);
>>> + igt_output_override_mode(data->output, mode);
>>> +
>>> primary = igt_output_get_plane_type(data->output,
>>> DRM_PLANE_TYPE_PRIMARY);
>>> + igt_create_pattern_fb(data->drm_fd,
>>> + mode->hdisplay,
>>> + mode->vdisplay,
>>> + DRM_FORMAT_XRGB8888,
>>> + DRM_FORMAT_MOD_LINEAR,
>>> + &data->fb_test_pattern);
>>> - /* Now set the output to the desired mode */
>>> igt_plane_set_fb(primary, &data->fb_test_pattern);
>>> igt_display_commit(&data->display);
>>> /*
>>> - * Until we have CRC check support, manually check if RGB test
>>> + * until we have CRC check support, manually check if RGB test
>>> * pattern has no corruption.
>>> */
>>> manual("RGB test pattern without corruption");
>>> - enabled = igt_is_dsc_enabled(data->drm_fd,
>>> - data->output->config.connector);
>>> + enabled = igt_is_dsc_enabled(data->drm_fd, connector);
>>> restore_force_dsc_en();
>>> igt_debug("Reset compression BPP\n");
>>> data->compression_bpp = 0;
>>> force_dsc_enable_bpp(data);
>>> igt_assert_f(enabled,
>>> - "Default DSC enable failed on Connector: %s Pipe: %s\n",
>>> + "Default DSC enable failed on connector: %s pipe: %s\n",
>>> data->conn_name,
>>> - kmstest_pipe_name(data->pipe));
>>> + kmstest_pipe_name(pipe));
>>> +
>>> + igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
>>> + igt_plane_set_fb(primary, NULL);
>>> + igt_output_set_pipe(data->output, PIPE_NONE);
>>
>> Please do commit here.
>>
>>> }
>>> -static void run_test(data_t *data, enum dsc_test_type test_type)
>>> +static void test_dsc(data_t *data, enum dsc_test_type test_type)
>>> {
>>> + igt_display_t *display = &data->display;
>>> + igt_output_t *output;
>>> enum pipe pipe;
>>> char test_name[10];
>>> - igt_skip_on_f(test_type == test_dsc_compression_bpp &&
>>> - data->output->config.connector->modes[0].hdisplay >=
>>> 5120,
>>> - "bigjoiner does not support force bpp\n");
>>> -
>>> - igt_create_pattern_fb(data->drm_fd,
>>> - data->output->config.connector->modes[0].hdisplay,
>>> - data->output->config.connector->modes[0].vdisplay,
>>> - DRM_FORMAT_XRGB8888,
>>> - DRM_FORMAT_MOD_LINEAR,
>>> - &data->fb_test_pattern);
>>> + for_each_pipe_with_valid_output(display, pipe, output) {
>>> + if (!check_dsc_on_connector(data, output))
>>> + continue;
>>> - for_each_pipe(&data->display, pipe) {
>>> - uint32_t devid = intel_get_drm_devid(data->drm_fd);
>>> + if (!check_big_joiner_test_constraint(data, output, test_type))
>>> + continue;
>>> - if (data->output->config.connector->connector_type ==
>>> DRM_MODE_CONNECTOR_DisplayPort &&
>>> - pipe == PIPE_A && IS_GEN11(devid)) {
>>> - igt_debug("DSC not supported on Pipe A on external DP in
>>> Gen11 platforms\n");
>>> + if (!check_dp_gen11_constraint(data, output, pipe))
>>> continue;
>>> - }
>>> - snprintf(test_name, sizeof(test_name), "-%dbpp",
>>> data->compression_bpp);
>>> - if (!igt_pipe_connector_valid(pipe, data->output))
>>> + if (!check_big_joiner_pipe_constraint(data, output, pipe))
>>> continue;
>>> - igt_dynamic_f("%s-pipe-%s%s", data->output->name,
>>> - kmstest_pipe_name(pipe),
>>> - (test_type == test_dsc_compression_bpp) ?
>>> - test_name : "") {
>>> - data->pipe = pipe;
>>> - igt_skip_on_f((data->output->config.connector->modes[0].hdisplay >=
>>> 5120) &&
>>> - (pipe == (data->n_pipes - 1)),
>>> - "pipe-%s not supported due to bigjoiner
>>> limitation\n",
>>> - kmstest_pipe_name(pipe));
>>> - update_display(data, test_type);
>>> + if (!igt_pipe_connector_valid(pipe, output))
>>> + continue;
>>
>> This check is redundant, for_each_pipe_with_valid_output() is already
>> taken care of this check.
>>
>>> - }
>>> - if (test_type == test_dsc_compression_bpp)
>>> - break;
>>> + snprintf(test_name, sizeof(test_name), "-%dbpp",
>>> data->compression_bpp);
>>> + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipe),
>>> output->name,
>>> + (test_type == TEST_DSC_COMPRESSION_BPP) ? test_name
>>> : "")
>>> + update_display(data, output, pipe, test_type);
>>> }
>>> -
>>> - igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
>>> }
>>> igt_main
>>> {
>>> data_t data = {};
>>> - drmModeRes *res;
>>> - drmModeConnector *connector = NULL;
>>> - int i, j;
>>> + int i;
>>> +
>>> igt_fixture {
>>> data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
>>> data.devid = intel_get_drm_devid(data.drm_fd);
>>> kmstest_set_vt_graphics_mode();
>>> igt_install_exit_handler(kms_dsc_exit_handler);
>>> igt_display_require(&data.display, data.drm_fd);
>>> - igt_require(res = drmModeGetResources(data.drm_fd));
>>> + igt_display_require_output(&data.display);
>>> data.n_pipes = 0;
>>> for_each_pipe(&data.display, i)
>>> data.n_pipes++;
>>> }
>>> - igt_subtest_with_dynamic("basic-dsc-enable") {
>>> - for (j = 0; j < res->count_connectors; j++) {
>>> - if (!check_dsc_on_connector(&data, res->connectors[j]))
>>> - continue;
>>> - run_test(&data, test_basic_dsc_enable);
>>> - }
>>> - }
>>> +
>>> + igt_describe("Tests basic display stream compression
>>> functionality if supported "
>>> + "by a connector by forcing DSC on all connectors that
>>> support it "
>>> + "with default parameters");
>>> + igt_subtest_with_dynamic("basic-dsc-enable")
>>> + test_dsc(&data, TEST_BASIC_DSC_ENABLE);
>>> +
>>> /* currently we are validating compression bpp on XRGB8888
>>> format only */
>>> + igt_describe("Tests basic display stream compression
>>> functionality if supported "
>>> + "by a connector by forcing DSC on all connectors that
>>> support it "
>>> + "with certain BPP as the output BPP for the connector");
>>> igt_subtest_with_dynamic("XRGB8888-dsc-compression") {
>>> uint32_t bpp_list[] = {
>>> XRGB8888_DRM_FORMAT_MIN_BPP,
>>> (XRGB8888_DRM_FORMAT_MIN_BPP +
>>> - (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1) / 2,
>>> + (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1) / 2,
>>> (XRGB8888_DRM_FORMAT_MIN_BPP * 3) - 1
>>> };
>>> igt_require(intel_display_ver(data.devid) >= 13);
>>
>> This check can be in igt_fixture?
>>
>> - Bhanu
>>
>>> - for (j = 0; j < res->count_connectors; j++) {
>>> - if (!check_dsc_on_connector(&data, res->connectors[j]))
>>> - continue;
>>> -
>>> - for (i = 0; i < ARRAY_SIZE(bpp_list); i++) {
>>> - data.compression_bpp = bpp_list[i];
>>> - run_test(&data, test_dsc_compression_bpp);
>>> - }
>>> + for (int j = 0; j < ARRAY_SIZE(bpp_list); j++) {
>>> + data.compression_bpp = bpp_list[j];
>>> + test_dsc(&data, TEST_DSC_COMPRESSION_BPP);
>>> }
>>> }
>>> igt_fixture {
>>> - if (connector)
>>> - drmModeFreeConnector(connector);
>>> - test_cleanup(&data);
>>> - drmModeFreeResources(res);
>>> igt_display_fini(&data.display);
>>> close(data.drm_fd);
>>> }
>>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-05-25 5:17 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-19 5:32 [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup Swati Sharma
2022-05-19 6:17 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/kms_dsc: IGT cleanup (rev4) Patchwork
2022-05-19 6:25 ` [igt-dev] [PATCH i-g-t v4] tests/i915/kms_dsc: IGT cleanup Modem, Bhanuprakash
2022-05-24 16:44 ` Sharma, Swati2
2022-05-25 5:17 ` Modem, Bhanuprakash
2022-05-19 7:08 ` [igt-dev] ✓ Fi.CI.IGT: success for tests/i915/kms_dsc: IGT cleanup (rev4) Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox