* [igt-dev] [PATCH i-g-t v8 0/2] Add subtests for HDCP over MST
@ 2021-02-17 6:26 Karthik B S
2021-02-17 6:26 ` [igt-dev] [PATCH i-g-t v8 1/2] tests/kms_content_protection: Add MST subtests Karthik B S
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Karthik B S @ 2021-02-17 6:26 UTC (permalink / raw)
To: igt-dev
Add subtests to verify content protection on MST set up.
Karthik B S (2):
tests/kms_content_protection: Add MST subtests
CI HAX: Add MST tests to fast feedback testlist
tests/intel-ci/fast-feedback.testlist | 6 +
tests/kms_content_protection.c | 278 ++++++++++++++++++++++++--
2 files changed, 262 insertions(+), 22 deletions(-)
--
2.22.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* [igt-dev] [PATCH i-g-t v8 1/2] tests/kms_content_protection: Add MST subtests
2021-02-17 6:26 [igt-dev] [PATCH i-g-t v8 0/2] Add subtests for HDCP over MST Karthik B S
@ 2021-02-17 6:26 ` Karthik B S
2021-02-22 5:12 ` Nautiyal, Ankit K
2021-02-17 6:26 ` [igt-dev] [PATCH i-g-t v8 2/2] CI HAX: Add MST tests to fast feedback testlist Karthik B S
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Karthik B S @ 2021-02-17 6:26 UTC (permalink / raw)
To: igt-dev
Add subtests to verify content protection simultaneously on
multiple outputs on the same MST topology.
v3: -Remove the logging which are no longer required. (Anshuman)
-Add logic to verify that CP is still enabled on other connectors
while disabling it on one of the connectors. (Anshuman)
v4: -Rename is_output_support_cp_capable(). (Anshuman, Ram)
-Rephrase the comment in is_dp_mst_output. (Anshuman)
-Remove the redundant HDCP check hunk before HDCP disable. (Anshuman)
-Check the link on the HDCP enabled outputs when one of the outputs
in the same DP MST topology is disabled. (Anshuman)
-Revert the change in test_content_protection_cleanup(). (Anshuman)
-Create fb's in a common function for both MST and SST. (Ram)
-Rename is_dp_mst_output() to output_is_dp_mst(). (Ram)
-Remove the redundant igt_debug() before HDCP enable. (Ram)
-Rephrase the igt_assert statement during HDCP enable. (Ram)
-Optimize the execution time by checking the link for all MST
connectors together. (Ram)
-No need of loop where we disable CP on one of the MST outputs. (Ram)
-During verification by disabling one of the MST outputs,
check for the negative case until the required timeout. (Ram)
v5: -Modify skip message when HDCP support is not present. (Anshuman)
-Remove the definition of color_t structure as it is no longer used.
v6: -Optimize execution time in LIC test. (Anshuman)
v7: -Check HDCP capability after modeset on MST. (Anshuman)
v8: -Use try_commit for MST modeset and skip the test on failure. (Ankit)
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Signed-off-by: Karthik B S <karthik.b.s@intel.com>
---
tests/kms_content_protection.c | 278 ++++++++++++++++++++++++++++++---
1 file changed, 256 insertions(+), 22 deletions(-)
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index 303ed418..edd39ca2 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -179,16 +179,10 @@ static void modeset_with_fb(const enum pipe pipe, igt_output_t *output,
igt_output_override_mode(output, &mode);
igt_output_set_pipe(output, pipe);
- igt_create_color_fb(display->drm_fd, mode.hdisplay, mode.vdisplay,
- DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
- 1.f, 0.f, 0.f, &data.red);
- igt_create_color_fb(display->drm_fd, mode.hdisplay, mode.vdisplay,
- DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
- 0.f, 1.f, 0.f, &data.green);
-
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_display_commit2(display, s);
igt_plane_set_fb(primary, &data.red);
+ igt_fb_set_size(&data.red, primary, mode.hdisplay, mode.vdisplay);
/* Wait for Flip completion before starting the HDCP authentication */
commit_display_and_wait_for_flip(s);
@@ -458,37 +452,83 @@ static bool sink_hdcp2_capable(igt_output_t *output)
return strstr(buf, "HDCP2.2");
}
-static void
-test_content_protection(enum igt_commit_style s, int content_type)
+static void prepare_modeset_on_mst_output(igt_output_t *output, enum pipe pipe)
{
- igt_display_t *display = &data.display;
- igt_output_t *output;
- int valid_tests = 0;
+ drmModeConnectorPtr c = output->config.connector;
+ drmModeModeInfo *mode;
+ igt_plane_t *primary;
+ int i, width, height;
- if (data.cp_tests & CP_MEI_RELOAD)
- igt_require_f(igt_kmod_is_loaded("mei_hdcp"),
- "mei_hdcp module is not loaded\n");
+ mode = igt_output_get_mode(output);
- for_each_connected_output(display, output) {
+ /*
+ * TODO: Add logic to use the highest possible modes on each output.
+ * Currently using 2k modes by default on all the outputs.
+ */
+ igt_debug("Before mode override: Output %s Mode hdisplay %d Mode vdisplay %d\n",
+ output->name, mode->hdisplay, mode->vdisplay);
+
+ if (mode->hdisplay > 1920 && mode->vdisplay > 1080) {
+ for (i = 0; i < c->count_modes; i++) {
+ if (c->modes[i].hdisplay <= 1920 && c->modes[i].vdisplay <= 1080) {
+ mode = &c->modes[i];
+ igt_output_override_mode(output, mode);
+ break;
+ }
+ }
+ }
+
+ igt_debug("After mode overide: Output %s Mode hdisplay %d Mode vdisplay %d\n",
+ output->name, mode->hdisplay, mode->vdisplay);
+
+ width = mode->hdisplay;
+ height = mode->vdisplay;
+
+ igt_output_set_pipe(output, pipe);
+ primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+ igt_plane_set_fb(primary, NULL);
+ igt_plane_set_fb(primary, pipe % 2 ? &data.red : &data.green);
+ igt_fb_set_size(pipe % 2 ? &data.red : &data.green, primary, width, height);
+ igt_plane_set_size(primary, width, height);
+}
+
+static bool output_hdcp_capable(igt_output_t *output, int content_type)
+{
if (!output->props[IGT_CONNECTOR_CONTENT_PROTECTION])
- continue;
+ return false;
if (!output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE] &&
content_type)
- continue;
-
- igt_info("CP Test execution on %s\n", output->name);
+ return false;
if (content_type && !sink_hdcp2_capable(output)) {
igt_info("\tSkip %s (Sink has no HDCP2.2 support)\n",
output->name);
- continue;
+ return false;
} else if (!sink_hdcp_capable(output)) {
igt_info("\tSkip %s (Sink has no HDCP support)\n",
output->name);
- continue;
+ return false;
}
+ return true;
+}
+
+static void
+test_content_protection(enum igt_commit_style s, int content_type)
+{
+ igt_display_t *display = &data.display;
+ igt_output_t *output;
+ int valid_tests = 0;
+
+ if (data.cp_tests & CP_MEI_RELOAD)
+ igt_require_f(igt_kmod_is_loaded("mei_hdcp"),
+ "mei_hdcp module is not loaded\n");
+
+ for_each_connected_output(display, output) {
+ if (!output_hdcp_capable(output, content_type))
+ continue;
+
test_content_protection_on_output(output, s, content_type);
valid_tests++;
}
@@ -496,6 +536,151 @@ test_content_protection(enum igt_commit_style s, int content_type)
igt_require_f(valid_tests, "No connector found with HDCP capability\n");
}
+static int parse_path_blob(char *blob_data)
+{
+ int connector_id;
+ char *encoder;
+
+ encoder = strtok(blob_data, ":");
+ igt_assert_f(!strcmp(encoder, "mst"), "PATH connector property expected to have 'mst'\n");
+
+ connector_id = atoi(strtok(NULL, "-"));
+
+ return connector_id;
+}
+
+static bool output_is_dp_mst(igt_output_t *output, int i)
+{
+ drmModePropertyBlobPtr path_blob = NULL;
+ uint64_t path_blob_id;
+ drmModeConnector *connector = output->config.connector;
+ struct kmstest_connector_config config;
+ const char *encoder;
+ int connector_id;
+ static int prev_connector_id;
+
+ kmstest_get_connector_config(data.drm_fd, output->config.connector->connector_id, -1, &config);
+ encoder = kmstest_encoder_type_str(config.encoder->encoder_type);
+
+ if (strcmp(encoder, "DP MST"))
+ return false;
+
+ igt_assert(kmstest_get_property(data.drm_fd, connector->connector_id,
+ DRM_MODE_OBJECT_CONNECTOR, "PATH", NULL,
+ &path_blob_id, NULL));
+
+ igt_assert(path_blob = drmModeGetPropertyBlob(data.drm_fd, path_blob_id));
+
+ connector_id = parse_path_blob((char *) path_blob->data);
+
+ /*
+ * Discarding outputs of other DP MST topology.
+ * Testing only on outputs on the topology we got previously
+ */
+ if (i == 0) {
+ prev_connector_id = connector_id;
+ } else {
+ if (connector_id != prev_connector_id)
+ return false;
+ }
+
+ drmModeFreePropertyBlob(path_blob);
+
+ return true;
+}
+
+static void test_cp_lic_on_mst(igt_output_t *mst_outputs[], int valid_outputs, bool first_output)
+{
+ int ret, count;
+ uint64_t val;
+
+ /* Only wait for the first output, this optimizes the test execution time */
+ ret = wait_for_prop_value(mst_outputs[first_output], CP_DESIRED, LIC_PERIOD_MSEC);
+ igt_assert_f(!ret, "Content Protection LIC Failed on %s\n", mst_outputs[0]->name);
+
+ for (count = first_output + 1; count < valid_outputs; count++) {
+ val = igt_output_get_prop(mst_outputs[count], IGT_CONNECTOR_CONTENT_PROTECTION);
+ igt_assert_f(val != CP_DESIRED, "Content Protection LIC Failed on %s\n", mst_outputs[count]->name);
+ }
+}
+
+static void
+test_content_protection_mst(int content_type)
+{
+ igt_display_t *display = &data.display;
+ igt_output_t *output;
+ int valid_outputs = 0, dp_mst_outputs = 0, ret, count, max_pipe = 0, i;
+ enum pipe pipe;
+ igt_output_t *mst_output[IGT_MAX_PIPES], *hdcp_mst_output[IGT_MAX_PIPES];
+
+ for_each_pipe(display, pipe)
+ max_pipe++;
+
+ pipe = PIPE_A;
+
+ for_each_connected_output(display, output) {
+ if (!output_is_dp_mst(output, dp_mst_outputs))
+ continue;
+
+ igt_assert_f(igt_pipe_connector_valid(pipe, output), "Output-pipe combination invalid\n");
+
+ prepare_modeset_on_mst_output(output, pipe);
+ mst_output[dp_mst_outputs++] = output;
+
+ pipe++;
+
+ if (pipe > max_pipe)
+ break;
+ }
+
+ igt_require_f(dp_mst_outputs > 1, "No DP MST set up with >= 2 outputs found in a single topology\n");
+
+ ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
+ igt_require_f(ret == 0, "Commit failure during MST modeset\n");
+
+ for (count = 0; count < dp_mst_outputs; count++) {
+ if (!output_hdcp_capable(mst_output[count], content_type))
+ continue;
+
+ hdcp_mst_output[valid_outputs++] = mst_output[count];
+ }
+
+ igt_require_f(valid_outputs > 1, "DP MST outputs do not have the required HDCP support\n");
+
+ for (count = 0; count < valid_outputs; count++) {
+ igt_output_set_prop_value(hdcp_mst_output[count], IGT_CONNECTOR_CONTENT_PROTECTION, CP_DESIRED);
+
+ if (output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE])
+ igt_output_set_prop_value(hdcp_mst_output[count], IGT_CONNECTOR_HDCP_CONTENT_TYPE, content_type);
+ }
+
+ igt_display_commit2(display, COMMIT_ATOMIC);
+
+ for (count = 0; count < valid_outputs; count++) {
+ ret = wait_for_prop_value(hdcp_mst_output[count], CP_ENABLED, KERNEL_AUTH_TIME_ALLOWED_MSEC);
+ igt_assert_f(ret, "Content Protection not enabled on %s\n", hdcp_mst_output[count]->name);
+ }
+
+ if (data.cp_tests & CP_LIC)
+ test_cp_lic_on_mst(hdcp_mst_output, valid_outputs, 0);
+
+ /*
+ * Verify if CP is still enabled on other outputs by disabling CP on the first output.
+ */
+ igt_debug("CP Prop being UNDESIRED on %s\n", hdcp_mst_output[0]->name);
+ test_cp_disable(hdcp_mst_output[0], COMMIT_ATOMIC);
+
+ /* CP is expected to be still enabled on other outputs*/
+ for (i = 1; i < valid_outputs; i++) {
+ /* Wait for the timeout to verify CP is not disabled */
+ ret = wait_for_prop_value(hdcp_mst_output[i], CP_UNDESIRED, KERNEL_DISABLE_TIME_ALLOWED_MSEC);
+ igt_assert_f(!ret, "Content Protection not enabled on %s\n", hdcp_mst_output[i]->name);
+ }
+
+ if (data.cp_tests & CP_LIC)
+ test_cp_lic_on_mst(hdcp_mst_output, valid_outputs, 1);
+}
+
static void test_content_protection_cleanup(void)
{
igt_display_t *display = &data.display;
@@ -514,6 +699,31 @@ static void test_content_protection_cleanup(void)
igt_info("CP Prop being UNDESIRED on %s\n", output->name);
test_cp_disable(output, COMMIT_ATOMIC);
}
+
+ igt_remove_fb(data.drm_fd, &data.red);
+ igt_remove_fb(data.drm_fd, &data.green);
+}
+
+static void create_fbs(void)
+{
+ igt_output_t *output;
+ int width, height;
+ drmModeModeInfo *mode;
+
+ for_each_connected_output(&data.display, output) {
+ mode = igt_output_get_mode(output);
+ igt_assert(mode);
+
+ width = max(width, mode->hdisplay);
+ height = max(height, mode->vdisplay);
+ }
+
+ igt_create_color_fb(data.drm_fd, width, height,
+ DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
+ 1.f, 0.f, 0.f, &data.red);
+ igt_create_color_fb(data.drm_fd, width, height,
+ DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
+ 0.f, 1.f, 0.f, &data.green);
}
igt_main
@@ -522,6 +732,8 @@ igt_main
data.drm_fd = drm_open_driver_master(DRIVER_ANY);
igt_display_require(&data.display, data.drm_fd);
+
+ create_fbs();
}
igt_subtest("legacy") {
@@ -592,6 +804,28 @@ igt_main
test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_0);
}
+ igt_describe("Test Content protection over DP MST");
+ igt_subtest("dp-mst-type-0") {
+ test_content_protection_mst(HDCP_CONTENT_TYPE_0);
+ }
+
+ igt_describe("Test Content protection over DP MST with LIC");
+ igt_subtest("dp-mst-lic-type-0") {
+ data.cp_tests = CP_LIC;
+ test_content_protection_mst(HDCP_CONTENT_TYPE_0);
+ }
+
+ igt_describe("Test Content protection over DP MST");
+ igt_subtest("dp-mst-type-1") {
+ test_content_protection_mst(HDCP_CONTENT_TYPE_1);
+ }
+
+ igt_describe("Test Content protection over DP MST with LIC");
+ igt_subtest("dp-mst-lic-type-1") {
+ data.cp_tests = CP_LIC;
+ test_content_protection_mst(HDCP_CONTENT_TYPE_1);
+ }
+
igt_fixture {
test_content_protection_cleanup();
igt_display_fini(&data.display);
--
2.22.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [igt-dev] [PATCH i-g-t v8 2/2] CI HAX: Add MST tests to fast feedback testlist
2021-02-17 6:26 [igt-dev] [PATCH i-g-t v8 0/2] Add subtests for HDCP over MST Karthik B S
2021-02-17 6:26 ` [igt-dev] [PATCH i-g-t v8 1/2] tests/kms_content_protection: Add MST subtests Karthik B S
@ 2021-02-17 6:26 ` Karthik B S
2021-02-17 7:36 ` [igt-dev] ✓ Fi.CI.BAT: success for Add subtests for HDCP over MST (rev7) Patchwork
2021-02-17 8:39 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Karthik B S @ 2021-02-17 6:26 UTC (permalink / raw)
To: igt-dev
Add the MST subtests to the fast feedback test list as
shards TGL does not have HDCP panels.
v3: -Fix Typo. (Petri)
Signed-off-by: Karthik B S <karthik.b.s@intel.com>
---
tests/intel-ci/fast-feedback.testlist | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index eaa904fa..6221269c 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -159,6 +159,12 @@ igt@vgem_basic@mmap
igt@vgem_basic@second-client
igt@vgem_basic@sysfs
+# HAX: Temporary addition to the fast-feedback list as shards doesnt have MST setup.
+igt@kms_content_protection@dp-mst-type-0
+igt@kms_content_protection@dp-mst-lic-type-0
+igt@kms_content_protection@dp-mst-type-1
+igt@kms_content_protection@dp-mst-lic-type-1
+
# All tests that do module unloading and reloading are executed last.
# They will sometimes reveal issues of earlier tests leaving the
# driver in a broken state that is not otherwise noticed in that test.
--
2.22.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Add subtests for HDCP over MST (rev7)
2021-02-17 6:26 [igt-dev] [PATCH i-g-t v8 0/2] Add subtests for HDCP over MST Karthik B S
2021-02-17 6:26 ` [igt-dev] [PATCH i-g-t v8 1/2] tests/kms_content_protection: Add MST subtests Karthik B S
2021-02-17 6:26 ` [igt-dev] [PATCH i-g-t v8 2/2] CI HAX: Add MST tests to fast feedback testlist Karthik B S
@ 2021-02-17 7:36 ` Patchwork
2021-02-17 8:39 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2021-02-17 7:36 UTC (permalink / raw)
To: Karthik B S; +Cc: igt-dev
[-- Attachment #1.1: Type: text/plain, Size: 9485 bytes --]
== Series Details ==
Series: Add subtests for HDCP over MST (rev7)
URL : https://patchwork.freedesktop.org/series/82987/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_9779 -> IGTPW_5523
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_5523:
### IGT changes ###
#### Possible regressions ####
* {igt@kms_content_protection@dp-mst-lic-type-0} (NEW):
- fi-tgl-u2: NOTRUN -> [SKIP][1] +3 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-tgl-u2/igt@kms_content_protection@dp-mst-lic-type-0.html
- {fi-ehl-1}: NOTRUN -> [SKIP][2] +3 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-ehl-1/igt@kms_content_protection@dp-mst-lic-type-0.html
* {igt@kms_content_protection@dp-mst-lic-type-1} (NEW):
- {fi-jsl-1}: NOTRUN -> [SKIP][3] +3 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-jsl-1/igt@kms_content_protection@dp-mst-lic-type-1.html
- fi-cml-u2: NOTRUN -> [SKIP][4] +3 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-cml-u2/igt@kms_content_protection@dp-mst-lic-type-1.html
- fi-icl-y: NOTRUN -> [SKIP][5] +3 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-icl-y/igt@kms_content_protection@dp-mst-lic-type-1.html
- fi-cml-s: NOTRUN -> [SKIP][6] +3 similar issues
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-cml-s/igt@kms_content_protection@dp-mst-lic-type-1.html
* {igt@kms_content_protection@dp-mst-type-0} (NEW):
- {fi-tgl-dsi}: NOTRUN -> [SKIP][7] +3 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-tgl-dsi/igt@kms_content_protection@dp-mst-type-0.html
- {fi-rkl-11500t}: NOTRUN -> [SKIP][8] +3 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-rkl-11500t/igt@kms_content_protection@dp-mst-type-0.html
- fi-kbl-guc: NOTRUN -> [FAIL][9] +3 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-kbl-guc/igt@kms_content_protection@dp-mst-type-0.html
- fi-bsw-nick: NOTRUN -> [FAIL][10] +3 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-bsw-nick/igt@kms_content_protection@dp-mst-type-0.html
New tests
---------
New tests have been introduced between CI_DRM_9779 and IGTPW_5523:
### New IGT tests (4) ###
* igt@kms_content_protection@dp-mst-lic-type-0:
- Statuses : 2 fail(s) 30 skip(s)
- Exec time: [0.0, 0.00] s
* igt@kms_content_protection@dp-mst-lic-type-1:
- Statuses : 2 fail(s) 30 skip(s)
- Exec time: [0.0, 0.00] s
* igt@kms_content_protection@dp-mst-type-0:
- Statuses : 2 fail(s) 30 skip(s)
- Exec time: [0.0, 0.00] s
* igt@kms_content_protection@dp-mst-type-1:
- Statuses : 2 fail(s) 30 skip(s)
- Exec time: [0.0, 0.01] s
Known issues
------------
Here are the changes found in IGTPW_5523 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@core_hotunplug@unbind-rebind:
- fi-kbl-7500u: [PASS][11] -> [DMESG-WARN][12] ([i915#2605])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html
* {igt@kms_content_protection@dp-mst-lic-type-0} (NEW):
- fi-snb-2520m: NOTRUN -> [SKIP][13] ([fdo#109271]) +3 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-snb-2520m/igt@kms_content_protection@dp-mst-lic-type-0.html
- fi-hsw-4770: NOTRUN -> [SKIP][14] ([fdo#109271]) +3 similar issues
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-hsw-4770/igt@kms_content_protection@dp-mst-lic-type-0.html
- fi-bxt-dsi: NOTRUN -> [SKIP][15] ([fdo#109271]) +3 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-bxt-dsi/igt@kms_content_protection@dp-mst-lic-type-0.html
- fi-cfl-8700k: NOTRUN -> [SKIP][16] ([fdo#109271]) +3 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-cfl-8700k/igt@kms_content_protection@dp-mst-lic-type-0.html
- fi-skl-6700k2: NOTRUN -> [SKIP][17] ([fdo#109271]) +3 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-skl-6700k2/igt@kms_content_protection@dp-mst-lic-type-0.html
- fi-elk-e7500: NOTRUN -> [SKIP][18] ([fdo#109271]) +3 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-elk-e7500/igt@kms_content_protection@dp-mst-lic-type-0.html
- fi-ilk-650: NOTRUN -> [SKIP][19] ([fdo#109271]) +3 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-ilk-650/igt@kms_content_protection@dp-mst-lic-type-0.html
- fi-bsw-n3050: NOTRUN -> [SKIP][20] ([fdo#109271]) +3 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-bsw-n3050/igt@kms_content_protection@dp-mst-lic-type-0.html
- fi-kbl-x1275: NOTRUN -> [SKIP][21] ([fdo#109271]) +3 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-kbl-x1275/igt@kms_content_protection@dp-mst-lic-type-0.html
* {igt@kms_content_protection@dp-mst-lic-type-1} (NEW):
- fi-snb-2600: NOTRUN -> [SKIP][22] ([fdo#109271]) +3 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-snb-2600/igt@kms_content_protection@dp-mst-lic-type-1.html
- fi-ivb-3770: NOTRUN -> [SKIP][23] ([fdo#109271]) +3 similar issues
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-ivb-3770/igt@kms_content_protection@dp-mst-lic-type-1.html
* {igt@kms_content_protection@dp-mst-type-0} (NEW):
- fi-glk-dsi: NOTRUN -> [SKIP][24] ([fdo#109271]) +3 similar issues
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-glk-dsi/igt@kms_content_protection@dp-mst-type-0.html
- fi-kbl-r: NOTRUN -> [SKIP][25] ([fdo#109271]) +3 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-kbl-r/igt@kms_content_protection@dp-mst-type-0.html
- fi-kbl-7500u: NOTRUN -> [SKIP][26] ([fdo#109271]) +3 similar issues
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-kbl-7500u/igt@kms_content_protection@dp-mst-type-0.html
- fi-cfl-8109u: NOTRUN -> [SKIP][27] ([fdo#109271]) +3 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-cfl-8109u/igt@kms_content_protection@dp-mst-type-0.html
- fi-bdw-5557u: NOTRUN -> [SKIP][28] ([fdo#109271]) +3 similar issues
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-bdw-5557u/igt@kms_content_protection@dp-mst-type-0.html
* {igt@kms_content_protection@dp-mst-type-1} (NEW):
- fi-skl-6600u: NOTRUN -> [SKIP][29] ([fdo#109271]) +3 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-skl-6600u/igt@kms_content_protection@dp-mst-type-1.html
- fi-pnv-d510: NOTRUN -> [SKIP][30] ([fdo#109271]) +3 similar issues
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-pnv-d510/igt@kms_content_protection@dp-mst-type-1.html
- fi-byt-j1900: NOTRUN -> [SKIP][31] ([fdo#109271]) +3 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-byt-j1900/igt@kms_content_protection@dp-mst-type-1.html
- fi-cfl-guc: NOTRUN -> [SKIP][32] ([fdo#109271]) +3 similar issues
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-cfl-guc/igt@kms_content_protection@dp-mst-type-1.html
- fi-kbl-soraka: NOTRUN -> [SKIP][33] ([fdo#109271]) +3 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-kbl-soraka/igt@kms_content_protection@dp-mst-type-1.html
- fi-bsw-kefka: NOTRUN -> [SKIP][34] ([fdo#109271]) +3 similar issues
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/fi-bsw-kefka/igt@kms_content_protection@dp-mst-type-1.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#2605]: https://gitlab.freedesktop.org/drm/intel/issues/2605
Participating hosts (45 -> 36)
------------------------------
Missing (9): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ehl-2 fi-ctg-p8600 fi-dg1-1 fi-tgl-y fi-bdw-samus fi-hsw-gt1
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6004 -> IGTPW_5523
CI-20190529: 20190529
CI_DRM_9779: 775dbe8d5e041442fcadf63894468a63582a87a2 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_5523: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/index.html
IGT_6004: fe9ac2aeffc1828c6d61763a611a44fbd450aa96 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@kms_content_protection@dp-mst-lic-type-0
+igt@kms_content_protection@dp-mst-lic-type-1
+igt@kms_content_protection@dp-mst-type-0
+igt@kms_content_protection@dp-mst-type-1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/index.html
[-- Attachment #1.2: Type: text/html, Size: 12213 bytes --]
[-- Attachment #2: Type: text/plain, Size: 154 bytes --]
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for Add subtests for HDCP over MST (rev7)
2021-02-17 6:26 [igt-dev] [PATCH i-g-t v8 0/2] Add subtests for HDCP over MST Karthik B S
` (2 preceding siblings ...)
2021-02-17 7:36 ` [igt-dev] ✓ Fi.CI.BAT: success for Add subtests for HDCP over MST (rev7) Patchwork
@ 2021-02-17 8:39 ` Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2021-02-17 8:39 UTC (permalink / raw)
To: Karthik B S; +Cc: igt-dev
[-- Attachment #1.1: Type: text/plain, Size: 30255 bytes --]
== Series Details ==
Series: Add subtests for HDCP over MST (rev7)
URL : https://patchwork.freedesktop.org/series/82987/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_9779_full -> IGTPW_5523_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_5523_full:
### IGT changes ###
#### Possible regressions ####
* {igt@kms_content_protection@dp-mst-lic-type-1} (NEW):
- shard-iclb: NOTRUN -> [SKIP][1] +3 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb2/igt@kms_content_protection@dp-mst-lic-type-1.html
* {igt@kms_content_protection@dp-mst-type-0} (NEW):
- shard-tglb: NOTRUN -> [SKIP][2] +3 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb3/igt@kms_content_protection@dp-mst-type-0.html
New tests
---------
New tests have been introduced between CI_DRM_9779_full and IGTPW_5523_full:
### New IGT tests (4) ###
* igt@kms_content_protection@dp-mst-lic-type-0:
- Statuses : 6 skip(s)
- Exec time: [0.0, 0.00] s
* igt@kms_content_protection@dp-mst-lic-type-1:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_content_protection@dp-mst-type-0:
- Statuses : 6 skip(s)
- Exec time: [0.0, 0.00] s
* igt@kms_content_protection@dp-mst-type-1:
- Statuses : 5 skip(s)
- Exec time: [0.0, 0.00] s
Known issues
------------
Here are the changes found in IGTPW_5523_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@feature_discovery@psr2:
- shard-iclb: [PASS][3] -> [SKIP][4] ([i915#658])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb2/igt@feature_discovery@psr2.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb7/igt@feature_discovery@psr2.html
* igt@gem_ctx_persistence@engines-hostile:
- shard-hsw: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#1099]) +1 similar issue
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-hsw7/igt@gem_ctx_persistence@engines-hostile.html
* igt@gem_ctx_persistence@many-contexts:
- shard-iclb: [PASS][6] -> [INCOMPLETE][7] ([i915#3057])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb6/igt@gem_ctx_persistence@many-contexts.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb5/igt@gem_ctx_persistence@many-contexts.html
* igt@gem_ctx_persistence@smoketest:
- shard-snb: NOTRUN -> [SKIP][8] ([fdo#109271] / [i915#1099]) +4 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-snb5/igt@gem_ctx_persistence@smoketest.html
* igt@gem_exec_fair@basic-deadline:
- shard-kbl: NOTRUN -> [FAIL][9] ([i915#2846])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl4/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-kbl: NOTRUN -> [FAIL][10] ([i915#2842])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl4/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_reloc@basic-many-active@vcs0:
- shard-kbl: NOTRUN -> [FAIL][11] ([i915#2389]) +4 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl7/igt@gem_exec_reloc@basic-many-active@vcs0.html
* igt@gem_exec_reloc@basic-parallel:
- shard-apl: NOTRUN -> [TIMEOUT][12] ([i915#1729])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl2/igt@gem_exec_reloc@basic-parallel.html
* igt@gem_pwrite@basic-exhaustion:
- shard-iclb: NOTRUN -> [WARN][13] ([i915#2658])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb4/igt@gem_pwrite@basic-exhaustion.html
- shard-apl: NOTRUN -> [WARN][14] ([i915#2658])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl7/igt@gem_pwrite@basic-exhaustion.html
- shard-tglb: NOTRUN -> [WARN][15] ([i915#2658])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb5/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_render_copy@x-tiled-to-vebox-yf-tiled:
- shard-kbl: NOTRUN -> [SKIP][16] ([fdo#109271]) +234 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl4/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html
* igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled:
- shard-glk: NOTRUN -> [SKIP][17] ([fdo#109271]) +56 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-glk4/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled.html
- shard-iclb: NOTRUN -> [SKIP][18] ([i915#768])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb6/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled.html
* igt@gem_userptr_blits@input-checking:
- shard-kbl: NOTRUN -> [DMESG-WARN][19] ([i915#3002])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl7/igt@gem_userptr_blits@input-checking.html
* igt@gem_userptr_blits@process-exit-mmap@gtt:
- shard-kbl: NOTRUN -> [SKIP][20] ([fdo#109271] / [i915#1699]) +3 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl4/igt@gem_userptr_blits@process-exit-mmap@gtt.html
* igt@gem_userptr_blits@vma-merge:
- shard-snb: NOTRUN -> [FAIL][21] ([i915#2724])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-snb7/igt@gem_userptr_blits@vma-merge.html
* igt@gen7_exec_parse@cmd-crossing-page:
- shard-tglb: NOTRUN -> [SKIP][22] ([fdo#109289])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb7/igt@gen7_exec_parse@cmd-crossing-page.html
- shard-iclb: NOTRUN -> [SKIP][23] ([fdo#109289])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb1/igt@gen7_exec_parse@cmd-crossing-page.html
* igt@gen9_exec_parse@basic-rejected-ctx-param:
- shard-tglb: NOTRUN -> [SKIP][24] ([fdo#112306])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb2/igt@gen9_exec_parse@basic-rejected-ctx-param.html
- shard-iclb: NOTRUN -> [SKIP][25] ([fdo#112306])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb8/igt@gen9_exec_parse@basic-rejected-ctx-param.html
* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
- shard-kbl: NOTRUN -> [SKIP][26] ([fdo#109271] / [i915#1937])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl2/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html
* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
- shard-glk: NOTRUN -> [SKIP][27] ([fdo#109271] / [i915#1937])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-glk2/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html
* igt@i915_selftest@live@gt_lrc:
- shard-tglb: NOTRUN -> [DMESG-FAIL][28] ([i915#2373])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb6/igt@i915_selftest@live@gt_lrc.html
* igt@i915_selftest@live@gt_pm:
- shard-tglb: NOTRUN -> [DMESG-FAIL][29] ([i915#1759] / [i915#2291])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb6/igt@i915_selftest@live@gt_pm.html
* igt@i915_suspend@sysfs-reader:
- shard-apl: NOTRUN -> [DMESG-WARN][30] ([i915#180])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl8/igt@i915_suspend@sysfs-reader.html
* igt@kms_async_flips@test-time-stamp:
- shard-tglb: [PASS][31] -> [FAIL][32] ([i915#2597])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-tglb2/igt@kms_async_flips@test-time-stamp.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb1/igt@kms_async_flips@test-time-stamp.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-90:
- shard-tglb: NOTRUN -> [SKIP][33] ([fdo#111614]) +2 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb1/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-90:
- shard-iclb: NOTRUN -> [SKIP][34] ([fdo#110725] / [fdo#111614]) +1 similar issue
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb1/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-addfb-size-overflow:
- shard-hsw: NOTRUN -> [SKIP][35] ([fdo#109271]) +39 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-hsw7/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-270:
- shard-tglb: NOTRUN -> [SKIP][36] ([fdo#111615])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb8/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html
- shard-iclb: NOTRUN -> [SKIP][37] ([fdo#110723])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb2/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html
* igt@kms_big_joiner@basic:
- shard-kbl: NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#2705]) +1 similar issue
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl4/igt@kms_big_joiner@basic.html
* igt@kms_chamelium@hdmi-edid-change-during-suspend:
- shard-apl: NOTRUN -> [SKIP][39] ([fdo#109271] / [fdo#111827]) +20 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl8/igt@kms_chamelium@hdmi-edid-change-during-suspend.html
* igt@kms_chamelium@hdmi-hpd-storm:
- shard-kbl: NOTRUN -> [SKIP][40] ([fdo#109271] / [fdo#111827]) +27 similar issues
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl7/igt@kms_chamelium@hdmi-hpd-storm.html
* igt@kms_chamelium@vga-edid-read:
- shard-iclb: NOTRUN -> [SKIP][41] ([fdo#109284] / [fdo#111827]) +2 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb8/igt@kms_chamelium@vga-edid-read.html
* igt@kms_chamelium@vga-hpd:
- shard-hsw: NOTRUN -> [SKIP][42] ([fdo#109271] / [fdo#111827]) +1 similar issue
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-hsw2/igt@kms_chamelium@vga-hpd.html
* igt@kms_chamelium@vga-hpd-enable-disable-mode:
- shard-glk: NOTRUN -> [SKIP][43] ([fdo#109271] / [fdo#111827]) +5 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-glk6/igt@kms_chamelium@vga-hpd-enable-disable-mode.html
* igt@kms_color@pipe-b-legacy-gamma-reset:
- shard-apl: [PASS][44] -> [FAIL][45] ([i915#2964])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-apl3/igt@kms_color@pipe-b-legacy-gamma-reset.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl2/igt@kms_color@pipe-b-legacy-gamma-reset.html
* igt@kms_color@pipe-c-legacy-gamma-reset:
- shard-kbl: NOTRUN -> [FAIL][46] ([i915#2964]) +1 similar issue
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl6/igt@kms_color@pipe-c-legacy-gamma-reset.html
* igt@kms_color@pipe-d-ctm-max:
- shard-iclb: NOTRUN -> [SKIP][47] ([fdo#109278] / [i915#1149])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb3/igt@kms_color@pipe-d-ctm-max.html
* igt@kms_color_chamelium@pipe-c-ctm-0-25:
- shard-tglb: NOTRUN -> [SKIP][48] ([fdo#109284] / [fdo#111827]) +4 similar issues
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb6/igt@kms_color_chamelium@pipe-c-ctm-0-25.html
* igt@kms_color_chamelium@pipe-d-ctm-0-5:
- shard-snb: NOTRUN -> [SKIP][49] ([fdo#109271] / [fdo#111827]) +20 similar issues
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-snb6/igt@kms_color_chamelium@pipe-d-ctm-0-5.html
* igt@kms_color_chamelium@pipe-d-gamma:
- shard-iclb: NOTRUN -> [SKIP][50] ([fdo#109278] / [fdo#109284] / [fdo#111827])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb1/igt@kms_color_chamelium@pipe-d-gamma.html
* igt@kms_content_protection@atomic:
- shard-kbl: NOTRUN -> [TIMEOUT][51] ([i915#1319])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl4/igt@kms_content_protection@atomic.html
- shard-apl: NOTRUN -> [TIMEOUT][52] ([i915#1319])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl1/igt@kms_content_protection@atomic.html
* igt@kms_content_protection@uevent:
- shard-kbl: NOTRUN -> [FAIL][53] ([i915#2105])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl7/igt@kms_content_protection@uevent.html
- shard-apl: NOTRUN -> [FAIL][54] ([i915#2105])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl3/igt@kms_content_protection@uevent.html
* igt@kms_cursor_crc@pipe-b-cursor-512x512-rapid-movement:
- shard-iclb: NOTRUN -> [SKIP][55] ([fdo#109278] / [fdo#109279]) +2 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb1/igt@kms_cursor_crc@pipe-b-cursor-512x512-rapid-movement.html
* igt@kms_cursor_crc@pipe-c-cursor-512x170-offscreen:
- shard-tglb: NOTRUN -> [SKIP][56] ([fdo#109279]) +3 similar issues
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb5/igt@kms_cursor_crc@pipe-c-cursor-512x170-offscreen.html
* igt@kms_cursor_edge_walk@pipe-d-64x64-top-edge:
- shard-hsw: NOTRUN -> [SKIP][57] ([fdo#109271] / [i915#533]) +8 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-hsw2/igt@kms_cursor_edge_walk@pipe-d-64x64-top-edge.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-hsw: [PASS][58] -> [FAIL][59] ([i915#96])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-hsw4/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-hsw1/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
- shard-iclb: NOTRUN -> [SKIP][60] ([fdo#109274] / [fdo#109278])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb2/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@pipe-d-single-bo:
- shard-kbl: NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#533]) +2 similar issues
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl6/igt@kms_cursor_legacy@pipe-d-single-bo.html
* igt@kms_cursor_legacy@pipe-d-single-move:
- shard-iclb: NOTRUN -> [SKIP][62] ([fdo#109278]) +12 similar issues
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb3/igt@kms_cursor_legacy@pipe-d-single-move.html
* igt@kms_flip@2x-flip-vs-rmfb-interruptible:
- shard-iclb: NOTRUN -> [SKIP][63] ([fdo#109274]) +2 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb7/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs:
- shard-kbl: NOTRUN -> [FAIL][64] ([i915#2641])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl1/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile:
- shard-apl: NOTRUN -> [SKIP][65] ([fdo#109271] / [i915#2642])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl7/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs:
- shard-apl: NOTRUN -> [SKIP][66] ([fdo#109271] / [i915#2672])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt:
- shard-tglb: NOTRUN -> [SKIP][67] ([fdo#111825]) +15 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt:
- shard-iclb: NOTRUN -> [SKIP][68] ([fdo#109280]) +11 similar issues
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-onoff:
- shard-snb: NOTRUN -> [SKIP][69] ([fdo#109271]) +305 similar issues
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-snb6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-onoff.html
* igt@kms_hdr@static-swap:
- shard-tglb: NOTRUN -> [SKIP][70] ([i915#1187])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb8/igt@kms_hdr@static-swap.html
- shard-iclb: NOTRUN -> [SKIP][71] ([i915#1187])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb4/igt@kms_hdr@static-swap.html
* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d:
- shard-apl: NOTRUN -> [SKIP][72] ([fdo#109271] / [i915#533]) +1 similar issue
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl1/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d.html
* igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
- shard-apl: NOTRUN -> [FAIL][73] ([fdo#108145] / [i915#265]) +2 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl8/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html
* igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb:
- shard-kbl: NOTRUN -> [FAIL][74] ([i915#265])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl7/igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb.html
* igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
- shard-kbl: NOTRUN -> [FAIL][75] ([fdo#108145] / [i915#265]) +4 similar issues
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl6/igt@kms_plane_alpha_blend@pipe-c-alpha-7efc.html
* igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
- shard-glk: NOTRUN -> [FAIL][76] ([fdo#108145] / [i915#265])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-glk6/igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb.html
* igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3:
- shard-glk: NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#658])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-glk9/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3.html
* igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5:
- shard-apl: NOTRUN -> [SKIP][78] ([fdo#109271] / [i915#658]) +4 similar issues
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl6/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5.html
* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1:
- shard-kbl: NOTRUN -> [SKIP][79] ([fdo#109271] / [i915#658]) +4 similar issues
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl6/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1.html
* igt@kms_psr@primary_page_flip:
- shard-hsw: NOTRUN -> [SKIP][80] ([fdo#109271] / [i915#1072]) +1 similar issue
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-hsw7/igt@kms_psr@primary_page_flip.html
* igt@kms_psr@psr2_no_drrs:
- shard-iclb: [PASS][81] -> [SKIP][82] ([fdo#109441]) +2 similar issues
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb6/igt@kms_psr@psr2_no_drrs.html
* igt@kms_psr@psr2_primary_mmap_gtt:
- shard-iclb: NOTRUN -> [SKIP][83] ([fdo#109441])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb4/igt@kms_psr@psr2_primary_mmap_gtt.html
* igt@kms_sysfs_edid_timing:
- shard-apl: NOTRUN -> [FAIL][84] ([IGT#2])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl7/igt@kms_sysfs_edid_timing.html
- shard-kbl: NOTRUN -> [FAIL][85] ([IGT#2])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl1/igt@kms_sysfs_edid_timing.html
* igt@kms_vblank@pipe-d-ts-continuation-idle:
- shard-apl: NOTRUN -> [SKIP][86] ([fdo#109271]) +215 similar issues
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl7/igt@kms_vblank@pipe-d-ts-continuation-idle.html
* igt@kms_writeback@writeback-fb-id:
- shard-kbl: NOTRUN -> [SKIP][87] ([fdo#109271] / [i915#2437]) +1 similar issue
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl7/igt@kms_writeback@writeback-fb-id.html
* igt@nouveau_crc@pipe-a-source-outp-inactive:
- shard-iclb: NOTRUN -> [SKIP][88] ([i915#2530]) +1 similar issue
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb3/igt@nouveau_crc@pipe-a-source-outp-inactive.html
- shard-tglb: NOTRUN -> [SKIP][89] ([i915#2530]) +1 similar issue
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb3/igt@nouveau_crc@pipe-a-source-outp-inactive.html
* igt@sysfs_clients@split-10@bcs0:
- shard-apl: NOTRUN -> [SKIP][90] ([fdo#109271] / [i915#3026])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl3/igt@sysfs_clients@split-10@bcs0.html
* igt@tools_test@sysfs_l3_parity:
- shard-iclb: NOTRUN -> [SKIP][91] ([fdo#109307])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb3/igt@tools_test@sysfs_l3_parity.html
- shard-tglb: NOTRUN -> [SKIP][92] ([fdo#109307])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb1/igt@tools_test@sysfs_l3_parity.html
#### Possible fixes ####
* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-iclb: [FAIL][93] ([i915#2842]) -> [PASS][94]
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb7/igt@gem_exec_fair@basic-none-share@rcs0.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb2/igt@gem_exec_fair@basic-none-share@rcs0.html
* igt@gem_exec_reloc@basic-many-active@rcs0:
- shard-apl: [FAIL][95] ([i915#2389]) -> [PASS][96]
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-apl3/igt@gem_exec_reloc@basic-many-active@rcs0.html
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl2/igt@gem_exec_reloc@basic-many-active@rcs0.html
* igt@gem_exec_schedule@u-fairslice@bcs0:
- shard-tglb: [DMESG-WARN][97] ([i915#2803]) -> [PASS][98]
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-tglb8/igt@gem_exec_schedule@u-fairslice@bcs0.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb3/igt@gem_exec_schedule@u-fairslice@bcs0.html
* igt@gem_exec_schedule@u-fairslice@vcs0:
- shard-iclb: [DMESG-WARN][99] ([i915#2803]) -> [PASS][100]
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb4/igt@gem_exec_schedule@u-fairslice@vcs0.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb3/igt@gem_exec_schedule@u-fairslice@vcs0.html
* igt@gem_exec_schedule@u-fairslice@vecs0:
- shard-apl: [DMESG-WARN][101] ([i915#1610]) -> [PASS][102]
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-apl7/igt@gem_exec_schedule@u-fairslice@vecs0.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-apl2/igt@gem_exec_schedule@u-fairslice@vecs0.html
* igt@gem_exec_whisper@basic-queues-forked-all:
- shard-glk: [DMESG-WARN][103] ([i915#118] / [i915#95]) -> [PASS][104] +1 similar issue
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-glk6/igt@gem_exec_whisper@basic-queues-forked-all.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-glk2/igt@gem_exec_whisper@basic-queues-forked-all.html
* igt@i915_selftest@live@hangcheck:
- shard-hsw: [INCOMPLETE][105] ([i915#2782]) -> [PASS][106]
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-hsw4/igt@i915_selftest@live@hangcheck.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-hsw2/igt@i915_selftest@live@hangcheck.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1:
- shard-tglb: [FAIL][107] ([i915#2598]) -> [PASS][108]
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-tglb5/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb8/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html
* igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
- shard-kbl: [DMESG-WARN][109] ([i915#180]) -> [PASS][110]
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-kbl2/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
- shard-glk: [FAIL][111] ([i915#49]) -> [PASS][112]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-glk6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-glk5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html
* igt@kms_psr@psr2_cursor_blt:
- shard-iclb: [SKIP][113] ([fdo#109441]) -> [PASS][114] +1 similar issue
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb5/igt@kms_psr@psr2_cursor_blt.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb2/igt@kms_psr@psr2_cursor_blt.html
* igt@perf@polling-parameterized:
- shard-glk: [FAIL][115] ([i915#1542]) -> [PASS][116]
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-glk2/igt@perf@polling-parameterized.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-glk2/igt@perf@polling-parameterized.html
- shard-iclb: [FAIL][117] ([i915#1542]) -> [PASS][118]
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb5/igt@perf@polling-parameterized.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb6/igt@perf@polling-parameterized.html
* igt@sysfs_clients@busy@vcs0:
- shard-iclb: [FAIL][119] ([i915#3019]) -> [PASS][120]
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb8/igt@sysfs_clients@busy@vcs0.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb8/igt@sysfs_clients@busy@vcs0.html
* igt@sysfs_clients@recycle:
- shard-snb: [FAIL][121] ([i915#3028]) -> [PASS][122]
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-snb2/igt@sysfs_clients@recycle.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-snb2/igt@sysfs_clients@recycle.html
- shard-tglb: [FAIL][123] ([i915#3028]) -> [PASS][124]
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-tglb1/igt@sysfs_clients@recycle.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-tglb8/igt@sysfs_clients@recycle.html
* {igt@sysfs_clients@recycle-many}:
- shard-iclb: [FAIL][125] ([i915#3028]) -> [PASS][126]
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb5/igt@sysfs_clients@recycle-many.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb1/igt@sysfs_clients@recycle-many.html
#### Warnings ####
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-iclb: [SKIP][127] ([i915#588]) -> [SKIP][128] ([i915#658])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb3/igt@i915_pm_dc@dc3co-vpb-simulation.html
* igt@i915_pm_rc6_residency@rc6-idle:
- shard-iclb: [WARN][129] ([i915#2681] / [i915#2684]) -> [WARN][130] ([i915#2684])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb1/igt@i915_pm_rc6_residency@rc6-idle.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb2/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1:
- shard-iclb: [SKIP][131] ([i915#2920]) -> [SKIP][132] ([i915#658]) +2 similar issues
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb1/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1.html
* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-4:
- shard-iclb: [SKIP][133] ([i915#658]) -> [SKIP][134] ([i915#2920]) +2 similar issues
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-iclb6/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-4.html
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-4.html
* igt@runner@aborted:
- shard-kbl: ([FAIL][135], [FAIL][136], [FAIL][137], [FAIL][138], [FAIL][139], [FAIL][140], [FAIL][141], [FAIL][142]) ([i915#1436] / [i915#1814] / [i915#2295] / [i915#602]) -> ([FAIL][143], [FAIL][144], [FAIL][145], [FAIL][146], [FAIL][147]) ([i915#1814] / [i915#2295] / [i915#3002] / [i915#602])
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-kbl4/igt@runner@aborted.html
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9779/shard-kbl2/igt@runner@aborted.html
[137]: h
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5523/index.html
[-- Attachment #1.2: Type: text/html, Size: 33890 bytes --]
[-- Attachment #2: Type: text/plain, Size: 154 bytes --]
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v8 1/2] tests/kms_content_protection: Add MST subtests
2021-02-17 6:26 ` [igt-dev] [PATCH i-g-t v8 1/2] tests/kms_content_protection: Add MST subtests Karthik B S
@ 2021-02-22 5:12 ` Nautiyal, Ankit K
2021-02-23 4:49 ` Karthik B S
0 siblings, 1 reply; 7+ messages in thread
From: Nautiyal, Ankit K @ 2021-02-22 5:12 UTC (permalink / raw)
To: Karthik B S, igt-dev
LGTM
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com
<mailto:ankit.k.nautiyal@intel.com>>
On 2/17/2021 11:56 AM, Karthik B S wrote:
> Add subtests to verify content protection simultaneously on
> multiple outputs on the same MST topology.
>
> v3: -Remove the logging which are no longer required. (Anshuman)
> -Add logic to verify that CP is still enabled on other connectors
> while disabling it on one of the connectors. (Anshuman)
>
> v4: -Rename is_output_support_cp_capable(). (Anshuman, Ram)
> -Rephrase the comment in is_dp_mst_output. (Anshuman)
> -Remove the redundant HDCP check hunk before HDCP disable. (Anshuman)
> -Check the link on the HDCP enabled outputs when one of the outputs
> in the same DP MST topology is disabled. (Anshuman)
> -Revert the change in test_content_protection_cleanup(). (Anshuman)
> -Create fb's in a common function for both MST and SST. (Ram)
> -Rename is_dp_mst_output() to output_is_dp_mst(). (Ram)
> -Remove the redundant igt_debug() before HDCP enable. (Ram)
> -Rephrase the igt_assert statement during HDCP enable. (Ram)
> -Optimize the execution time by checking the link for all MST
> connectors together. (Ram)
> -No need of loop where we disable CP on one of the MST outputs. (Ram)
> -During verification by disabling one of the MST outputs,
> check for the negative case until the required timeout. (Ram)
>
> v5: -Modify skip message when HDCP support is not present. (Anshuman)
> -Remove the definition of color_t structure as it is no longer used.
>
> v6: -Optimize execution time in LIC test. (Anshuman)
>
> v7: -Check HDCP capability after modeset on MST. (Anshuman)
>
> v8: -Use try_commit for MST modeset and skip the test on failure. (Ankit)
>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> Signed-off-by: Karthik B S <karthik.b.s@intel.com>
> ---
> tests/kms_content_protection.c | 278 ++++++++++++++++++++++++++++++---
> 1 file changed, 256 insertions(+), 22 deletions(-)
>
> diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
> index 303ed418..edd39ca2 100644
> --- a/tests/kms_content_protection.c
> +++ b/tests/kms_content_protection.c
> @@ -179,16 +179,10 @@ static void modeset_with_fb(const enum pipe pipe, igt_output_t *output,
> igt_output_override_mode(output, &mode);
> igt_output_set_pipe(output, pipe);
>
> - igt_create_color_fb(display->drm_fd, mode.hdisplay, mode.vdisplay,
> - DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
> - 1.f, 0.f, 0.f, &data.red);
> - igt_create_color_fb(display->drm_fd, mode.hdisplay, mode.vdisplay,
> - DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
> - 0.f, 1.f, 0.f, &data.green);
> -
> primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> igt_display_commit2(display, s);
> igt_plane_set_fb(primary, &data.red);
> + igt_fb_set_size(&data.red, primary, mode.hdisplay, mode.vdisplay);
>
> /* Wait for Flip completion before starting the HDCP authentication */
> commit_display_and_wait_for_flip(s);
> @@ -458,37 +452,83 @@ static bool sink_hdcp2_capable(igt_output_t *output)
> return strstr(buf, "HDCP2.2");
> }
>
> -static void
> -test_content_protection(enum igt_commit_style s, int content_type)
> +static void prepare_modeset_on_mst_output(igt_output_t *output, enum pipe pipe)
> {
> - igt_display_t *display = &data.display;
> - igt_output_t *output;
> - int valid_tests = 0;
> + drmModeConnectorPtr c = output->config.connector;
> + drmModeModeInfo *mode;
> + igt_plane_t *primary;
> + int i, width, height;
>
> - if (data.cp_tests & CP_MEI_RELOAD)
> - igt_require_f(igt_kmod_is_loaded("mei_hdcp"),
> - "mei_hdcp module is not loaded\n");
> + mode = igt_output_get_mode(output);
>
> - for_each_connected_output(display, output) {
> + /*
> + * TODO: Add logic to use the highest possible modes on each output.
> + * Currently using 2k modes by default on all the outputs.
> + */
> + igt_debug("Before mode override: Output %s Mode hdisplay %d Mode vdisplay %d\n",
> + output->name, mode->hdisplay, mode->vdisplay);
> +
> + if (mode->hdisplay > 1920 && mode->vdisplay > 1080) {
> + for (i = 0; i < c->count_modes; i++) {
> + if (c->modes[i].hdisplay <= 1920 && c->modes[i].vdisplay <= 1080) {
> + mode = &c->modes[i];
> + igt_output_override_mode(output, mode);
> + break;
> + }
> + }
> + }
> +
> + igt_debug("After mode overide: Output %s Mode hdisplay %d Mode vdisplay %d\n",
> + output->name, mode->hdisplay, mode->vdisplay);
> +
> + width = mode->hdisplay;
> + height = mode->vdisplay;
> +
> + igt_output_set_pipe(output, pipe);
> + primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> + igt_plane_set_fb(primary, NULL);
> + igt_plane_set_fb(primary, pipe % 2 ? &data.red : &data.green);
> + igt_fb_set_size(pipe % 2 ? &data.red : &data.green, primary, width, height);
> + igt_plane_set_size(primary, width, height);
> +}
> +
> +static bool output_hdcp_capable(igt_output_t *output, int content_type)
> +{
> if (!output->props[IGT_CONNECTOR_CONTENT_PROTECTION])
> - continue;
> + return false;
>
> if (!output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE] &&
> content_type)
> - continue;
> -
> - igt_info("CP Test execution on %s\n", output->name);
> + return false;
>
> if (content_type && !sink_hdcp2_capable(output)) {
> igt_info("\tSkip %s (Sink has no HDCP2.2 support)\n",
> output->name);
> - continue;
> + return false;
> } else if (!sink_hdcp_capable(output)) {
> igt_info("\tSkip %s (Sink has no HDCP support)\n",
> output->name);
> - continue;
> + return false;
> }
>
> + return true;
> +}
> +
> +static void
> +test_content_protection(enum igt_commit_style s, int content_type)
> +{
> + igt_display_t *display = &data.display;
> + igt_output_t *output;
> + int valid_tests = 0;
> +
> + if (data.cp_tests & CP_MEI_RELOAD)
> + igt_require_f(igt_kmod_is_loaded("mei_hdcp"),
> + "mei_hdcp module is not loaded\n");
> +
> + for_each_connected_output(display, output) {
> + if (!output_hdcp_capable(output, content_type))
> + continue;
> +
> test_content_protection_on_output(output, s, content_type);
> valid_tests++;
> }
> @@ -496,6 +536,151 @@ test_content_protection(enum igt_commit_style s, int content_type)
> igt_require_f(valid_tests, "No connector found with HDCP capability\n");
> }
>
> +static int parse_path_blob(char *blob_data)
> +{
> + int connector_id;
> + char *encoder;
> +
> + encoder = strtok(blob_data, ":");
> + igt_assert_f(!strcmp(encoder, "mst"), "PATH connector property expected to have 'mst'\n");
> +
> + connector_id = atoi(strtok(NULL, "-"));
> +
> + return connector_id;
> +}
> +
> +static bool output_is_dp_mst(igt_output_t *output, int i)
> +{
> + drmModePropertyBlobPtr path_blob = NULL;
> + uint64_t path_blob_id;
> + drmModeConnector *connector = output->config.connector;
> + struct kmstest_connector_config config;
> + const char *encoder;
> + int connector_id;
> + static int prev_connector_id;
> +
> + kmstest_get_connector_config(data.drm_fd, output->config.connector->connector_id, -1, &config);
> + encoder = kmstest_encoder_type_str(config.encoder->encoder_type);
> +
> + if (strcmp(encoder, "DP MST"))
> + return false;
> +
> + igt_assert(kmstest_get_property(data.drm_fd, connector->connector_id,
> + DRM_MODE_OBJECT_CONNECTOR, "PATH", NULL,
> + &path_blob_id, NULL));
> +
> + igt_assert(path_blob = drmModeGetPropertyBlob(data.drm_fd, path_blob_id));
> +
> + connector_id = parse_path_blob((char *) path_blob->data);
> +
> + /*
> + * Discarding outputs of other DP MST topology.
> + * Testing only on outputs on the topology we got previously
> + */
> + if (i == 0) {
> + prev_connector_id = connector_id;
> + } else {
> + if (connector_id != prev_connector_id)
> + return false;
> + }
> +
> + drmModeFreePropertyBlob(path_blob);
> +
> + return true;
> +}
> +
> +static void test_cp_lic_on_mst(igt_output_t *mst_outputs[], int valid_outputs, bool first_output)
> +{
> + int ret, count;
> + uint64_t val;
> +
> + /* Only wait for the first output, this optimizes the test execution time */
> + ret = wait_for_prop_value(mst_outputs[first_output], CP_DESIRED, LIC_PERIOD_MSEC);
> + igt_assert_f(!ret, "Content Protection LIC Failed on %s\n", mst_outputs[0]->name);
> +
> + for (count = first_output + 1; count < valid_outputs; count++) {
> + val = igt_output_get_prop(mst_outputs[count], IGT_CONNECTOR_CONTENT_PROTECTION);
> + igt_assert_f(val != CP_DESIRED, "Content Protection LIC Failed on %s\n", mst_outputs[count]->name);
> + }
> +}
> +
> +static void
> +test_content_protection_mst(int content_type)
> +{
> + igt_display_t *display = &data.display;
> + igt_output_t *output;
> + int valid_outputs = 0, dp_mst_outputs = 0, ret, count, max_pipe = 0, i;
> + enum pipe pipe;
> + igt_output_t *mst_output[IGT_MAX_PIPES], *hdcp_mst_output[IGT_MAX_PIPES];
> +
> + for_each_pipe(display, pipe)
> + max_pipe++;
> +
> + pipe = PIPE_A;
> +
> + for_each_connected_output(display, output) {
> + if (!output_is_dp_mst(output, dp_mst_outputs))
> + continue;
> +
> + igt_assert_f(igt_pipe_connector_valid(pipe, output), "Output-pipe combination invalid\n");
> +
> + prepare_modeset_on_mst_output(output, pipe);
> + mst_output[dp_mst_outputs++] = output;
> +
> + pipe++;
> +
> + if (pipe > max_pipe)
> + break;
> + }
> +
> + igt_require_f(dp_mst_outputs > 1, "No DP MST set up with >= 2 outputs found in a single topology\n");
> +
> + ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
> + igt_require_f(ret == 0, "Commit failure during MST modeset\n");
> +
> + for (count = 0; count < dp_mst_outputs; count++) {
> + if (!output_hdcp_capable(mst_output[count], content_type))
> + continue;
> +
> + hdcp_mst_output[valid_outputs++] = mst_output[count];
> + }
> +
> + igt_require_f(valid_outputs > 1, "DP MST outputs do not have the required HDCP support\n");
> +
> + for (count = 0; count < valid_outputs; count++) {
> + igt_output_set_prop_value(hdcp_mst_output[count], IGT_CONNECTOR_CONTENT_PROTECTION, CP_DESIRED);
> +
> + if (output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE])
> + igt_output_set_prop_value(hdcp_mst_output[count], IGT_CONNECTOR_HDCP_CONTENT_TYPE, content_type);
> + }
> +
> + igt_display_commit2(display, COMMIT_ATOMIC);
> +
> + for (count = 0; count < valid_outputs; count++) {
> + ret = wait_for_prop_value(hdcp_mst_output[count], CP_ENABLED, KERNEL_AUTH_TIME_ALLOWED_MSEC);
> + igt_assert_f(ret, "Content Protection not enabled on %s\n", hdcp_mst_output[count]->name);
> + }
> +
> + if (data.cp_tests & CP_LIC)
> + test_cp_lic_on_mst(hdcp_mst_output, valid_outputs, 0);
> +
> + /*
> + * Verify if CP is still enabled on other outputs by disabling CP on the first output.
> + */
> + igt_debug("CP Prop being UNDESIRED on %s\n", hdcp_mst_output[0]->name);
> + test_cp_disable(hdcp_mst_output[0], COMMIT_ATOMIC);
> +
> + /* CP is expected to be still enabled on other outputs*/
> + for (i = 1; i < valid_outputs; i++) {
> + /* Wait for the timeout to verify CP is not disabled */
> + ret = wait_for_prop_value(hdcp_mst_output[i], CP_UNDESIRED, KERNEL_DISABLE_TIME_ALLOWED_MSEC);
> + igt_assert_f(!ret, "Content Protection not enabled on %s\n", hdcp_mst_output[i]->name);
> + }
> +
> + if (data.cp_tests & CP_LIC)
> + test_cp_lic_on_mst(hdcp_mst_output, valid_outputs, 1);
> +}
> +
> static void test_content_protection_cleanup(void)
> {
> igt_display_t *display = &data.display;
> @@ -514,6 +699,31 @@ static void test_content_protection_cleanup(void)
> igt_info("CP Prop being UNDESIRED on %s\n", output->name);
> test_cp_disable(output, COMMIT_ATOMIC);
> }
> +
> + igt_remove_fb(data.drm_fd, &data.red);
> + igt_remove_fb(data.drm_fd, &data.green);
> +}
> +
> +static void create_fbs(void)
> +{
> + igt_output_t *output;
> + int width, height;
> + drmModeModeInfo *mode;
> +
> + for_each_connected_output(&data.display, output) {
> + mode = igt_output_get_mode(output);
> + igt_assert(mode);
> +
> + width = max(width, mode->hdisplay);
> + height = max(height, mode->vdisplay);
> + }
> +
> + igt_create_color_fb(data.drm_fd, width, height,
> + DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
> + 1.f, 0.f, 0.f, &data.red);
> + igt_create_color_fb(data.drm_fd, width, height,
> + DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
> + 0.f, 1.f, 0.f, &data.green);
> }
>
> igt_main
> @@ -522,6 +732,8 @@ igt_main
> data.drm_fd = drm_open_driver_master(DRIVER_ANY);
>
> igt_display_require(&data.display, data.drm_fd);
> +
> + create_fbs();
> }
>
> igt_subtest("legacy") {
> @@ -592,6 +804,28 @@ igt_main
> test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_0);
> }
>
> + igt_describe("Test Content protection over DP MST");
> + igt_subtest("dp-mst-type-0") {
> + test_content_protection_mst(HDCP_CONTENT_TYPE_0);
> + }
> +
> + igt_describe("Test Content protection over DP MST with LIC");
> + igt_subtest("dp-mst-lic-type-0") {
> + data.cp_tests = CP_LIC;
> + test_content_protection_mst(HDCP_CONTENT_TYPE_0);
> + }
> +
> + igt_describe("Test Content protection over DP MST");
> + igt_subtest("dp-mst-type-1") {
> + test_content_protection_mst(HDCP_CONTENT_TYPE_1);
> + }
> +
> + igt_describe("Test Content protection over DP MST with LIC");
> + igt_subtest("dp-mst-lic-type-1") {
> + data.cp_tests = CP_LIC;
> + test_content_protection_mst(HDCP_CONTENT_TYPE_1);
> + }
> +
> igt_fixture {
> test_content_protection_cleanup();
> igt_display_fini(&data.display);
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v8 1/2] tests/kms_content_protection: Add MST subtests
2021-02-22 5:12 ` Nautiyal, Ankit K
@ 2021-02-23 4:49 ` Karthik B S
0 siblings, 0 replies; 7+ messages in thread
From: Karthik B S @ 2021-02-23 4:49 UTC (permalink / raw)
To: Nautiyal, Ankit K, igt-dev
On 2/22/2021 10:42 AM, Nautiyal, Ankit K wrote:
> LGTM
>
> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com
> <mailto:ankit.k.nautiyal@intel.com>>
Thank you for the rb. This patch is now merged.
Thanks,
Karthik.B.S
>
> On 2/17/2021 11:56 AM, Karthik B S wrote:
>> Add subtests to verify content protection simultaneously on
>> multiple outputs on the same MST topology.
>>
>> v3: -Remove the logging which are no longer required. (Anshuman)
>> -Add logic to verify that CP is still enabled on other connectors
>> while disabling it on one of the connectors. (Anshuman)
>>
>> v4: -Rename is_output_support_cp_capable(). (Anshuman, Ram)
>> -Rephrase the comment in is_dp_mst_output. (Anshuman)
>> -Remove the redundant HDCP check hunk before HDCP disable.
>> (Anshuman)
>> -Check the link on the HDCP enabled outputs when one of the outputs
>> in the same DP MST topology is disabled. (Anshuman)
>> -Revert the change in test_content_protection_cleanup(). (Anshuman)
>> -Create fb's in a common function for both MST and SST. (Ram)
>> -Rename is_dp_mst_output() to output_is_dp_mst(). (Ram)
>> -Remove the redundant igt_debug() before HDCP enable. (Ram)
>> -Rephrase the igt_assert statement during HDCP enable. (Ram)
>> -Optimize the execution time by checking the link for all MST
>> connectors together. (Ram)
>> -No need of loop where we disable CP on one of the MST outputs.
>> (Ram)
>> -During verification by disabling one of the MST outputs,
>> check for the negative case until the required timeout. (Ram)
>>
>> v5: -Modify skip message when HDCP support is not present. (Anshuman)
>> -Remove the definition of color_t structure as it is no longer
>> used.
>>
>> v6: -Optimize execution time in LIC test. (Anshuman)
>>
>> v7: -Check HDCP capability after modeset on MST. (Anshuman)
>>
>> v8: -Use try_commit for MST modeset and skip the test on failure.
>> (Ankit)
>>
>> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
>> Signed-off-by: Karthik B S <karthik.b.s@intel.com>
>> ---
>> tests/kms_content_protection.c | 278 ++++++++++++++++++++++++++++++---
>> 1 file changed, 256 insertions(+), 22 deletions(-)
>>
>> diff --git a/tests/kms_content_protection.c
>> b/tests/kms_content_protection.c
>> index 303ed418..edd39ca2 100644
>> --- a/tests/kms_content_protection.c
>> +++ b/tests/kms_content_protection.c
>> @@ -179,16 +179,10 @@ static void modeset_with_fb(const enum pipe
>> pipe, igt_output_t *output,
>> igt_output_override_mode(output, &mode);
>> igt_output_set_pipe(output, pipe);
>> - igt_create_color_fb(display->drm_fd, mode.hdisplay,
>> mode.vdisplay,
>> - DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
>> - 1.f, 0.f, 0.f, &data.red);
>> - igt_create_color_fb(display->drm_fd, mode.hdisplay, mode.vdisplay,
>> - DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
>> - 0.f, 1.f, 0.f, &data.green);
>> -
>> primary = igt_output_get_plane_type(output,
>> DRM_PLANE_TYPE_PRIMARY);
>> igt_display_commit2(display, s);
>> igt_plane_set_fb(primary, &data.red);
>> + igt_fb_set_size(&data.red, primary, mode.hdisplay, mode.vdisplay);
>> /* Wait for Flip completion before starting the HDCP
>> authentication */
>> commit_display_and_wait_for_flip(s);
>> @@ -458,37 +452,83 @@ static bool sink_hdcp2_capable(igt_output_t
>> *output)
>> return strstr(buf, "HDCP2.2");
>> }
>> -static void
>> -test_content_protection(enum igt_commit_style s, int content_type)
>> +static void prepare_modeset_on_mst_output(igt_output_t *output, enum
>> pipe pipe)
>> {
>> - igt_display_t *display = &data.display;
>> - igt_output_t *output;
>> - int valid_tests = 0;
>> + drmModeConnectorPtr c = output->config.connector;
>> + drmModeModeInfo *mode;
>> + igt_plane_t *primary;
>> + int i, width, height;
>> - if (data.cp_tests & CP_MEI_RELOAD)
>> - igt_require_f(igt_kmod_is_loaded("mei_hdcp"),
>> - "mei_hdcp module is not loaded\n");
>> + mode = igt_output_get_mode(output);
>> - for_each_connected_output(display, output) {
>> + /*
>> + * TODO: Add logic to use the highest possible modes on each
>> output.
>> + * Currently using 2k modes by default on all the outputs.
>> + */
>> + igt_debug("Before mode override: Output %s Mode hdisplay %d Mode
>> vdisplay %d\n",
>> + output->name, mode->hdisplay, mode->vdisplay);
>> +
>> + if (mode->hdisplay > 1920 && mode->vdisplay > 1080) {
>> + for (i = 0; i < c->count_modes; i++) {
>> + if (c->modes[i].hdisplay <= 1920 && c->modes[i].vdisplay
>> <= 1080) {
>> + mode = &c->modes[i];
>> + igt_output_override_mode(output, mode);
>> + break;
>> + }
>> + }
>> + }
>> +
>> + igt_debug("After mode overide: Output %s Mode hdisplay %d Mode
>> vdisplay %d\n",
>> + output->name, mode->hdisplay, mode->vdisplay);
>> +
>> + width = mode->hdisplay;
>> + height = mode->vdisplay;
>> +
>> + igt_output_set_pipe(output, pipe);
>> + primary = igt_output_get_plane_type(output,
>> DRM_PLANE_TYPE_PRIMARY);
>> + igt_plane_set_fb(primary, NULL);
>> + igt_plane_set_fb(primary, pipe % 2 ? &data.red : &data.green);
>> + igt_fb_set_size(pipe % 2 ? &data.red : &data.green, primary,
>> width, height);
>> + igt_plane_set_size(primary, width, height);
>> +}
>> +
>> +static bool output_hdcp_capable(igt_output_t *output, int content_type)
>> +{
>> if (!output->props[IGT_CONNECTOR_CONTENT_PROTECTION])
>> - continue;
>> + return false;
>> if (!output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE] &&
>> content_type)
>> - continue;
>> -
>> - igt_info("CP Test execution on %s\n", output->name);
>> + return false;
>> if (content_type && !sink_hdcp2_capable(output)) {
>> igt_info("\tSkip %s (Sink has no HDCP2.2 support)\n",
>> output->name);
>> - continue;
>> + return false;
>> } else if (!sink_hdcp_capable(output)) {
>> igt_info("\tSkip %s (Sink has no HDCP support)\n",
>> output->name);
>> - continue;
>> + return false;
>> }
>> + return true;
>> +}
>> +
>> +static void
>> +test_content_protection(enum igt_commit_style s, int content_type)
>> +{
>> + igt_display_t *display = &data.display;
>> + igt_output_t *output;
>> + int valid_tests = 0;
>> +
>> + if (data.cp_tests & CP_MEI_RELOAD)
>> + igt_require_f(igt_kmod_is_loaded("mei_hdcp"),
>> + "mei_hdcp module is not loaded\n");
>> +
>> + for_each_connected_output(display, output) {
>> + if (!output_hdcp_capable(output, content_type))
>> + continue;
>> +
>> test_content_protection_on_output(output, s, content_type);
>> valid_tests++;
>> }
>> @@ -496,6 +536,151 @@ test_content_protection(enum igt_commit_style
>> s, int content_type)
>> igt_require_f(valid_tests, "No connector found with HDCP
>> capability\n");
>> }
>> +static int parse_path_blob(char *blob_data)
>> +{
>> + int connector_id;
>> + char *encoder;
>> +
>> + encoder = strtok(blob_data, ":");
>> + igt_assert_f(!strcmp(encoder, "mst"), "PATH connector property
>> expected to have 'mst'\n");
>> +
>> + connector_id = atoi(strtok(NULL, "-"));
>> +
>> + return connector_id;
>> +}
>> +
>> +static bool output_is_dp_mst(igt_output_t *output, int i)
>> +{
>> + drmModePropertyBlobPtr path_blob = NULL;
>> + uint64_t path_blob_id;
>> + drmModeConnector *connector = output->config.connector;
>> + struct kmstest_connector_config config;
>> + const char *encoder;
>> + int connector_id;
>> + static int prev_connector_id;
>> +
>> + kmstest_get_connector_config(data.drm_fd,
>> output->config.connector->connector_id, -1, &config);
>> + encoder = kmstest_encoder_type_str(config.encoder->encoder_type);
>> +
>> + if (strcmp(encoder, "DP MST"))
>> + return false;
>> +
>> + igt_assert(kmstest_get_property(data.drm_fd,
>> connector->connector_id,
>> + DRM_MODE_OBJECT_CONNECTOR, "PATH", NULL,
>> + &path_blob_id, NULL));
>> +
>> + igt_assert(path_blob = drmModeGetPropertyBlob(data.drm_fd,
>> path_blob_id));
>> +
>> + connector_id = parse_path_blob((char *) path_blob->data);
>> +
>> + /*
>> + * Discarding outputs of other DP MST topology.
>> + * Testing only on outputs on the topology we got previously
>> + */
>> + if (i == 0) {
>> + prev_connector_id = connector_id;
>> + } else {
>> + if (connector_id != prev_connector_id)
>> + return false;
>> + }
>> +
>> + drmModeFreePropertyBlob(path_blob);
>> +
>> + return true;
>> +}
>> +
>> +static void test_cp_lic_on_mst(igt_output_t *mst_outputs[], int
>> valid_outputs, bool first_output)
>> +{
>> + int ret, count;
>> + uint64_t val;
>> +
>> + /* Only wait for the first output, this optimizes the test
>> execution time */
>> + ret = wait_for_prop_value(mst_outputs[first_output], CP_DESIRED,
>> LIC_PERIOD_MSEC);
>> + igt_assert_f(!ret, "Content Protection LIC Failed on %s\n",
>> mst_outputs[0]->name);
>> +
>> + for (count = first_output + 1; count < valid_outputs; count++) {
>> + val = igt_output_get_prop(mst_outputs[count],
>> IGT_CONNECTOR_CONTENT_PROTECTION);
>> + igt_assert_f(val != CP_DESIRED, "Content Protection LIC
>> Failed on %s\n", mst_outputs[count]->name);
>> + }
>> +}
>> +
>> +static void
>> +test_content_protection_mst(int content_type)
>> +{
>> + igt_display_t *display = &data.display;
>> + igt_output_t *output;
>> + int valid_outputs = 0, dp_mst_outputs = 0, ret, count, max_pipe
>> = 0, i;
>> + enum pipe pipe;
>> + igt_output_t *mst_output[IGT_MAX_PIPES],
>> *hdcp_mst_output[IGT_MAX_PIPES];
>> +
>> + for_each_pipe(display, pipe)
>> + max_pipe++;
>> +
>> + pipe = PIPE_A;
>> +
>> + for_each_connected_output(display, output) {
>> + if (!output_is_dp_mst(output, dp_mst_outputs))
>> + continue;
>> +
>> + igt_assert_f(igt_pipe_connector_valid(pipe, output),
>> "Output-pipe combination invalid\n");
>> +
>> + prepare_modeset_on_mst_output(output, pipe);
>> + mst_output[dp_mst_outputs++] = output;
>> +
>> + pipe++;
>> +
>> + if (pipe > max_pipe)
>> + break;
>> + }
>> +
>> + igt_require_f(dp_mst_outputs > 1, "No DP MST set up with >= 2
>> outputs found in a single topology\n");
>> +
>> + ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
>> + igt_require_f(ret == 0, "Commit failure during MST modeset\n");
>> +
>> + for (count = 0; count < dp_mst_outputs; count++) {
>> + if (!output_hdcp_capable(mst_output[count], content_type))
>> + continue;
>> +
>> + hdcp_mst_output[valid_outputs++] = mst_output[count];
>> + }
>> +
>> + igt_require_f(valid_outputs > 1, "DP MST outputs do not have the
>> required HDCP support\n");
>> +
>> + for (count = 0; count < valid_outputs; count++) {
>> + igt_output_set_prop_value(hdcp_mst_output[count],
>> IGT_CONNECTOR_CONTENT_PROTECTION, CP_DESIRED);
>> +
>> + if (output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE])
>> + igt_output_set_prop_value(hdcp_mst_output[count],
>> IGT_CONNECTOR_HDCP_CONTENT_TYPE, content_type);
>> + }
>> +
>> + igt_display_commit2(display, COMMIT_ATOMIC);
>> +
>> + for (count = 0; count < valid_outputs; count++) {
>> + ret = wait_for_prop_value(hdcp_mst_output[count],
>> CP_ENABLED, KERNEL_AUTH_TIME_ALLOWED_MSEC);
>> + igt_assert_f(ret, "Content Protection not enabled on %s\n",
>> hdcp_mst_output[count]->name);
>> + }
>> +
>> + if (data.cp_tests & CP_LIC)
>> + test_cp_lic_on_mst(hdcp_mst_output, valid_outputs, 0);
>> +
>> + /*
>> + * Verify if CP is still enabled on other outputs by disabling
>> CP on the first output.
>> + */
>> + igt_debug("CP Prop being UNDESIRED on %s\n",
>> hdcp_mst_output[0]->name);
>> + test_cp_disable(hdcp_mst_output[0], COMMIT_ATOMIC);
>> +
>> + /* CP is expected to be still enabled on other outputs*/
>> + for (i = 1; i < valid_outputs; i++) {
>> + /* Wait for the timeout to verify CP is not disabled */
>> + ret = wait_for_prop_value(hdcp_mst_output[i], CP_UNDESIRED,
>> KERNEL_DISABLE_TIME_ALLOWED_MSEC);
>> + igt_assert_f(!ret, "Content Protection not enabled on %s\n",
>> hdcp_mst_output[i]->name);
>> + }
>> +
>> + if (data.cp_tests & CP_LIC)
>> + test_cp_lic_on_mst(hdcp_mst_output, valid_outputs, 1);
>> +}
>> +
>> static void test_content_protection_cleanup(void)
>> {
>> igt_display_t *display = &data.display;
>> @@ -514,6 +699,31 @@ static void test_content_protection_cleanup(void)
>> igt_info("CP Prop being UNDESIRED on %s\n", output->name);
>> test_cp_disable(output, COMMIT_ATOMIC);
>> }
>> +
>> + igt_remove_fb(data.drm_fd, &data.red);
>> + igt_remove_fb(data.drm_fd, &data.green);
>> +}
>> +
>> +static void create_fbs(void)
>> +{
>> + igt_output_t *output;
>> + int width, height;
>> + drmModeModeInfo *mode;
>> +
>> + for_each_connected_output(&data.display, output) {
>> + mode = igt_output_get_mode(output);
>> + igt_assert(mode);
>> +
>> + width = max(width, mode->hdisplay);
>> + height = max(height, mode->vdisplay);
>> + }
>> +
>> + igt_create_color_fb(data.drm_fd, width, height,
>> + DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
>> + 1.f, 0.f, 0.f, &data.red);
>> + igt_create_color_fb(data.drm_fd, width, height,
>> + DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE,
>> + 0.f, 1.f, 0.f, &data.green);
>> }
>> igt_main
>> @@ -522,6 +732,8 @@ igt_main
>> data.drm_fd = drm_open_driver_master(DRIVER_ANY);
>> igt_display_require(&data.display, data.drm_fd);
>> +
>> + create_fbs();
>> }
>> igt_subtest("legacy") {
>> @@ -592,6 +804,28 @@ igt_main
>> test_content_protection(COMMIT_ATOMIC, HDCP_CONTENT_TYPE_0);
>> }
>> + igt_describe("Test Content protection over DP MST");
>> + igt_subtest("dp-mst-type-0") {
>> + test_content_protection_mst(HDCP_CONTENT_TYPE_0);
>> + }
>> +
>> + igt_describe("Test Content protection over DP MST with LIC");
>> + igt_subtest("dp-mst-lic-type-0") {
>> + data.cp_tests = CP_LIC;
>> + test_content_protection_mst(HDCP_CONTENT_TYPE_0);
>> + }
>> +
>> + igt_describe("Test Content protection over DP MST");
>> + igt_subtest("dp-mst-type-1") {
>> + test_content_protection_mst(HDCP_CONTENT_TYPE_1);
>> + }
>> +
>> + igt_describe("Test Content protection over DP MST with LIC");
>> + igt_subtest("dp-mst-lic-type-1") {
>> + data.cp_tests = CP_LIC;
>> + test_content_protection_mst(HDCP_CONTENT_TYPE_1);
>> + }
>> +
>> igt_fixture {
>> test_content_protection_cleanup();
>> igt_display_fini(&data.display);
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-02-23 4:49 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-17 6:26 [igt-dev] [PATCH i-g-t v8 0/2] Add subtests for HDCP over MST Karthik B S
2021-02-17 6:26 ` [igt-dev] [PATCH i-g-t v8 1/2] tests/kms_content_protection: Add MST subtests Karthik B S
2021-02-22 5:12 ` Nautiyal, Ankit K
2021-02-23 4:49 ` Karthik B S
2021-02-17 6:26 ` [igt-dev] [PATCH i-g-t v8 2/2] CI HAX: Add MST tests to fast feedback testlist Karthik B S
2021-02-17 7:36 ` [igt-dev] ✓ Fi.CI.BAT: success for Add subtests for HDCP over MST (rev7) Patchwork
2021-02-17 8:39 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.