All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v6 0/2] Add subtests for HDCP over MST
@ 2021-02-04  4:09 Karthik B S
  2021-02-04  4:09 ` [igt-dev] [PATCH i-g-t v6 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-04  4:09 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        | 277 ++++++++++++++++++++++++--
 2 files changed, 261 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 v6 1/2] tests/kms_content_protection: Add MST subtests
  2021-02-04  4:09 [igt-dev] [PATCH i-g-t v6 0/2] Add subtests for HDCP over MST Karthik B S
@ 2021-02-04  4:09 ` Karthik B S
  2021-02-04  4:53   ` Gupta, Anshuman
  2021-02-04  4:09 ` [igt-dev] [PATCH i-g-t v6 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-04  4:09 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)

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 | 277 ++++++++++++++++++++++++++++++---
 1 file changed, 255 insertions(+), 22 deletions(-)

diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index 303ed418..793f6e11 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,150 @@ 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];
+
+	for_each_connected_output(display, output) {
+		if (!output_is_dp_mst(output, valid_outputs))
+			continue;
+
+		dp_mst_outputs++;
+
+		if (!output_hdcp_capable(output, content_type))
+			continue;
+
+		mst_output[valid_outputs] = output;
+		valid_outputs++;
+	}
+
+	igt_require_f(dp_mst_outputs > 1, "No DP MST set up with >= 2 outputs found in a single topology\n");
+	igt_require_f(valid_outputs > 1, "DP MST outputs do not have the required HDCP support\n");
+
+	for_each_pipe(display, pipe)
+		max_pipe++;
+
+	if (valid_outputs > max_pipe)
+		valid_outputs = max_pipe;
+
+	pipe = PIPE_A;
+
+	for (count = 0; count < valid_outputs; count++) {
+		igt_assert_f(igt_pipe_connector_valid(pipe, mst_output[count]), "Output-pipe combination invalid\n");
+
+		prepare_modeset_on_mst_output(mst_output[count], pipe);
+		pipe++;
+	}
+
+	igt_display_commit2(display, COMMIT_ATOMIC);
+
+	for (count = 0; count < valid_outputs; count++) {
+		igt_output_set_prop_value(mst_output[count], IGT_CONNECTOR_CONTENT_PROTECTION, CP_DESIRED);
+
+		if (output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE])
+			igt_output_set_prop_value(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(mst_output[count], CP_ENABLED, KERNEL_AUTH_TIME_ALLOWED_MSEC);
+		igt_assert_f(ret, "Content Protection not enabled on %s\n", mst_output[count]->name);
+	}
+
+	if (data.cp_tests & CP_LIC)
+		test_cp_lic_on_mst(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", mst_output[0]->name);
+	test_cp_disable(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(mst_output[i], CP_UNDESIRED, KERNEL_DISABLE_TIME_ALLOWED_MSEC);
+		igt_assert_f(!ret, "Content Protection not enabled on %s\n", mst_output[i]->name);
+	}
+
+	if (data.cp_tests & CP_LIC)
+		test_cp_lic_on_mst(mst_output, valid_outputs, 1);
+}
+
 static void test_content_protection_cleanup(void)
 {
 	igt_display_t *display = &data.display;
@@ -514,6 +698,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 +731,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 +803,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 v6 2/2] CI HAX: Add MST tests to fast feedback testlist
  2021-02-04  4:09 [igt-dev] [PATCH i-g-t v6 0/2] Add subtests for HDCP over MST Karthik B S
  2021-02-04  4:09 ` [igt-dev] [PATCH i-g-t v6 1/2] tests/kms_content_protection: Add MST subtests Karthik B S
@ 2021-02-04  4:09 ` Karthik B S
  2021-02-04  5:24 ` [igt-dev] ✓ Fi.CI.BAT: success for Add subtests for HDCP over MST (rev5) Patchwork
  2021-02-04  7:53 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 0 replies; 7+ messages in thread
From: Karthik B S @ 2021-02-04  4:09 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

* Re: [igt-dev] [PATCH i-g-t v6 1/2] tests/kms_content_protection: Add MST subtests
  2021-02-04  4:09 ` [igt-dev] [PATCH i-g-t v6 1/2] tests/kms_content_protection: Add MST subtests Karthik B S
@ 2021-02-04  4:53   ` Gupta, Anshuman
  2021-02-04  8:02     ` Karthik B S
  0 siblings, 1 reply; 7+ messages in thread
From: Gupta, Anshuman @ 2021-02-04  4:53 UTC (permalink / raw)
  To: B S, Karthik, igt-dev



> -----Original Message-----
> From: Karthik B S <karthik.b.s@intel.com>
> Sent: Thursday, February 4, 2021 9:40 AM
> To: igt-dev@lists.freedesktop.org
> Cc: Gupta, Anshuman <anshuman.gupta@intel.com>; C, Ramalingam
> <ramalingam.c@intel.com>; B S, Karthik <karthik.b.s@intel.com>
> Subject: [PATCH i-g-t v6 1/2] tests/kms_content_protection: Add MST
> subtests
> 
> 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)
> 
> 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 | 277
> ++++++++++++++++++++++++++++++---
>  1 file changed, 255 insertions(+), 22 deletions(-)
> 
> diff --git a/tests/kms_content_protection.c
> b/tests/kms_content_protection.c index 303ed418..793f6e11 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,150 @@ 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];
> +
> +	for_each_connected_output(display, output) {
> +		if (!output_is_dp_mst(output, valid_outputs))
> +			continue;
> +
> +		dp_mst_outputs++;
> +
> +		if (!output_hdcp_capable(output, content_type))
Let's check hdcp capability after modeset on MST , we can't pre-assume modeset being done
for multiple streams, without modeset we may  not get hdcp capability. 
> +			continue;
> +
> +		mst_output[valid_outputs] = output;
> +		valid_outputs++;
> +	}
> +
> +	igt_require_f(dp_mst_outputs > 1, "No DP MST set up with >= 2
> outputs found in a single topology\n");
> +	igt_require_f(valid_outputs > 1, "DP MST outputs do not have the
> +required HDCP support\n");
> +
> +	for_each_pipe(display, pipe)
> +		max_pipe++;
> +
> +	if (valid_outputs > max_pipe)
> +		valid_outputs = max_pipe;
> +
> +	pipe = PIPE_A;
> +
> +	for (count = 0; count < valid_outputs; count++) {
> +		igt_assert_f(igt_pipe_connector_valid(pipe,
> mst_output[count]),
> +"Output-pipe combination invalid\n");
> +
> +		prepare_modeset_on_mst_output(mst_output[count],
> pipe);
> +		pipe++;
> +	}
> +
> +	igt_display_commit2(display, COMMIT_ATOMIC);
> +
> +	for (count = 0; count < valid_outputs; count++) {
> +		igt_output_set_prop_value(mst_output[count],
> +IGT_CONNECTOR_CONTENT_PROTECTION, CP_DESIRED);
> +
> +		if (output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE])
> +			igt_output_set_prop_value(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(mst_output[count],
> CP_ENABLED, KERNEL_AUTH_TIME_ALLOWED_MSEC);
> +		igt_assert_f(ret, "Content Protection not enabled on %s\n",
> mst_output[count]->name);
> +	}
> +
> +	if (data.cp_tests & CP_LIC)
> +		test_cp_lic_on_mst(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", mst_output[0]-
> >name);
> +	test_cp_disable(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(mst_output[i], CP_UNDESIRED,
> KERNEL_DISABLE_TIME_ALLOWED_MSEC);
> +		igt_assert_f(!ret, "Content Protection not enabled on %s\n",
> mst_output[i]->name);
> +	}
> +
> +	if (data.cp_tests & CP_LIC)
> +		test_cp_lic_on_mst(mst_output, valid_outputs, 1); }
> +
>  static void test_content_protection_cleanup(void)
>  {
>  	igt_display_t *display = &data.display; @@ -514,6 +698,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 +731,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 +803,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	[flat|nested] 7+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Add subtests for HDCP over MST (rev5)
  2021-02-04  4:09 [igt-dev] [PATCH i-g-t v6 0/2] Add subtests for HDCP over MST Karthik B S
  2021-02-04  4:09 ` [igt-dev] [PATCH i-g-t v6 1/2] tests/kms_content_protection: Add MST subtests Karthik B S
  2021-02-04  4:09 ` [igt-dev] [PATCH i-g-t v6 2/2] CI HAX: Add MST tests to fast feedback testlist Karthik B S
@ 2021-02-04  5:24 ` Patchwork
  2021-02-04  7:53 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2021-02-04  5:24 UTC (permalink / raw)
  To: Karthik B S; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 10722 bytes --]

== Series Details ==

Series: Add subtests for HDCP over MST (rev5)
URL   : https://patchwork.freedesktop.org/series/82987/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_9728 -> IGTPW_5476
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_5476:

### 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_5476/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_5476/fi-ehl-1/igt@kms_content_protection@dp-mst-lic-type-0.html
    - fi-tgl-y:           NOTRUN -> [SKIP][3] +3 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-tgl-y/igt@kms_content_protection@dp-mst-lic-type-0.html

  * {igt@kms_content_protection@dp-mst-lic-type-1} (NEW):
    - fi-cml-u2:          NOTRUN -> [SKIP][4] +3 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/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_5476/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_5476/fi-cml-s/igt@kms_content_protection@dp-mst-lic-type-1.html
    - {fi-hsw-gt1}:       NOTRUN -> [FAIL][7] +3 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-hsw-gt1/igt@kms_content_protection@dp-mst-lic-type-1.html

  * {igt@kms_content_protection@dp-mst-type-0} (NEW):
    - {fi-tgl-dsi}:       NOTRUN -> [SKIP][8] +3 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-tgl-dsi/igt@kms_content_protection@dp-mst-type-0.html
    - {fi-rkl-11500t}:    NOTRUN -> [SKIP][9] +3 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-rkl-11500t/igt@kms_content_protection@dp-mst-type-0.html
    - fi-kbl-guc:         NOTRUN -> [FAIL][10] +3 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-kbl-guc/igt@kms_content_protection@dp-mst-type-0.html
    - fi-bsw-nick:        NOTRUN -> [FAIL][11] +3 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-bsw-nick/igt@kms_content_protection@dp-mst-type-0.html

  * {igt@kms_content_protection@dp-mst-type-1} (NEW):
    - fi-icl-u2:          NOTRUN -> [SKIP][12] +3 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-icl-u2/igt@kms_content_protection@dp-mst-type-1.html

  
New tests
---------

  New tests have been introduced between CI_DRM_9728 and IGTPW_5476:

### New IGT tests (4) ###

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - Statuses : 3 fail(s) 32 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - Statuses : 3 fail(s) 32 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_content_protection@dp-mst-type-0:
    - Statuses : 3 fail(s) 32 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_content_protection@dp-mst-type-1:
    - Statuses : 3 fail(s) 32 skip(s)
    - Exec time: [0.0, 0.00] s

  

Known issues
------------

  Here are the changes found in IGTPW_5476 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * {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_5476/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_5476/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_5476/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_5476/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_5476/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_5476/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_5476/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_5476/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_5476/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_5476/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_5476/fi-ivb-3770/igt@kms_content_protection@dp-mst-lic-type-1.html
    - fi-skl-guc:         NOTRUN -> [SKIP][24] ([fdo#109271]) +3 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-skl-guc/igt@kms_content_protection@dp-mst-lic-type-1.html

  * {igt@kms_content_protection@dp-mst-type-0} (NEW):
    - fi-glk-dsi:         NOTRUN -> [SKIP][25] ([fdo#109271]) +3 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-glk-dsi/igt@kms_content_protection@dp-mst-type-0.html
    - fi-kbl-r:           NOTRUN -> [SKIP][26] ([fdo#109271]) +3 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-kbl-r/igt@kms_content_protection@dp-mst-type-0.html
    - fi-kbl-7500u:       NOTRUN -> [SKIP][27] ([fdo#109271]) +3 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-kbl-7500u/igt@kms_content_protection@dp-mst-type-0.html
    - fi-cfl-8109u:       NOTRUN -> [SKIP][28] ([fdo#109271]) +3 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-cfl-8109u/igt@kms_content_protection@dp-mst-type-0.html
    - fi-bdw-5557u:       NOTRUN -> [SKIP][29] ([fdo#109271]) +3 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/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][30] ([fdo#109271]) +3 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-skl-6600u/igt@kms_content_protection@dp-mst-type-1.html
    - fi-pnv-d510:        NOTRUN -> [SKIP][31] ([fdo#109271]) +3 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-pnv-d510/igt@kms_content_protection@dp-mst-type-1.html
    - fi-byt-j1900:       NOTRUN -> [SKIP][32] ([fdo#109271]) +3 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-byt-j1900/igt@kms_content_protection@dp-mst-type-1.html
    - fi-cfl-guc:         NOTRUN -> [SKIP][33] ([fdo#109271]) +3 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-cfl-guc/igt@kms_content_protection@dp-mst-type-1.html
    - fi-kbl-soraka:      NOTRUN -> [SKIP][34] ([fdo#109271]) +3 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-kbl-soraka/igt@kms_content_protection@dp-mst-type-1.html
    - fi-bsw-kefka:       NOTRUN -> [SKIP][35] ([fdo#109271]) +3 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-bsw-kefka/igt@kms_content_protection@dp-mst-type-1.html

  * igt@prime_vgem@basic-gtt:
    - fi-tgl-y:           [PASS][36] -> [DMESG-WARN][37] ([i915#402]) +1 similar issue
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/fi-tgl-y/igt@prime_vgem@basic-gtt.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-tgl-y/igt@prime_vgem@basic-gtt.html

  
#### Possible fixes ####

  * igt@gem_ringfill@basic-all:
    - fi-tgl-y:           [DMESG-WARN][38] ([i915#402]) -> [PASS][39] +1 similar issue
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/fi-tgl-y/igt@gem_ringfill@basic-all.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-tgl-y/igt@gem_ringfill@basic-all.html

  * igt@i915_selftest@live@client:
    - fi-glk-dsi:         [DMESG-FAIL][40] -> [PASS][41]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/fi-glk-dsi/igt@i915_selftest@live@client.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/fi-glk-dsi/igt@i915_selftest@live@client.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#402]: https://gitlab.freedesktop.org/drm/intel/issues/402


Participating hosts (44 -> 38)
------------------------------

  Missing    (6): fi-jsl-1 fi-ilk-m540 fi-bsw-cyan fi-ctg-p8600 fi-dg1-1 fi-bdw-samus 


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5989 -> IGTPW_5476

  CI-20190529: 20190529
  CI_DRM_9728: 5e206bdabfde5ddd44a6aa7a0ab02bd9334d62b9 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5476: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/index.html
  IGT_5989: 57a96840fd5aa7ec48c2f84b30e0420f84ec7386 @ 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_5476/index.html

[-- Attachment #1.2: Type: text/html, Size: 13698 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 (rev5)
  2021-02-04  4:09 [igt-dev] [PATCH i-g-t v6 0/2] Add subtests for HDCP over MST Karthik B S
                   ` (2 preceding siblings ...)
  2021-02-04  5:24 ` [igt-dev] ✓ Fi.CI.BAT: success for Add subtests for HDCP over MST (rev5) Patchwork
@ 2021-02-04  7:53 ` Patchwork
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2021-02-04  7:53 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 (rev5)
URL   : https://patchwork.freedesktop.org/series/82987/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_9728_full -> IGTPW_5476_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_5476_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_5476/shard-iclb5/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_5476/shard-tglb5/igt@kms_content_protection@dp-mst-type-0.html

  
New tests
---------

  New tests have been introduced between CI_DRM_9728_full and IGTPW_5476_full:

### New IGT tests (4) ###

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - Statuses : 7 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, 0.00] s

  * igt@kms_content_protection@dp-mst-type-0:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  * igt@kms_content_protection@dp-mst-type-1:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  

Known issues
------------

  Here are the changes found in IGTPW_5476_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_persistence@clone:
    - shard-snb:          NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#1099])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-snb4/igt@gem_ctx_persistence@clone.html
    - shard-hsw:          NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#1099])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-hsw2/igt@gem_ctx_persistence@clone.html

  * igt@gem_ctx_persistence@close-replace-race:
    - shard-glk:          [PASS][5] -> [TIMEOUT][6] ([i915#2918])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-glk9/igt@gem_ctx_persistence@close-replace-race.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-glk3/igt@gem_ctx_persistence@close-replace-race.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-tglb:         [PASS][7] -> [FAIL][8] ([i915#2842])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-tglb3/igt@gem_exec_fair@basic-none-share@rcs0.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb8/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-kbl:          NOTRUN -> [FAIL][9] ([i915#2842])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl6/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][10] ([i915#2842])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb1/igt@gem_exec_fair@basic-none@vcs1.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-apl:          [PASS][11] -> [FAIL][12] ([i915#2842])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-apl7/igt@gem_exec_fair@basic-none@vecs0.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl3/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_reloc@basic-parallel:
    - shard-kbl:          NOTRUN -> [TIMEOUT][13] ([i915#1729])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl4/igt@gem_exec_reloc@basic-parallel.html
    - shard-apl:          NOTRUN -> [TIMEOUT][14] ([i915#1729])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl1/igt@gem_exec_reloc@basic-parallel.html

  * igt@gem_exec_reloc@basic-wide-active@bcs0:
    - shard-apl:          NOTRUN -> [FAIL][15] ([i915#2389]) +3 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl8/igt@gem_exec_reloc@basic-wide-active@bcs0.html

  * igt@gem_exec_reloc@basic-wide-active@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][16] ([i915#2389])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb2/igt@gem_exec_reloc@basic-wide-active@vcs1.html

  * igt@gem_exec_whisper@basic-queues-forked-all:
    - shard-glk:          [PASS][17] -> [DMESG-WARN][18] ([i915#118] / [i915#95]) +1 similar issue
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-glk1/igt@gem_exec_whisper@basic-queues-forked-all.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-glk8/igt@gem_exec_whisper@basic-queues-forked-all.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-apl:          NOTRUN -> [WARN][19] ([i915#2658])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl8/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled:
    - shard-iclb:         NOTRUN -> [SKIP][20] ([i915#768])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb6/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled.html

  * igt@gem_userptr_blits@process-exit-mmap@wb:
    - shard-apl:          NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#1699]) +3 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl3/igt@gem_userptr_blits@process-exit-mmap@wb.html

  * igt@gem_userptr_blits@vma-merge:
    - shard-kbl:          NOTRUN -> [INCOMPLETE][22] ([i915#2502] / [i915#2667])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl1/igt@gem_userptr_blits@vma-merge.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-apl:          NOTRUN -> [DMESG-WARN][23] ([i915#180])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl1/igt@gem_workarounds@suspend-resume-fd.html

  * igt@gen7_exec_parse@oacontrol-tracking:
    - shard-tglb:         NOTRUN -> [SKIP][24] ([fdo#109289])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb5/igt@gen7_exec_parse@oacontrol-tracking.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-iclb:         NOTRUN -> [SKIP][25] ([fdo#112306])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb2/igt@gen9_exec_parse@allowed-all.html

  * igt@gen9_exec_parse@basic-rejected-ctx-param:
    - shard-tglb:         NOTRUN -> [SKIP][26] ([fdo#112306]) +2 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb8/igt@gen9_exec_parse@basic-rejected-ctx-param.html

  * igt@gen9_exec_parse@shadow-peek:
    - shard-tglb:         NOTRUN -> [SKIP][27] ([i915#2856])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb5/igt@gen9_exec_parse@shadow-peek.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-tglb:         NOTRUN -> [FAIL][28] ([i915#454])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb8/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [PASS][29] -> [FAIL][30] ([i915#454])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-iclb4/igt@i915_pm_dc@dc6-psr.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb6/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-hsw:          [PASS][31] -> [WARN][32] ([i915#1519])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-hsw4/igt@i915_pm_rc6_residency@rc6-idle.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-hsw4/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@i915_query@query-topology-unsupported:
    - shard-tglb:         NOTRUN -> [SKIP][33] ([fdo#109302])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb1/igt@i915_query@query-topology-unsupported.html

  * igt@kms_async_flips@test-time-stamp:
    - shard-tglb:         NOTRUN -> [FAIL][34] ([i915#2597])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb6/igt@kms_async_flips@test-time-stamp.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-90:
    - shard-tglb:         NOTRUN -> [SKIP][35] ([fdo#111614])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb5/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-tglb:         NOTRUN -> [SKIP][36] ([fdo#111615]) +1 similar issue
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb1/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_chamelium@dp-edid-change-during-suspend:
    - shard-apl:          NOTRUN -> [SKIP][37] ([fdo#109271] / [fdo#111827]) +11 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl8/igt@kms_chamelium@dp-edid-change-during-suspend.html

  * igt@kms_chamelium@dp-hpd-with-enabled-mode:
    - shard-glk:          NOTRUN -> [SKIP][38] ([fdo#109271] / [fdo#111827]) +1 similar issue
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-glk6/igt@kms_chamelium@dp-hpd-with-enabled-mode.html
    - shard-iclb:         NOTRUN -> [SKIP][39] ([fdo#109284] / [fdo#111827])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb1/igt@kms_chamelium@dp-hpd-with-enabled-mode.html

  * igt@kms_color@pipe-b-degamma:
    - shard-tglb:         NOTRUN -> [FAIL][40] ([i915#1149])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb1/igt@kms_color@pipe-b-degamma.html

  * igt@kms_color_chamelium@pipe-a-ctm-0-75:
    - shard-kbl:          NOTRUN -> [SKIP][41] ([fdo#109271] / [fdo#111827]) +19 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl4/igt@kms_color_chamelium@pipe-a-ctm-0-75.html

  * igt@kms_color_chamelium@pipe-d-ctm-0-5:
    - shard-snb:          NOTRUN -> [SKIP][42] ([fdo#109271] / [fdo#111827]) +1 similar issue
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-snb2/igt@kms_color_chamelium@pipe-d-ctm-0-5.html
    - shard-hsw:          NOTRUN -> [SKIP][43] ([fdo#109271] / [fdo#111827]) +1 similar issue
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-hsw7/igt@kms_color_chamelium@pipe-d-ctm-0-5.html
    - shard-iclb:         NOTRUN -> [SKIP][44] ([fdo#109278] / [fdo#109284] / [fdo#111827])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb3/igt@kms_color_chamelium@pipe-d-ctm-0-5.html

  * igt@kms_color_chamelium@pipe-d-ctm-red-to-blue:
    - shard-tglb:         NOTRUN -> [SKIP][45] ([fdo#109284] / [fdo#111827]) +4 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb2/igt@kms_color_chamelium@pipe-d-ctm-red-to-blue.html

  * {igt@kms_content_protection@dp-mst-type-1} (NEW):
    - shard-hsw:          NOTRUN -> [SKIP][46] ([fdo#109271]) +41 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-hsw8/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@srm:
    - shard-kbl:          NOTRUN -> [TIMEOUT][47] ([i915#1319])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl7/igt@kms_content_protection@srm.html
    - shard-apl:          NOTRUN -> [TIMEOUT][48] ([i915#1319])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl4/igt@kms_content_protection@srm.html

  * igt@kms_cursor_crc@pipe-b-cursor-256x256-random:
    - shard-kbl:          [PASS][49] -> [FAIL][50] ([i915#54])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-kbl7/igt@kms_cursor_crc@pipe-b-cursor-256x256-random.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl1/igt@kms_cursor_crc@pipe-b-cursor-256x256-random.html
    - shard-apl:          [PASS][51] -> [FAIL][52] ([i915#54])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-apl3/igt@kms_cursor_crc@pipe-b-cursor-256x256-random.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl1/igt@kms_cursor_crc@pipe-b-cursor-256x256-random.html

  * igt@kms_cursor_crc@pipe-b-cursor-suspend:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][53] ([i915#180])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl4/igt@kms_cursor_crc@pipe-b-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-c-cursor-512x170-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][54] ([fdo#109279]) +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb2/igt@kms_cursor_crc@pipe-c-cursor-512x170-onscreen.html

  * igt@kms_cursor_edge_walk@pipe-d-256x256-right-edge:
    - shard-iclb:         NOTRUN -> [SKIP][55] ([fdo#109278]) +4 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb8/igt@kms_cursor_edge_walk@pipe-d-256x256-right-edge.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic:
    - shard-snb:          NOTRUN -> [SKIP][56] ([fdo#109271]) +55 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-snb2/igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-iclb:         NOTRUN -> [SKIP][57] ([fdo#109274] / [fdo#109278]) +2 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb3/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
    - shard-iclb:         NOTRUN -> [SKIP][58] ([fdo#109274])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb4/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-tglb:         [PASS][59] -> [FAIL][60] ([i915#2598])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-tglb2/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb3/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs:
    - shard-kbl:          NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#2672])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile:
    - shard-apl:          NOTRUN -> [SKIP][62] ([fdo#109271] / [i915#2642])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl1/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html
    - shard-glk:          NOTRUN -> [SKIP][63] ([fdo#109271] / [i915#2642])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-glk9/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html
    - shard-kbl:          NOTRUN -> [SKIP][64] ([fdo#109271] / [i915#2642])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile:
    - shard-kbl:          NOTRUN -> [FAIL][65] ([i915#2641])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-iclb:         NOTRUN -> [SKIP][66] ([fdo#109280]) +6 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack:
    - shard-tglb:         NOTRUN -> [SKIP][67] ([fdo#111825]) +28 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb2/igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-pgflip-blt:
    - shard-glk:          NOTRUN -> [SKIP][68] ([fdo#109271]) +24 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-glk3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc:
    - shard-kbl:          NOTRUN -> [SKIP][69] ([fdo#109271]) +178 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl4/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-tglb:         NOTRUN -> [SKIP][70] ([i915#1839]) +1 similar issue
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
    - shard-iclb:         NOTRUN -> [SKIP][71] ([i915#1839])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d:
    - shard-kbl:          NOTRUN -> [SKIP][72] ([fdo#109271] / [i915#533])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl6/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-kbl:          [PASS][73] -> [DMESG-WARN][74] ([i915#180]) +3 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-kbl1/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-basic:
    - shard-apl:          NOTRUN -> [FAIL][75] ([fdo#108145] / [i915#265]) +1 similar issue
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl1/igt@kms_plane_alpha_blend@pipe-b-alpha-basic.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb:
    - shard-kbl:          NOTRUN -> [FAIL][76] ([i915#265])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl7/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
    - shard-kbl:          NOTRUN -> [FAIL][77] ([fdo#108145] / [i915#265]) +3 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl7/igt@kms_plane_alpha_blend@pipe-c-alpha-7efc.html

  * igt@kms_plane_multiple@atomic-pipe-d-tiling-yf:
    - shard-tglb:         NOTRUN -> [SKIP][78] ([fdo#112054])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb8/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1:
    - shard-tglb:         NOTRUN -> [SKIP][79] ([i915#2920]) +2 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb8/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1.html
    - shard-apl:          NOTRUN -> [SKIP][80] ([fdo#109271] / [i915#658]) +2 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl4/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3:
    - shard-kbl:          NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#658]) +4 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl2/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-1:
    - shard-glk:          NOTRUN -> [SKIP][82] ([fdo#109271] / [i915#658])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-glk7/igt@kms_psr2_sf@plane-move-sf-dmg-area-1.html
    - shard-iclb:         NOTRUN -> [SKIP][83] ([i915#658])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb5/igt@kms_psr2_sf@plane-move-sf-dmg-area-1.html

  * igt@kms_psr@psr2_dpms:
    - shard-hsw:          NOTRUN -> [SKIP][84] ([fdo#109271] / [i915#1072])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-hsw1/igt@kms_psr@psr2_dpms.html

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         [PASS][85] -> [SKIP][86] ([fdo#109441]) +1 similar issue
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb8/igt@kms_psr@psr2_primary_mmap_cpu.html

  * igt@kms_sysfs_edid_timing:
    - shard-kbl:          NOTRUN -> [FAIL][87] ([IGT#2])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl2/igt@kms_sysfs_edid_timing.html

  * igt@kms_vblank@pipe-d-wait-forked-busy:
    - shard-hsw:          NOTRUN -> [SKIP][88] ([fdo#109271] / [i915#533]) +4 similar issues
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-hsw4/igt@kms_vblank@pipe-d-wait-forked-busy.html

  * igt@kms_vblank@pipe-d-wait-forked-hang:
    - shard-apl:          NOTRUN -> [SKIP][89] ([fdo#109271]) +149 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl7/igt@kms_vblank@pipe-d-wait-forked-hang.html

  * igt@kms_writeback@writeback-check-output:
    - shard-tglb:         NOTRUN -> [SKIP][90] ([i915#2437])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb8/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-apl:          NOTRUN -> [SKIP][91] ([fdo#109271] / [i915#2437])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl8/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-kbl:          NOTRUN -> [SKIP][92] ([fdo#109271] / [i915#2437])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl1/igt@kms_writeback@writeback-pixel-formats.html

  * igt@nouveau_crc@pipe-c-source-outp-inactive:
    - shard-tglb:         NOTRUN -> [SKIP][93] ([i915#2530])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb5/igt@nouveau_crc@pipe-c-source-outp-inactive.html

  * igt@perf@blocking:
    - shard-hsw:          [PASS][94] -> [SKIP][95] ([fdo#109271])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-hsw1/igt@perf@blocking.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-hsw1/igt@perf@blocking.html
    - shard-glk:          [PASS][96] -> [SKIP][97] ([fdo#109271] / [i915#1354])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-glk4/igt@perf@blocking.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-glk2/igt@perf@blocking.html
    - shard-tglb:         [PASS][98] -> [SKIP][99] ([i915#1354])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-tglb8/igt@perf@blocking.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb3/igt@perf@blocking.html
    - shard-apl:          [PASS][100] -> [SKIP][101] ([fdo#109271] / [i915#1354])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-apl7/igt@perf@blocking.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl8/igt@perf@blocking.html
    - shard-iclb:         [PASS][102] -> [SKIP][103] ([i915#1354])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-iclb8/igt@perf@blocking.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb2/igt@perf@blocking.html

  * igt@perf_pmu@event-wait@rcs0:
    - shard-tglb:         NOTRUN -> [SKIP][104] ([fdo#112283])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb2/igt@perf_pmu@event-wait@rcs0.html

  * igt@prime_nv_test@i915_import_pread_pwrite:
    - shard-tglb:         NOTRUN -> [SKIP][105] ([fdo#109291]) +1 similar issue
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb5/igt@prime_nv_test@i915_import_pread_pwrite.html
    - shard-iclb:         NOTRUN -> [SKIP][106] ([fdo#109291])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb1/igt@prime_nv_test@i915_import_pread_pwrite.html

  
#### Possible fixes ####

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [FAIL][107] ([i915#2842]) -> [PASS][108] +1 similar issue
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-tglb1/igt@gem_exec_fair@basic-flow@rcs0.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb5/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs1:
    - shard-kbl:          [FAIL][109] ([i915#2842]) -> [PASS][110] +1 similar issue
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-kbl2/igt@gem_exec_fair@basic-none@vcs1.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl2/igt@gem_exec_fair@basic-none@vcs1.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-iclb:         [FAIL][111] ([i915#2842]) -> [PASS][112]
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-iclb6/igt@gem_exec_fair@basic-pace@rcs0.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb2/igt@gem_exec_fair@basic-pace@rcs0.html
    - shard-glk:          [FAIL][113] ([i915#2842]) -> [PASS][114]
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-glk7/igt@gem_exec_fair@basic-pace@rcs0.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-glk1/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-kbl:          [DMESG-WARN][115] ([i915#180]) -> [PASS][116] +2 similar issues
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-kbl4/igt@gem_workarounds@suspend-resume-fd.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl7/igt@gem_workarounds@suspend-resume-fd.html

  * igt@i915_pm_rpm@system-suspend-modeset:
    - shard-kbl:          [INCOMPLETE][117] ([i915#151] / [i915#155]) -> [PASS][118]
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-kbl4/igt@i915_pm_rpm@system-suspend-modeset.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl7/igt@i915_pm_rpm@system-suspend-modeset.html

  * igt@kms_color@pipe-b-legacy-gamma-reset:
    - shard-apl:          [FAIL][119] ([i915#2964]) -> [PASS][120]
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-apl7/igt@kms_color@pipe-b-legacy-gamma-reset.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl4/igt@kms_color@pipe-b-legacy-gamma-reset.html
    - shard-kbl:          [FAIL][121] ([i915#2964]) -> [PASS][122]
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-kbl7/igt@kms_color@pipe-b-legacy-gamma-reset.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-kbl7/igt@kms_color@pipe-b-legacy-gamma-reset.html

  * igt@kms_cursor_legacy@cursor-vs-flip-toggle:
    - shard-hsw:          [FAIL][123] ([i915#2370]) -> [PASS][124]
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-hsw1/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-hsw2/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a1-hdmi-a2:
    - shard-glk:          [FAIL][125] ([i915#79]) -> [PASS][126] +1 similar issue
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a1-hdmi-a2.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
    - shard-apl:          [DMESG-WARN][127] ([i915#180]) -> [PASS][128] +1 similar issue
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-apl1/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html

  * {igt@sysfs_clients@recycle}:
    - shard-snb:          [FAIL][129] ([i915#3028]) -> [PASS][130]
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-snb4/igt@sysfs_clients@recycle.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-snb6/igt@sysfs_clients@recycle.html
    - shard-iclb:         [FAIL][131] ([i915#3028]) -> [PASS][132]
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-iclb8/igt@sysfs_clients@recycle.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb7/igt@sysfs_clients@recycle.html
    - shard-apl:          [FAIL][133] ([i915#3028]) -> [PASS][134]
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-apl4/igt@sysfs_clients@recycle.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl1/igt@sysfs_clients@recycle.html
    - shard-tglb:         [FAIL][135] ([i915#3028]) -> [PASS][136]
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-tglb7/igt@sysfs_clients@recycle.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb2/igt@sysfs_clients@recycle.html

  * {igt@sysfs_clients@recycle-many}:
    - shard-apl:          [FAIL][137] -> [PASS][138]
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-apl3/igt@sysfs_clients@recycle-many.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-apl7/igt@sysfs_clients@recycle-many.html
    - shard-iclb:         [FAIL][139] -> [PASS][140]
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-iclb4/igt@sysfs_clients@recycle-many.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-iclb4/igt@sysfs_clients@recycle-many.html
    - shard-glk:          [FAIL][141] -> [PASS][142]
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-glk1/igt@sysfs_clients@recycle-many.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-glk8/igt@sysfs_clients@recycle-many.html
    - shard-tglb:         [FAIL][143] -> [PASS][144]
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9728/shard-tglb7/igt@sysfs_clients@recycle-many.html
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/shard-tglb1/igt@sysfs_clients@recycle-many.html

  * igt@sysfs_hear

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5476/index.html

[-- Attachment #1.2: Type: text/html, Size: 33768 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 v6 1/2] tests/kms_content_protection: Add MST subtests
  2021-02-04  4:53   ` Gupta, Anshuman
@ 2021-02-04  8:02     ` Karthik B S
  0 siblings, 0 replies; 7+ messages in thread
From: Karthik B S @ 2021-02-04  8:02 UTC (permalink / raw)
  To: Gupta, Anshuman, igt-dev

On 2/4/2021 10:23 AM, Gupta, Anshuman wrote:
>
>> -----Original Message-----
>> From: Karthik B S <karthik.b.s@intel.com>
>> Sent: Thursday, February 4, 2021 9:40 AM
>> To: igt-dev@lists.freedesktop.org
>> Cc: Gupta, Anshuman <anshuman.gupta@intel.com>; C, Ramalingam
>> <ramalingam.c@intel.com>; B S, Karthik <karthik.b.s@intel.com>
>> Subject: [PATCH i-g-t v6 1/2] tests/kms_content_protection: Add MST
>> subtests
>>
>> 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)
>>
>> 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 | 277
>> ++++++++++++++++++++++++++++++---
>>   1 file changed, 255 insertions(+), 22 deletions(-)
>>
>> diff --git a/tests/kms_content_protection.c
>> b/tests/kms_content_protection.c index 303ed418..793f6e11 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,150 @@ 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];
>> +
>> +	for_each_connected_output(display, output) {
>> +		if (!output_is_dp_mst(output, valid_outputs))
>> +			continue;
>> +
>> +		dp_mst_outputs++;
>> +
>> +		if (!output_hdcp_capable(output, content_type))
> Let's check hdcp capability after modeset on MST , we can't pre-assume modeset being done
> for multiple streams, without modeset we may  not get hdcp capability.

Thank you for the review. Sure, I'll update this.

Thanks and Regards,

Karthik.B.S

>> +			continue;
>> +
>> +		mst_output[valid_outputs] = output;
>> +		valid_outputs++;
>> +	}
>> +
>> +	igt_require_f(dp_mst_outputs > 1, "No DP MST set up with >= 2
>> outputs found in a single topology\n");
>> +	igt_require_f(valid_outputs > 1, "DP MST outputs do not have the
>> +required HDCP support\n");
>> +
>> +	for_each_pipe(display, pipe)
>> +		max_pipe++;
>> +
>> +	if (valid_outputs > max_pipe)
>> +		valid_outputs = max_pipe;
>> +
>> +	pipe = PIPE_A;
>> +
>> +	for (count = 0; count < valid_outputs; count++) {
>> +		igt_assert_f(igt_pipe_connector_valid(pipe,
>> mst_output[count]),
>> +"Output-pipe combination invalid\n");
>> +
>> +		prepare_modeset_on_mst_output(mst_output[count],
>> pipe);
>> +		pipe++;
>> +	}
>> +
>> +	igt_display_commit2(display, COMMIT_ATOMIC);
>> +
>> +	for (count = 0; count < valid_outputs; count++) {
>> +		igt_output_set_prop_value(mst_output[count],
>> +IGT_CONNECTOR_CONTENT_PROTECTION, CP_DESIRED);
>> +
>> +		if (output->props[IGT_CONNECTOR_HDCP_CONTENT_TYPE])
>> +			igt_output_set_prop_value(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(mst_output[count],
>> CP_ENABLED, KERNEL_AUTH_TIME_ALLOWED_MSEC);
>> +		igt_assert_f(ret, "Content Protection not enabled on %s\n",
>> mst_output[count]->name);
>> +	}
>> +
>> +	if (data.cp_tests & CP_LIC)
>> +		test_cp_lic_on_mst(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", mst_output[0]-
>>> name);
>> +	test_cp_disable(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(mst_output[i], CP_UNDESIRED,
>> KERNEL_DISABLE_TIME_ALLOWED_MSEC);
>> +		igt_assert_f(!ret, "Content Protection not enabled on %s\n",
>> mst_output[i]->name);
>> +	}
>> +
>> +	if (data.cp_tests & CP_LIC)
>> +		test_cp_lic_on_mst(mst_output, valid_outputs, 1); }
>> +
>>   static void test_content_protection_cleanup(void)
>>   {
>>   	igt_display_t *display = &data.display; @@ -514,6 +698,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 +731,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 +803,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	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-02-04  8:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-04  4:09 [igt-dev] [PATCH i-g-t v6 0/2] Add subtests for HDCP over MST Karthik B S
2021-02-04  4:09 ` [igt-dev] [PATCH i-g-t v6 1/2] tests/kms_content_protection: Add MST subtests Karthik B S
2021-02-04  4:53   ` Gupta, Anshuman
2021-02-04  8:02     ` Karthik B S
2021-02-04  4:09 ` [igt-dev] [PATCH i-g-t v6 2/2] CI HAX: Add MST tests to fast feedback testlist Karthik B S
2021-02-04  5:24 ` [igt-dev] ✓ Fi.CI.BAT: success for Add subtests for HDCP over MST (rev5) Patchwork
2021-02-04  7:53 ` [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.