All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering
@ 2021-06-11  5:19 venkata.sai.patnana
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 02/17] tests/kms_dither: Validate dither after CC blocks venkata.sai.patnana
                   ` (25 more replies)
  0 siblings, 26 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Nischal Varide, Petri Latvala

From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

Many of the display devices have color format support less than
the color format of the input data (Ex: 8-bit input data and 6-bit
display color depth). Then the input data will be either truncated
or rounded, but this approach usually causes loss of detail and also
produce large banded areas of a single color that significantly
differs from the original image.

Dithering is a technique used to enhance these colors by creating the
illusion of smoothness by adjusting the nearby pixel color.
For Eg: Converting 8-bit to 6-bit by modifying the pixel information.

Dithering should be enabled when a panel color depth is lower than the
color depth of the framebuffer.

Even though feature Dithering is there since legacy, there is no
specific IGT for this. This patch will create New IGT for Dithering.
And below is the truth table for CRTC Dithering.

|----------------|---------|-------------|
|  Frame buffer  |  Panel  |  Dithering  |
|----------------|---------|-------------|
|      8 BPC     |  6 BPC  |     Yes     |
|----------------|---------|-------------|
|      8 BPC     |  8 BPC  |     No      |
|----------------|---------|-------------|
|      8 BPC     | 10 BPC  |     No      |
|----------------|---------|-------------|
|     10 BPC     |  6 BPC  |     Yes     |
|----------------|---------|-------------|
|     10 BPC     |  8 BPC  |     Yes     |
|----------------|---------|-------------|
|     10 BPC     | 10 BPC  |     No      |
|----------------|---------|-------------|
|     16 BPC     |  6 BPC  |     Yes     |
|----------------|---------|-------------|
|     16 BPC     |  8 BPC  |     Yes     |
|----------------|---------|-------------|
|     16 BPC     | 10 BPC  |     Yes     |
|----------------|---------|-------------|

Cc: Swati Sharma <swati2.sharma@intel.com>
Cc: Karthik B S <karthik.b.s@intel.com>
Cc: Uma Shankar <uma.shankar@intel.com>
Cc: Nischal Varide <nischal.varide@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_dither.c | 250 +++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build  |   1 +
 2 files changed, 251 insertions(+)
 create mode 100644 tests/kms_dither.c

diff --git a/tests/kms_dither.c b/tests/kms_dither.c
new file mode 100644
index 0000000000..c25d623f81
--- /dev/null
+++ b/tests/kms_dither.c
@@ -0,0 +1,250 @@
+/*
+ * Copyright © 2020 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Authors:
+ *     Bhanuprakash Modem <bhanuprakash.modem@intel.com>
+ *
+ */
+
+#include "igt.h"
+#include <fcntl.h>
+#include <termios.h>
+#include <unistd.h>
+
+IGT_TEST_DESCRIPTION("Test Dithering block status");
+
+/* Connector BPC */
+#define IGT_CONNECTOR_BPC_6		6
+#define IGT_CONNECTOR_BPC_8		8
+#define IGT_CONNECTOR_BPC_10		10
+#define IGT_CONNECTOR_BPC_12		12
+
+/* Framebuffer BPC */
+#define IGT_FRAME_BUFFER_BPC_8		8
+#define IGT_FRAME_BUFFER_BPC_10		10
+#define IGT_FRAME_BUFFER_BPC_16		16
+
+/* Common test data. */
+typedef struct data {
+	igt_display_t display;
+	igt_plane_t *primary;
+	igt_output_t *output;
+	igt_pipe_t *pipe;
+	drmModeModeInfo *mode;
+	enum pipe pipe_id;
+	int drm_fd;
+	igt_fb_t fb;
+} data_t;
+
+typedef struct {
+	unsigned int bpc;
+	unsigned int dither;
+} dither_status_t;
+
+/* Prepare test data. */
+static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
+{
+	igt_display_t *display = &data->display;
+
+	data->pipe_id = pipe;
+	data->pipe = &data->display.pipes[data->pipe_id];
+	igt_assert(data->pipe);
+
+	igt_display_reset(display);
+
+	data->output = output;
+	igt_assert(data->output);
+
+	data->mode = igt_output_get_mode(data->output);
+	igt_assert(data->mode);
+
+	data->primary =
+		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_output_set_pipe(data->output, data->pipe_id);
+}
+
+/* Returns the current state of dithering from the crtc debugfs. */
+static dither_status_t get_dither_state(data_t *data)
+{
+	char buf[256];
+	char crtc_name[7];
+	char *start_loc;
+	int fd, res;
+	dither_status_t status;
+
+	snprintf(crtc_name, 7, "crtc-%d", data->pipe_id);
+	fd = igt_debugfs_open(data->drm_fd, crtc_name, O_RDONLY);
+	igt_assert(fd >= 0);
+
+	res = igt_debugfs_simple_read(fd, "dither", buf, sizeof(buf));
+	igt_require(res > 0);
+	close(fd);
+
+	igt_assert(start_loc = strstr(buf, "bpc: "));
+	igt_assert_eq(sscanf(start_loc, "bpc: %u", &status.bpc), 1);
+
+	igt_assert(start_loc = strstr(buf, "Dither: "));
+	igt_assert_eq(sscanf(start_loc, "Dither: %u", &status.dither), 1);
+
+	return status;
+}
+
+static void test_dithering(data_t *data, enum pipe pipe,
+			   igt_output_t *output,
+			   int fb_bpc, int fb_format,
+			   int output_bpc)
+{
+	igt_display_t *display = &data->display;
+	dither_status_t status;
+	int bpc;
+
+	igt_info("Dithering test execution on %s PIPE_%s\n",
+			output->name, kmstest_pipe_name(pipe));
+	prepare_test(data, output, pipe);
+
+	igt_assert(igt_create_fb(data->drm_fd, data->mode->hdisplay,
+				 data->mode->vdisplay, fb_format,
+				 LOCAL_DRM_FORMAT_MOD_NONE, &data->fb));
+	igt_plane_set_fb(data->primary, &data->fb);
+	igt_plane_set_size(data->primary, data->mode->hdisplay, data->mode->vdisplay);
+
+	bpc = igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC);
+	igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC, output_bpc);
+	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+
+	/*
+	 * Check the status of Dithering block:
+	 *
+	 * Preserve the result & compute later (after clean-up).
+	 * If fb_bpc is greater than output_bpc, Dithering should be enabled
+	 * Else disabled
+	 */
+	status = get_dither_state(data);
+
+	igt_debug("FB BPC:%d, Panel BPC:%d, Pipe BPC:%d, Expected Dither:%s, Actual result:%s\n",
+		  fb_bpc, output_bpc, status.bpc,
+		  (fb_bpc > output_bpc) ? "Enable": "Disable",
+		  status.dither ? "Enable": "Disable");
+
+       /*
+	* We must update the Connector max_bpc property back
+	* Otherwise, previously updated value will stay forever and
+	* may cause the failures for next/other subtests.
+	*/
+	igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC, bpc);
+	igt_plane_set_fb(data->primary, NULL);
+	igt_output_set_pipe(output, PIPE_NONE);
+	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+	igt_remove_fb(data->drm_fd, &data->fb);
+
+	/* Check if crtc bpc is updated with requested one. */
+	igt_require_f((status.bpc == output_bpc),
+			"%s can support max %u-bpc, but requested %d-bpc\n",
+				output->name, status.bpc, output_bpc);
+
+	/* Compute the result. */
+	if (fb_bpc > output_bpc)
+		igt_assert_f(status.dither, "(fb_%dbpc > output_%dbpc): Dither should be enabled\n",
+				fb_bpc, output_bpc);
+	else
+		igt_assert_f(!status.dither, "(fb_%dbpc <= output_%dbpc): Dither should be disabled\n",
+				fb_bpc, output_bpc);
+
+	return;
+}
+
+/* Returns true if an output supports max bpc property & max_bpc >= requested. */
+static bool is_supported(igt_output_t *output, int bpc)
+{
+        return igt_output_has_prop(output, IGT_CONNECTOR_MAX_BPC) &&
+		(igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC) >= bpc);
+}
+
+static void
+run_dither_test(data_t *data, int fb_bpc, int fb_format, int output_bpc)
+{
+	igt_output_t *output;
+	igt_display_t *display = &data->display;
+
+	for_each_connected_output(display, output) {
+		enum pipe pipe;
+
+		if (!is_supported(output, output_bpc))
+			continue;
+
+		if ((strstr(output->name, "HDMI") != NULL) &&
+		    (output_bpc == IGT_CONNECTOR_BPC_6))
+			continue;
+
+		for_each_pipe(display, pipe) {
+			if (igt_pipe_connector_valid(pipe, output)) {
+				igt_dynamic_f("%s-pipe-%s", output->name, kmstest_pipe_name(pipe))
+					test_dithering(data, pipe, output, fb_bpc,
+							fb_format, output_bpc);
+
+				/* One pipe is enough */
+				break;
+			}
+		}
+	}
+}
+
+igt_main
+{
+	struct {
+		int fb_bpc;
+		int format;
+		int output_bpc;
+	} tests[] = {
+		{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888, IGT_CONNECTOR_BPC_6 },
+		{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888, IGT_CONNECTOR_BPC_8 },
+	};
+	int i;
+	data_t data = { 0 };
+
+	igt_fixture {
+		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+		kmstest_set_vt_graphics_mode();
+
+		igt_display_require(&data.display, data.drm_fd);
+		igt_display_require_output(&data.display);
+	}
+
+	for (i = 0; i < ARRAY_SIZE(tests); i++) {
+		igt_describe_f("Framebuffer BPC:%d, Panel BPC:%d, Expected Dither:%s\n",
+			       tests[i].fb_bpc, tests[i].output_bpc,
+			       (tests[i].fb_bpc > tests[i].output_bpc) ?
+							"Enable": "Disable");
+
+		igt_subtest_with_dynamic_f("FB-%dBPC-Vs-Panel-%dBPC",
+				tests[i].fb_bpc, tests[i].output_bpc)
+			run_dither_test(&data,
+					tests[i].fb_bpc,
+					tests[i].format,
+					tests[i].output_bpc);
+	}
+
+	igt_fixture {
+		igt_display_fini(&data.display);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index 2351b3d3fa..e5954e2832 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -28,6 +28,7 @@ test_progs = [
 	'kms_cursor_crc',
 	'kms_cursor_edge_walk',
 	'kms_cursor_legacy',
+	'kms_dither',
 	'kms_dp_aux_dev',
 	'kms_dp_dsc',
 	'kms_dp_tiled_display',
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 02/17] tests/kms_dither: Validate dither after CC blocks
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
@ 2021-06-11  5:19 ` venkata.sai.patnana
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 03/17] tests/device_reset: Unload snd driver before i915 unbind venkata.sai.patnana
                   ` (24 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Nischal Varide, Petri Latvala

From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

Dithering after all CC blocks will be enabled only if the panel
supports 12 BPC (or more) and the Framebuffer BPC is greater than
12 BPC. And legacy dither block (at the end of PIPE) should be
disabled to avoid double dithering.

This patch will extend the support to validate Dither after all
color conversion (CC) blocks.

Cc: Swati Sharma <swati2.sharma@intel.com>
Cc: Karthik B S <karthik.b.s@intel.com>
Cc: Uma Shankar <uma.shankar@intel.com>
Cc: Nischal Varide <nischal.varide@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_dither.c | 43 ++++++++++++++++++++++++++++++++-----------
 1 file changed, 32 insertions(+), 11 deletions(-)

diff --git a/tests/kms_dither.c b/tests/kms_dither.c
index c25d623f81..b1f0503a6c 100644
--- a/tests/kms_dither.c
+++ b/tests/kms_dither.c
@@ -57,7 +57,8 @@ typedef struct data {
 
 typedef struct {
 	unsigned int bpc;
-	unsigned int dither;
+	unsigned int legacy;
+	unsigned int cc1;
 } dither_status_t;
 
 /* Prepare test data. */
@@ -104,7 +105,13 @@ static dither_status_t get_dither_state(data_t *data)
 	igt_assert_eq(sscanf(start_loc, "bpc: %u", &status.bpc), 1);
 
 	igt_assert(start_loc = strstr(buf, "Dither: "));
-	igt_assert_eq(sscanf(start_loc, "Dither: %u", &status.dither), 1);
+	igt_assert_eq(sscanf(start_loc, "Dither: %u", &status.legacy), 1);
+
+	start_loc = strstr(buf, "Dither_CC1: ");
+	if (!start_loc)
+		status.cc1 = 0;
+	else
+		igt_assert_eq(sscanf(start_loc, "Dither_CC1: %u", &status.cc1), 1);
 
 	return status;
 }
@@ -141,10 +148,10 @@ static void test_dithering(data_t *data, enum pipe pipe,
 	 */
 	status = get_dither_state(data);
 
-	igt_debug("FB BPC:%d, Panel BPC:%d, Pipe BPC:%d, Expected Dither:%s, Actual result:%s\n",
-		  fb_bpc, output_bpc, status.bpc,
-		  (fb_bpc > output_bpc) ? "Enable": "Disable",
-		  status.dither ? "Enable": "Disable");
+	igt_debug("FB BPC:%d, Panel BPC:%d, Pipe BPC:%d, "
+		  "Dither at end of the pipe:%u, Dither after CC1:%u\n",
+			fb_bpc, output_bpc, status.bpc,
+			status.legacy, status.cc1);
 
        /*
 	* We must update the Connector max_bpc property back
@@ -163,12 +170,25 @@ static void test_dithering(data_t *data, enum pipe pipe,
 				output->name, status.bpc, output_bpc);
 
 	/* Compute the result. */
-	if (fb_bpc > output_bpc)
-		igt_assert_f(status.dither, "(fb_%dbpc > output_%dbpc): Dither should be enabled\n",
-				fb_bpc, output_bpc);
-	else
-		igt_assert_f(!status.dither, "(fb_%dbpc <= output_%dbpc): Dither should be disabled\n",
+	if (fb_bpc > output_bpc) {
+		if (output_bpc < IGT_CONNECTOR_BPC_12)
+			igt_assert_f((status.legacy && !status.cc1),
+					"(fb_%dbpc > output_%dbpc): Dither should be "
+					"enabled at end of the PIPE & "
+					"disbaled at the CC1.\n",
+					fb_bpc, output_bpc);
+		else
+			igt_assert_f((!status.legacy && status.cc1),
+					"(fb_%dbpc > output_%dbpc): Dither should be "
+					"disabled at end of the PIPE & "
+					"enabled at the CC1.\n",
+					fb_bpc, output_bpc);
+	} else {
+		igt_assert_f((!status.legacy && !status.cc1),
+				"(fb_%dbpc <= output_%dbpc): Dither should be "
+				"disabled at both places (end of the PIPE & CC1).\n",
 				fb_bpc, output_bpc);
+	}
 
 	return;
 }
@@ -218,6 +238,7 @@ igt_main
 	} tests[] = {
 		{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888, IGT_CONNECTOR_BPC_6 },
 		{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888, IGT_CONNECTOR_BPC_8 },
+		{ IGT_FRAME_BUFFER_BPC_16, DRM_FORMAT_XRGB16161616F, IGT_CONNECTOR_BPC_12 },
 	};
 	int i;
 	data_t data = { 0 };
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 03/17] tests/device_reset: Unload snd driver before i915 unbind
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 02/17] tests/kms_dither: Validate dither after CC blocks venkata.sai.patnana
@ 2021-06-11  5:19 ` venkata.sai.patnana
  2021-06-11 15:49   ` Kai Vehmanen
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 04/17] tests/core_hotunplug: " venkata.sai.patnana
                   ` (23 subsequent siblings)
  25 siblings, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Kai Vehmanen

From: Uma Shankar <uma.shankar@intel.com>

Unload the snd module before unbinding i915. Audio holds a wakeref which
triggers a warning otherwise, resulting in below warning and test failure.
Currently HSW/BDW and DG1 are the platforms affected, can be extended to
other platforms as well.

<4> [137.001006] ------------[ cut here ]------------
<4> [137.001010] i915 0000:00:02.0: i915 raw-wakerefs=1 wakelocks=1 on cleanup
<4> [137.001076] WARNING: CPU: 0 PID: 1417 at drivers/gpu/drm/i915/intel_runtime_pm.c:619 intel_runtime_pm_driver_release+0x56/0x60 [i915]
<4> [137.001078] Modules linked in: snd_hda_intel i915 snd_hda_codec_hdmi mei_hdcp intel_pmt_telemetry intel_pmt_core x86_pkg_temp_thermal coretemp smsc75xx crct10dif_pclmul usbnet crc32_pclmul mii ghash_clmulni_intel kvm_intel e1000e snd_intel_dspcfg snd_hda_codec snd_hwdep snd_hda_core ptp pps_core mei_me snd_pcm mei prime_numbers intel_pmt [last unloaded: i915]
<4> [137.001095] CPU: 0 PID: 1417 Comm: kworker/u16:7 Tainted: G U 5.9.0-g79478e23b1878-DII_3204+ #1
<4> [137.001097] Hardware name: Intel Corporation Tiger Lake Client Platform/TigerLake U DDR4 SODIMM RVP, BIOS TGLSFWI1.R00.3197.A00.2005110542 05/11/2020
<4> [137.001102] Workqueue: events_unbound async_run_entry_fn
<4> [137.001140] RIP: 0010:intel_runtime_pm_driver_release+0x56/0x60 [i915]
<4> [137.001142] Code: fd 10 4c 8b 67 50 4d 85 e4 75 03 4c 8b 27 e8 91 59 58 e1 45 89 e8 89 e9 4c 89 e2 48 89 c6 48 c7 c7 b0 f3 48 a0 e8 55 25 ef e0 <0f> 0b eb b5 66 0f 1f 44 00 00 48 8b 87 88 45 ff ff b9 02 00 00 00
<4> [137.001144] RSP: 0018:ffffc900007dbd68 EFLAGS: 00010286
<4> [137.001147] RAX: 0000000000000000 RBX: ffff88847338bea8 RCX: 0000000000000001
<4> [137.001148] RDX: 0000000080000001 RSI: ffffffff823efa86 RDI: 00000000ffffffff
<4> [137.001150] RBP: 0000000000000001 R08: 0000000000000001 R09: 0000000000000001
<4> [137.001152] R10: 000000009bda34df R11: 00000000e2a8a89a R12: ffff88849b209880
<4> [137.001153] R13: 0000000000000001 R14: ffff88847338bea8 R15: ffff88847338fcc0
<4> [137.001155] FS: 0000000000000000(0000) GS:ffff8884a0600000(0000) knlGS:0000000000000000
<4> [137.001157] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4> [137.001159] CR2: 00007fc03597dd88 CR3: 0000000006610005 CR4: 0000000000770ef0
<4> [137.001160] PKRU: 55555554
<4> [137.001162] Call Trace:
<4> [137.001199] i915_drm_suspend_late+0x102/0x120 [i915]
<4> [137.001204] ? pci_pm_poweroff_late+0x30/0x30
<4> [137.001209] dpm_run_callback+0x61/0x270
<4> [137.001214] __device_suspend_late+0x8b/0x180
<4> [137.001217] async_suspend_late+0x15/0x90
<4> [137.001220] async_run_entry_fn+0x34/0x160
<4> [137.001224] process_one_work+0x26c/0x5c0
<4> [137.001231] worker_thread+0x37/0x380
<4> [137.001235] ? process_one_work+0x5c0/0x5c0
<4> [137.001238] kthread+0x149/0x170
<4> [137.001241] ? kthread_park+0x80/0x80
<4> [137.001246] ret_from_fork+0x1f/0x30
<4> [137.001256] irq event stamp: 2329

Cc: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Cc: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
---
 tests/device_reset.c | 61 +++++++++++++++++++++++++++++++++-----------
 1 file changed, 46 insertions(+), 15 deletions(-)

diff --git a/tests/device_reset.c b/tests/device_reset.c
index eef707330c..e6a468e6fa 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -5,11 +5,13 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 #include <sys/stat.h>
+#include <signal.h>
 
 #include "i915/gem.h"
 #include "igt.h"
 #include "igt_device_scan.h"
 #include "igt_sysfs.h"
+#include "igt_kmod.h"
 
 IGT_TEST_DESCRIPTION("Examine behavior of a driver on device sysfs reset");
 
@@ -28,6 +30,7 @@ struct device_fds {
 		int drv_dir;
 	} fds;
 	char dev_bus_addr[DEV_BUS_ADDR_LEN];
+	bool snd_unload;
 };
 
 static int __open_sysfs_dir(int fd, const char* path)
@@ -82,6 +85,7 @@ static void init_device_fds(struct device_fds *dev)
 {
 	char dev_path[PATH_MAX];
 	char *addr_pos;
+	uint32_t devid;
 
 	igt_debug("open device\n");
 	/**
@@ -91,9 +95,18 @@ static void init_device_fds(struct device_fds *dev)
 	 */
 	dev->fds.dev = __drm_open_driver(DRIVER_ANY);
 	igt_assert_fd(dev->fds.dev);
-	if (is_i915_device(dev->fds.dev))
+	if (is_i915_device(dev->fds.dev)) {
 		igt_require_gem(dev->fds.dev);
 
+		devid = intel_get_drm_devid(dev->fds.dev);
+		if ((IS_HASWELL(devid) || IS_BROADWELL(devid) ||
+		     IS_DG1(devid)) &&
+		     (igt_kmod_is_loaded("snd_hda_intel"))) {
+			igt_debug("Enable WA to unload snd driver\n");
+			dev->snd_unload = true;
+		}
+	}
+
 	igt_assert(device_sysfs_path(dev->fds.dev, dev_path));
 	addr_pos = strrchr(dev_path, '/');
 	igt_assert(addr_pos);
@@ -164,6 +177,34 @@ static bool is_sysfs_reset_supported(int fd)
 /* Unbind the driver from the device */
 static void driver_unbind(struct device_fds *dev)
 {
+	/**
+	 * FIXME: Unbinding the i915 driver on affected platforms with
+	 * audio results in a kernel WARN on "i915 raw-wakerefs=1
+	 * wakelocks=1 on cleanup". The below CI friendly user level
+	 * workaround to unload and de-couple audio from IGT testing,
+	 * prevents the warning from appearing. Drop this hack as soon
+	 * as this is fixed in the kernel. unbind/re-bind validation
+	 * on audio side is not robust and we could have potential
+	 * failures blocking display CI, currently this seems to the
+	 * safest and easiest way out.
+	 */
+	if (dev->snd_unload) {
+		igt_terminate_process(SIGTERM, "alsactl");
+
+		/* unbind snd_hda_intel */
+		kick_snd_hda_intel();
+
+		if (igt_kmod_unload("snd_hda_intel", 0)) {
+			dev->snd_unload = false;
+			igt_warn("Could not unload snd_hda_intel\n");
+			igt_kmod_list_loaded();
+			igt_lsof("/dev/snd");
+			igt_skip("Audio is in use, skipping\n");
+		} else {
+			igt_warn("Preventively unloaded snd_hda_intel\n");
+		}
+	}
+
 	igt_debug("unbind the driver from the device\n");
 	igt_assert(igt_sysfs_set(dev->fds.drv_dir, "unbind",
 		   dev->dev_bus_addr));
@@ -175,6 +216,9 @@ static void driver_bind(struct device_fds *dev)
 	igt_debug("rebind the driver to the device\n");
 	igt_abort_on_f(!igt_sysfs_set(dev->fds.drv_dir, "bind",
 		       dev->dev_bus_addr), "driver rebind failed");
+
+	if (dev->snd_unload)
+		igt_kmod_load("snd_hda_intel", NULL);
 }
 
 /* Initiate device reset */
@@ -235,19 +279,6 @@ static void unbind_reset_rebind(struct device_fds *dev)
 	igt_debug("close the device\n");
 	close_if_opened(&dev->fds.dev);
 
-	/**
-	 * FIXME: Unbinding the i915 driver on some platforms with Azalia audio
-	 * results in a kernel WARN on "i915 raw-wakerefs=1 wakelocks=1 on cleanup".
-	 * The below CI friendly user level workaround prevents the warning from
-	 * appearing. Drop this hack as soon as this is fixed in the kernel.
-	 */
-	if (is_i915_device(dev->fds.dev)) {
-		uint32_t devid = intel_get_drm_devid(dev->fds.dev);
-		if (igt_warn_on_f(IS_HASWELL(devid) || IS_BROADWELL(devid),
-		    "Manually enabling audio PM to work around a kernel WARN\n"))
-			igt_pm_enable_audio_runtime_pm();
-	}
-
 	driver_unbind(dev);
 
 	initiate_device_reset(dev);
@@ -257,7 +288,7 @@ static void unbind_reset_rebind(struct device_fds *dev)
 
 igt_main
 {
-	struct device_fds dev = { .fds = {-1, -1, -1}, .dev_bus_addr = {0}};
+	struct device_fds dev = { .fds = {-1, -1, -1}, .dev_bus_addr = {0}, };
 
 	igt_fixture {
 		char dev_path[PATH_MAX];
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 04/17] tests/core_hotunplug: Unload snd driver before i915 unbind
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 02/17] tests/kms_dither: Validate dither after CC blocks venkata.sai.patnana
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 03/17] tests/device_reset: Unload snd driver before i915 unbind venkata.sai.patnana
@ 2021-06-11  5:19 ` venkata.sai.patnana
  2021-06-11 15:50   ` Kai Vehmanen
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 05/17] tests/kms_force_connector_basic: Skip prune stale mode venkata.sai.patnana
                   ` (22 subsequent siblings)
  25 siblings, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Kai Vehmanen

From: Uma Shankar <uma.shankar@intel.com>

Unload the snd module before unbinding i915. Audio holds a wakeref
which triggers a warning otherwise, resulting in below warning and
test failure. Currently HSW/BDW and DG1 are the platforms affected,
can be extended to other platforms as well.

<4> [137.001006] ------------[ cut here ]------------
<4> [137.001010] i915 0000:00:02.0: i915 raw-wakerefs=1 wakelocks=1 on cleanup
<4> [137.001076] WARNING: CPU: 0 PID: 1417 at drivers/gpu/drm/i915/intel_runtime_pm.c:619 intel_runtime_pm_driver_release+0x56/0x60 [i915]
<4> [137.001078] Modules linked in: snd_hda_intel i915 snd_hda_codec_hdmi mei_hdcp intel_pmt_telemetry intel_pmt_core x86_pkg_temp_thermal coretemp smsc75xx crct10dif_pclmul usbnet crc32_pclmul mii ghash_clmulni_intel kvm_intel e1000e snd_intel_dspcfg snd_hda_codec snd_hwdep snd_hda_core ptp pps_core mei_me snd_pcm mei prime_numbers intel_pmt [last unloaded: i915]
<4> [137.001095] CPU: 0 PID: 1417 Comm: kworker/u16:7 Tainted: G U 5.9.0-g79478e23b1878-DII_3204+ #1
<4> [137.001097] Hardware name: Intel Corporation Tiger Lake Client Platform/TigerLake U DDR4 SODIMM RVP, BIOS TGLSFWI1.R00.3197.A00.2005110542 05/11/2020
<4> [137.001102] Workqueue: events_unbound async_run_entry_fn
<4> [137.001140] RIP: 0010:intel_runtime_pm_driver_release+0x56/0x60 [i915]
<4> [137.001142] Code: fd 10 4c 8b 67 50 4d 85 e4 75 03 4c 8b 27 e8 91 59 58 e1 45 89 e8 89 e9 4c 89 e2 48 89 c6 48 c7 c7 b0 f3 48 a0 e8 55 25 ef e0 <0f> 0b eb b5 66 0f 1f 44 00 00 48 8b 87 88 45 ff ff b9 02 00 00 00
<4> [137.001144] RSP: 0018:ffffc900007dbd68 EFLAGS: 00010286
<4> [137.001147] RAX: 0000000000000000 RBX: ffff88847338bea8 RCX: 0000000000000001
<4> [137.001148] RDX: 0000000080000001 RSI: ffffffff823efa86 RDI: 00000000ffffffff
<4> [137.001150] RBP: 0000000000000001 R08: 0000000000000001 R09: 0000000000000001
<4> [137.001152] R10: 000000009bda34df R11: 00000000e2a8a89a R12: ffff88849b209880
<4> [137.001153] R13: 0000000000000001 R14: ffff88847338bea8 R15: ffff88847338fcc0
<4> [137.001155] FS: 0000000000000000(0000) GS:ffff8884a0600000(0000) knlGS:0000000000000000
<4> [137.001157] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4> [137.001159] CR2: 00007fc03597dd88 CR3: 0000000006610005 CR4: 0000000000770ef0
<4> [137.001160] PKRU: 55555554
<4> [137.001162] Call Trace:
<4> [137.001199] i915_drm_suspend_late+0x102/0x120 [i915]
<4> [137.001204] ? pci_pm_poweroff_late+0x30/0x30
<4> [137.001209] dpm_run_callback+0x61/0x270
<4> [137.001214] __device_suspend_late+0x8b/0x180
<4> [137.001217] async_suspend_late+0x15/0x90
<4> [137.001220] async_run_entry_fn+0x34/0x160
<4> [137.001224] process_one_work+0x26c/0x5c0
<4> [137.001231] worker_thread+0x37/0x380
<4> [137.001235] ? process_one_work+0x5c0/0x5c0
<4> [137.001238] kthread+0x149/0x170
<4> [137.001241] ? kthread_park+0x80/0x80
<4> [137.001246] ret_from_fork+0x1f/0x30
<4> [137.001256] irq event stamp: 2329

Cc: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Cc: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
---
 tests/core_hotunplug.c | 53 +++++++++++++++++++++++++++++++-----------
 1 file changed, 40 insertions(+), 13 deletions(-)

diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
index a639cfb4b4..878efcc7bf 100644
--- a/tests/core_hotunplug.c
+++ b/tests/core_hotunplug.c
@@ -29,6 +29,7 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
+#include <signal.h>
 
 #include "i915/gem.h"
 #include "i915/gem_create.h"
@@ -53,6 +54,7 @@ struct hotunplug {
 	const char *failure;
 	bool need_healthcheck;
 	bool has_intel_perf;
+	bool snd_unload;
 };
 
 /* Helpers */
@@ -138,6 +140,34 @@ static void prepare(struct hotunplug *priv)
 static void driver_unbind(struct hotunplug *priv, const char *prefix,
 			  int timeout)
 {
+	/**
+	 * FIXME: Unbinding the i915 driver on affected platforms with
+	 * audio results in a kernel WARN on "i915 raw-wakerefs=1
+	 * wakelocks=1 on cleanup". The below CI friendly user level
+	 * workaround to unload and de-couple audio from IGT testing,
+	 * prevents the warning from appearing. Drop this hack as soon
+	 * as this is fixed in the kernel. unbind/re-bind validation
+	 * on audio side is not robust and we could have potential
+	 * failures blocking display CI, currently this seems to the
+	 * safest and easiest way out.
+	 */
+	if (priv->snd_unload) {
+		igt_terminate_process(SIGTERM, "alsactl");
+
+		/* unbind snd_hda_intel */
+		kick_snd_hda_intel();
+
+		if (igt_kmod_unload("snd_hda_intel", 0)) {
+			priv->snd_unload = false;
+			igt_warn("Could not unload snd_hda_intel\n");
+			igt_kmod_list_loaded();
+			igt_lsof("/dev/snd");
+			igt_skip("Audio is in use, skipping\n");
+		} else {
+			igt_warn("Preventively unloaded snd_hda_intel\n");
+		}
+	}
+
 	local_debug("%sunbinding the driver from the device\n", prefix);
 	priv->failure = "Driver unbind failure!";
 
@@ -166,6 +196,9 @@ static void driver_bind(struct hotunplug *priv, int timeout)
 	igt_fail_on_f(faccessat(priv->fd.sysfs_drv, priv->dev_bus_addr,
 				F_OK, 0),
 		      "Rebound device not present!\n");
+
+	if (priv->snd_unload)
+		igt_kmod_load("snd_hda_intel", NULL);
 }
 
 /* Remove (virtually unplug) the device from its bus */
@@ -574,6 +607,7 @@ igt_main
 		.failure	= NULL,
 		.need_healthcheck = true,
 		.has_intel_perf = false,
+		.snd_unload	= false,
 	};
 
 	igt_fixture {
@@ -585,23 +619,16 @@ igt_main
 		if (is_i915_device(fd_drm)) {
 			uint32_t devid = intel_get_drm_devid(fd_drm);
 
+			if ((IS_HASWELL(devid) || IS_BROADWELL(devid) ||
+			     IS_DG1(devid)) && (igt_kmod_is_loaded("snd_hda_intel"))) {
+				igt_debug("Enable WA to unload snd driver\n");
+				priv.snd_unload = true;
+			}
+
 			gem_quiescent_gpu(fd_drm);
 			igt_require_gem(fd_drm);
 
 			priv.has_intel_perf = local_i915_perf_healthcheck(fd_drm);
-
-			/**
-			 * FIXME: Unbinding the i915 driver on some Haswell
-			 * platforms with Azalia audio results in a kernel WARN
-			 * on "i915 raw-wakerefs=1 wakelocks=1 on cleanup".  The
-			 * below CI friendly user level workaround prevents the
-			 * warning from appearing.  Drop this hack as soon as
-			 * this is fixed in the kernel.
-			 */
-			if (igt_warn_on_f(IS_HASWELL(devid) ||
-					  IS_BROADWELL(devid),
-			    "Manually enabling audio PM to work around a kernel WARN\n"))
-				igt_pm_enable_audio_runtime_pm();
 		}
 
 		/* Make sure subtests always reopen the same device */
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 05/17] tests/kms_force_connector_basic: Skip prune stale mode
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (2 preceding siblings ...)
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 04/17] tests/core_hotunplug: " venkata.sai.patnana
@ 2021-06-11  5:19 ` venkata.sai.patnana
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 06/17] tests/kms: Create buffer object from LMEM for discrete venkata.sai.patnana
                   ` (21 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Mohammed Khajapasha, Petri Latvala

From: Mohammed Khajapasha <mohammed.khajapasha@intel.com>

Skip prune stale mode test when 1400x1050 mode is not set
in mode list for pruning. Some platforms have PLL programming
restrictions that will force the driver to prune modes
using less-common link rates.

Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
---
 tests/kms_force_connector_basic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c
index a79cad03ab..3b0146fe97 100644
--- a/tests/kms_force_connector_basic.c
+++ b/tests/kms_force_connector_basic.c
@@ -316,7 +316,7 @@ igt_main_args("", long_opts, help_str, opt_handler, NULL)
 			    temp->modes[i].vdisplay == 1050)
 				break;
 		}
-		igt_assert_f(i != temp->count_modes, "1400x1050 not on mode list\n");
+		igt_require_f(i != temp->count_modes, "1400x1050 not on mode list\n");
 
 		drmModeFreeConnector(temp);
 
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 06/17] tests/kms: Create buffer object from LMEM for discrete
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (3 preceding siblings ...)
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 05/17] tests/kms_force_connector_basic: Skip prune stale mode venkata.sai.patnana
@ 2021-06-11  5:19 ` venkata.sai.patnana
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 07/17] tests/kms_addfb_basic: Add invalid buffer object test " venkata.sai.patnana
                   ` (20 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Mohammed Khajapasha, Petri Latvala

From: Mohammed Khajapasha <mohammed.khajapasha@intel.com>

Create framebuffer object from lmem for discrete file descriptor
The framebuffer backing object should be from local memory for discrete.

Cc: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Acked-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
---
 lib/ioctl_wrappers.c | 22 ++++++++++++++++++++++
 lib/ioctl_wrappers.h |  1 +
 tests/kms_big_fb.c   |  7 ++++---
 tests/kms_getfb.c    |  2 +-
 4 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 619d288a8a..48526d29cf 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -594,6 +594,28 @@ void gem_sync(int fd, uint32_t handle)
 	errno = 0;
 }
 
+/**
+ * gem_buffer_create_fb_obj:
+ * @fd: open i915 drm file descriptor
+ * @size: desired size of the buffer
+ *
+ * This wraps the GEM_CREATE ioctl, which allocates a new gem buffer object of
+ * @size from file descriptor specific region
+ *
+ * Returns: The file-private handle of the created buffer object
+ */
+uint32_t gem_buffer_create_fb_obj(int fd, uint64_t size)
+{
+	uint32_t handle;
+
+	if (gem_has_lmem(fd))
+		handle = gem_create_in_memory_regions(fd, size, REGION_LMEM(0));
+	else
+		handle = gem_create(fd, size);
+
+	return handle;
+}
+
 /**
  * __gem_execbuf:
  * @fd: open i915 drm file descriptor
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index 36640e302f..a8274a3f48 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -79,6 +79,7 @@ int __gem_set_domain(int fd, uint32_t handle, uint32_t read, uint32_t write);
 void gem_set_domain(int fd, uint32_t handle, uint32_t read, uint32_t write);
 int gem_wait(int fd, uint32_t handle, int64_t *timeout_ns);
 void gem_sync(int fd, uint32_t handle);
+uint32_t gem_buffer_create_fb_obj(int fd, uint64_t size);
 void gem_execbuf_wr(int fd, struct drm_i915_gem_execbuffer2 *execbuf);
 int __gem_execbuf_wr(int fd, struct drm_i915_gem_execbuffer2 *execbuf);
 void gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf);
diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
index 81bf054299..0ea076706f 100644
--- a/tests/kms_big_fb.c
+++ b/tests/kms_big_fb.c
@@ -470,7 +470,8 @@ test_size_overflow(data_t *data)
 	igt_require(data->max_fb_width >= 16383 &&
 		    data->max_fb_height >= 16383);
 
-	bo = gem_create(data->drm_fd, (1ULL << 32) - 4096);
+	bo = gem_buffer_create_fb_obj(data->drm_fd, (1ULL << 32) - 4096);
+
 	igt_require(bo);
 
 	ret = __kms_addfb(data->drm_fd, bo,
@@ -508,7 +509,7 @@ test_size_offset_overflow(data_t *data)
 					       DRM_FORMAT_NV12,
 					       data->modifier));
 
-	bo = gem_create(data->drm_fd, (1ULL << 32) - 4096);
+	bo = gem_buffer_create_fb_obj(data->drm_fd, (1ULL << 32) - 4096);
 	igt_require(bo);
 
 	offsets[0] = 0;
@@ -567,7 +568,7 @@ test_addfb(data_t *data)
 			 format, data->modifier,
 			 &size, &strides[0]);
 
-	bo = gem_create(data->drm_fd, size);
+	bo = gem_buffer_create_fb_obj(data->drm_fd, size);
 	igt_require(bo);
 
 	if (intel_display_ver(data->devid) < 4)
diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c
index 14be74d6e8..75f5f30c88 100644
--- a/tests/kms_getfb.c
+++ b/tests/kms_getfb.c
@@ -128,7 +128,7 @@ static void get_ccs_fb(int fd, struct drm_mode_fb_cmd2 *ret)
 		size += add.pitches[1] * ALIGN(ALIGN(add.height, 16) / 16, 32);
 	}
 
-	add.handles[0] = gem_create(fd, size);
+	add.handles[0] = gem_buffer_create_fb_obj(fd, size);
 	igt_require(add.handles[0] != 0);
 	add.handles[1] = add.handles[0];
 
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 07/17] tests/kms_addfb_basic: Add invalid buffer object test for discrete
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (4 preceding siblings ...)
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 06/17] tests/kms: Create buffer object from LMEM for discrete venkata.sai.patnana
@ 2021-06-11  5:19 ` venkata.sai.patnana
  2021-06-11 11:40   ` Petri Latvala
  2021-06-11 11:49   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 08/17] tests/kms_dp_dsc: Read the debugfs only once venkata.sai.patnana
                   ` (19 subsequent siblings)
  25 siblings, 2 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Mohammed Khajapasha, Latvala Petri

From: Mohammed Khajapasha <mohammed.khajapasha@intel.com>

Add invalid buffer object test case for discrete, to validate
IOCTL_MODE_ADDFB2 ioctl for LMEM, the framebuffer backing
gem objects should be from local memory for discrete.

Cc: Latvala Petri <petri.latvala@intel.com>
Cc: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
Acked-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
---
 tests/kms_addfb_basic.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index 1fb18d668f..a67a12c97e 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -40,6 +40,7 @@
 
 #include "igt_rand.h"
 #include "igt_device.h"
+#include "i915/intel_memory_region.h"
 
 uint32_t gem_bo;
 uint32_t gem_bo_small;
@@ -146,6 +147,22 @@ static void invalid_tests(int fd)
 		igt_assert(f.modifier[0] == 0);
 	}
 
+	igt_describe("Check if addfb2 call works for LMEM");
+	igt_subtest("invalid-smem-bo-on-discrete") {
+		int devid;
+		uint32_t handle, stride;
+		uint64_t size;
+
+		igt_require_intel(fd);
+		devid = intel_get_drm_devid(fd);
+		igt_require(gem_has_lmem(devid));
+		igt_calc_fb_size(fd, f.width, f.height,
+				DRM_FORMAT_XRGB8888, 0, &size, &stride);
+		handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
+		f.handles[0] = handle;
+		do_ioctl_err(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE);
+	}
+
 	igt_describe("Check if addfb2 call works for legacy formats");
 	igt_subtest("legacy-format") {
 		struct {
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 08/17] tests/kms_dp_dsc: Read the debugfs only once
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (5 preceding siblings ...)
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 07/17] tests/kms_addfb_basic: Add invalid buffer object test " venkata.sai.patnana
@ 2021-06-11  5:19 ` venkata.sai.patnana
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 09/17] tests/kms_big_fb: Add max HW stride length tests venkata.sai.patnana
                   ` (18 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev

From: Patnana Venkata Sai <venkata.sai.patnana@intel.com>

Instead of doing a debugfs_simple_read and then
a debugfs_read(), lets read the debugfs node just once.
We anyway get the suitable return from the following
strstr operation

Signed-off-by: Patnana Venkata Sai <venkata.sai.patnana@intel.com>
Cc: Karthik B S <karthik.b.s@intel.com>
Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Navare Manasi D <manasi.d.navare@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
---
 tests/kms_dp_dsc.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c
index 2446fd82bb..8bd2102447 100644
--- a/tests/kms_dp_dsc.c
+++ b/tests/kms_dp_dsc.c
@@ -80,8 +80,6 @@ static bool is_dp_dsc_supported(data_t *data)
 
 	strcpy(file_name, data->conn_name);
 	strcat(file_name, "/i915_dsc_fec_support");
-	igt_require(igt_debugfs_simple_read(data->debugfs_fd, file_name, buf,
-					    sizeof(buf)) > 0);
 	igt_debugfs_read(data->drm_fd, file_name, buf);
 
 	return strstr(buf, "DSC_Sink_Support: yes");
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 09/17] tests/kms_big_fb: Add max HW stride length tests
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (6 preceding siblings ...)
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 08/17] tests/kms_dp_dsc: Read the debugfs only once venkata.sai.patnana
@ 2021-06-11  5:19 ` venkata.sai.patnana
  2021-06-15  6:00   ` Shankar, Uma
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 10/17] tests/kms_big_fb: Add max hw stride lenght async flip test venkata.sai.patnana
                   ` (17 subsequent siblings)
  25 siblings, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Juha-Pekka Heikkilä

From: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>

Test maximum HW stride lengths. On Intel HW from gen5 up to
Gen10 maximum HW stride length is 32K. On Gen11 when using
64bpp formats strides can reach up to 64k. These test try
exact maximum HW strides so gtt remapping will not come in
play.

Cc: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
---
 tests/kms_big_fb.c | 154 ++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 146 insertions(+), 8 deletions(-)

diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
index 0ea076706f..65565127fd 100644
--- a/tests/kms_big_fb.c
+++ b/tests/kms_big_fb.c
@@ -50,6 +50,11 @@ typedef struct {
 	igt_render_copyfunc_t render_copy;
 	struct buf_ops *bops;
 	struct intel_bb *ibb;
+	bool max_hw_stride_test;
+	int hw_stride;
+	int max_hw_fb_width;
+	uint32_t format_override;
+	uint32_t stride_override;
 } data_t;
 
 static struct intel_buf *init_buf(data_t *data,
@@ -83,6 +88,38 @@ static void fini_buf(struct intel_buf *buf)
 	intel_buf_destroy(buf);
 }
 
+static void setup_fb(data_t *data, struct igt_fb *newfb, uint32_t width,
+		     uint32_t height, uint64_t format, uint64_t modifier, uint64_t stride)
+{
+	struct drm_mode_fb_cmd2 f = {0};
+	cairo_t *cr;
+
+	newfb->strides[0] = stride;
+	igt_create_bo_for_fb(data->drm_fd, width, height, format, modifier,
+			     newfb);
+
+	igt_assert(newfb->gem_handle > 0);
+
+	f.width = newfb->width;
+	f.height = newfb->height;
+	f.pixel_format = newfb->drm_format;
+	f.flags = LOCAL_DRM_MODE_FB_MODIFIERS;
+
+	for (int n = 0; n < newfb->num_planes; n++) {
+		f.handles[n] = newfb->gem_handle;
+		f.modifier[n] = newfb->modifier;
+		f.pitches[n] = newfb->strides[n];
+		f.offsets[n] = newfb->offsets[n];
+	}
+
+	cr = igt_get_cairo_ctx(data->drm_fd, newfb);
+	igt_paint_color(cr, 0, 0, newfb->width, newfb->height, 0, 0, 0);
+	igt_put_cairo_ctx(cr);
+
+	igt_assert(drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0);
+	newfb->fb_id = f.fb_id;
+}
+
 static void copy_pattern(data_t *data,
 			 struct igt_fb *dst_fb, int dx, int dy,
 			 struct igt_fb *src_fb, int sx, int sy,
@@ -178,9 +215,6 @@ static void max_fb_size(data_t *data, int *width, int *height,
 	uint64_t size;
 	int i = 0;
 
-	*width = data->max_fb_width;
-	*height = data->max_fb_height;
-
 	/* max fence stride is only 8k bytes on gen3 */
 	if (intel_display_ver(data->devid) < 4 &&
 	    format == DRM_FORMAT_XRGB8888)
@@ -209,10 +243,17 @@ static void prep_fb(data_t *data)
 	if (data->big_fb.fb_id)
 		return;
 
-	igt_create_fb(data->drm_fd,
-		      data->big_fb_width, data->big_fb_height,
-		      data->format, data->modifier,
-		      &data->big_fb);
+	if (data->hw_stride == 0) {
+		igt_create_fb(data->drm_fd,
+			data->big_fb_width, data->big_fb_height,
+			data->format, data->modifier,
+			&data->big_fb);
+	} else {
+		setup_fb(data, &data->big_fb, data->big_fb_width,
+			 data->big_fb_height, data->format, data->modifier,
+			 data->hw_stride);
+		igt_info("using stride length %d\n", data->hw_stride);
+	}
 
 	generate_pattern(data, &data->big_fb, 640, 480);
 }
@@ -435,6 +476,14 @@ static bool test_pipe(data_t *data)
 
 static void test_scanout(data_t *data)
 {
+	if (data->max_hw_stride_test) {
+		data->big_fb_width = data->max_hw_fb_width;
+		data->big_fb_height = data->max_hw_fb_width;
+	} else {
+		data->big_fb_width = data->max_fb_width;
+		data->big_fb_height = data->max_fb_height;
+	}
+
 	max_fb_size(data, &data->big_fb_width, &data->big_fb_height,
 		    data->format, data->modifier);
 
@@ -587,7 +636,27 @@ test_addfb(data_t *data)
 	gem_close(data->drm_fd, bo);
 }
 
-static data_t data;
+/*
+ * TODO: adapt i9xx_plane_max_stride(..) here from intel_display.c
+ * in kernel sources to support older gen for max hw stride length
+ * testing.
+ */
+static void
+set_max_hw_stride(data_t *data)
+{
+	if (intel_display_ver(data->devid) >= 13) {
+		/*
+		 * The stride in bytes must not exceed of the size
+		 * of 128K bytes. For pixel formats of 64bpp will allow
+		 * for a 16K pixel surface.
+		 */
+		data->hw_stride = 131072;
+	} else {
+		data->hw_stride = 32768;
+	}
+}
+
+static data_t data = {};
 
 static const struct {
 	uint64_t modifier;
@@ -619,6 +688,13 @@ static const struct {
 	{ IGT_ROTATION_270, 270, },
 };
 
+static const struct {
+	igt_rotation_t flip;
+	const char *flipname;
+} fliptab[] = {
+	{ 0, "" },
+	{ IGT_REFLECT_X, "-hflip" },
+};
 igt_main
 {
 	igt_fixture {
@@ -665,6 +741,9 @@ igt_main
 			data.render_copy = igt_get_render_copyfunc(data.devid);
 
 		data.bops = buf_ops_create(data.drm_fd);
+		data.ibb = intel_bb_create(data.drm_fd, 4096);
+
+		data.max_hw_stride_test = false;
 	}
 
 	/*
@@ -732,6 +811,65 @@ igt_main
 		}
 	}
 
+	data.max_hw_stride_test = true;
+	// Run max hw stride length tests on gen5 and later.
+	for (int i = 0; i < ARRAY_SIZE(modifiers); i++) {
+		data.modifier = modifiers[i].modifier;
+
+		set_max_hw_stride(&data);
+
+		for (int l = 0; l < ARRAY_SIZE(fliptab); l++) {
+			for (int j = 0; j < ARRAY_SIZE(formats); j++) {
+				/*
+				* try only those formats which can show full length.
+				* Here 32K is used to have CI test results consistent
+				* for all platforms, 32K is smallest number possbily
+				* coming to data.hw_stride from above set_max_hw_stride()
+				*/
+				if (32768 / (formats[j].bpp >> 3) > 8192)
+					continue;
+
+				data.format = formats[j].format;
+
+				for (int k = 0; k < ARRAY_SIZE(rotations); k++) {
+					data.rotation = rotations[k].rotation | fliptab[l].flip;
+
+					// this combination will never happen.
+					if ((data.rotation & (IGT_ROTATION_90 | IGT_ROTATION_270)) ||
+						(fliptab[l].flip == IGT_REFLECT_X && modifiers[i].modifier == DRM_FORMAT_MOD_LINEAR))
+						continue;
+
+					igt_describe("test maximum hardware supported stride length for given bpp and modifiers.");
+					igt_subtest_f("%s-max-hw-stride-%dbpp-rotate-%d%s", modifiers[i].name,
+						formats[j].bpp, rotations[k].angle, fliptab[l].flipname) {
+						igt_require(intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 5);
+						if (data.format_override != 0) {
+							igt_info("using format override fourcc %.4s\n", (char *)&data.format_override);
+							data.format = data.format_override;
+						}
+						if (data.stride_override != 0) {
+							igt_info("using FB width override %.d\n", data.stride_override);
+							data.hw_stride = data.stride_override;
+							data.max_hw_fb_width = data.stride_override;
+
+						} else {
+							data.max_hw_fb_width = min(data.hw_stride / (formats[j].bpp >> 3), data.max_fb_width);
+						}
+
+						igt_require(data.format == DRM_FORMAT_C8 ||
+							igt_fb_supported_format(data.format));
+						igt_require(igt_display_has_format_mod(&data.display, data.format, data.modifier));
+						test_scanout(&data);
+					}
+				}
+
+				igt_fixture
+					cleanup_fb(&data);
+			}
+		}
+	}
+	data.max_hw_stride_test = false;
+
 	igt_fixture {
 		igt_display_fini(&data.display);
 		buf_ops_destroy(data.bops);
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 10/17] tests/kms_big_fb: Add max hw stride lenght async flip test
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (7 preceding siblings ...)
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 09/17] tests/kms_big_fb: Add max HW stride length tests venkata.sai.patnana
@ 2021-06-11  5:19 ` venkata.sai.patnana
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 11/17] tests/kms_big_fb: Optimize setup_fb function venkata.sai.patnana
                   ` (16 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Juha-Pekka Heikkilä

From: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>

test async flip with fbs which are using maximum hw supported stride
lenghts. Do crc test flipping between fbs which are having same content
and then async flip fbs with different content.

Cc: Karthik B S <karthik.b.s@intel.com>
Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
---
 tests/kms_big_fb.c | 147 ++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 140 insertions(+), 7 deletions(-)

diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
index 65565127fd..89ea0f23e2 100644
--- a/tests/kms_big_fb.c
+++ b/tests/kms_big_fb.c
@@ -39,7 +39,7 @@ typedef struct {
 	igt_output_t *output;
 	igt_plane_t *plane;
 	igt_pipe_crc_t *pipe_crc;
-	struct igt_fb small_fb, big_fb;
+	struct igt_fb small_fb, big_fb, big_fb_flip[2];
 	uint32_t format;
 	uint64_t modifier;
 	int width, height;
@@ -51,10 +51,13 @@ typedef struct {
 	struct buf_ops *bops;
 	struct intel_bb *ibb;
 	bool max_hw_stride_test;
+	bool async_flip_test;
 	int hw_stride;
 	int max_hw_fb_width;
+	double planeclearrgb[3];
 	uint32_t format_override;
 	uint32_t stride_override;
+	uint32_t async_flip_support;
 } data_t;
 
 static struct intel_buf *init_buf(data_t *data,
@@ -113,7 +116,10 @@ static void setup_fb(data_t *data, struct igt_fb *newfb, uint32_t width,
 	}
 
 	cr = igt_get_cairo_ctx(data->drm_fd, newfb);
-	igt_paint_color(cr, 0, 0, newfb->width, newfb->height, 0, 0, 0);
+	igt_paint_color(cr, 0, 0, newfb->width, newfb->height,
+			data->planeclearrgb[0],
+			data->planeclearrgb[1],
+			data->planeclearrgb[2]);
 	igt_put_cairo_ctx(cr);
 
 	igt_assert(drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0);
@@ -243,7 +249,7 @@ static void prep_fb(data_t *data)
 	if (data->big_fb.fb_id)
 		return;
 
-	if (data->hw_stride == 0) {
+	if (!data->max_hw_stride_test) {
 		igt_create_fb(data->drm_fd,
 			data->big_fb_width, data->big_fb_height,
 			data->format, data->modifier,
@@ -252,7 +258,7 @@ static void prep_fb(data_t *data)
 		setup_fb(data, &data->big_fb, data->big_fb_width,
 			 data->big_fb_height, data->format, data->modifier,
 			 data->hw_stride);
-		igt_info("using stride length %d\n", data->hw_stride);
+		igt_debug("using stride length %d\n", data->hw_stride);
 	}
 
 	generate_pattern(data, &data->big_fb, 640, 480);
@@ -474,11 +480,107 @@ static bool test_pipe(data_t *data)
 	return ret;
 }
 
+static bool
+max_hw_stride_async_flip_test(data_t *data)
+{
+	uint32_t ret, startframe;
+	const uint32_t w = data->output->config.default_mode.hdisplay,
+		       h = data->output->config.default_mode.vdisplay;
+	igt_plane_t *primary;
+	igt_crc_t compare_crc, async_crc;
+
+	igt_require(data->display.is_atomic);
+	igt_output_set_pipe(data->output, data->pipe);
+
+	primary = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
+
+	if (igt_plane_has_prop(primary, IGT_PLANE_ROTATION))
+		igt_plane_set_rotation(primary, data->rotation);
+
+	igt_display_commit2(&data->display, COMMIT_ATOMIC);
+
+	setup_fb(data, &data->big_fb, data->big_fb_width, data->big_fb_height,
+		 data->format, data->modifier, data->hw_stride);
+	generate_pattern(data, &data->big_fb, 640, 480);
+
+	data->planeclearrgb[1] = 1.0;
+
+	setup_fb(data, &data->big_fb_flip[0], data->big_fb_width,
+		 data->big_fb_height, data->format, data->modifier,
+		 data->hw_stride);
+
+	data->planeclearrgb[1] = 0.0;
+
+	setup_fb(data, &data->big_fb_flip[1], data->big_fb_width,
+		 data->big_fb_height, data->format, data->modifier,
+		 data->hw_stride);
+	generate_pattern(data, &data->big_fb_flip[1], 640, 480);
+
+	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+					  INTEL_PIPE_CRC_SOURCE_AUTO);
+	igt_pipe_crc_start(data->pipe_crc);
+
+	igt_set_timeout(5, "Async pageflipping loop got stuck!\n");
+	for (int i = 0; i < 2; i++) {
+		igt_plane_set_fb(primary, &data->big_fb);
+		igt_fb_set_size(&data->big_fb, primary, w, h);
+		igt_plane_set_size(primary, w, h);
+		igt_display_commit_atomic(&data->display,
+					  DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+
+		igt_wait_for_vblank(data->drm_fd, data->display.pipes[primary->pipe->pipe].crtc_offset);
+		startframe = kmstest_get_vblank(data->drm_fd, data->pipe, 0) + 1;
+
+		for (int j = 0; j < 2; j++) {
+			do {
+				ret = drmModePageFlip(data->drm_fd, data->output->config.crtc->crtc_id,
+						      data->big_fb_flip[i].fb_id,
+						      DRM_MODE_PAGE_FLIP_ASYNC, NULL);
+			} while (ret == -EBUSY);
+			igt_assert(ret == 0);
+
+			do {
+				ret = drmModePageFlip(data->drm_fd, data->output->config.crtc->crtc_id,
+						      data->big_fb.fb_id,
+						      DRM_MODE_PAGE_FLIP_ASYNC, NULL);
+			} while (ret == -EBUSY);
+			igt_assert(ret == 0);
+		}
+
+		igt_pipe_crc_get_for_frame(data->drm_fd, data->pipe_crc,
+					   startframe, &compare_crc);
+		igt_pipe_crc_get_for_frame(data->drm_fd, data->pipe_crc,
+					   startframe + 1, &async_crc);
+
+		igt_assert_f(kmstest_get_vblank(data->drm_fd, data->pipe, 0) -
+			     startframe == 1, "lost frames\n");
+
+		igt_assert_f(igt_check_crc_equal(&compare_crc, &async_crc)^(i^1),
+			     "CRC failure with async flip, crc %s match for checked round\n",
+			     i?"should":"shouldn't");
+	}
+	igt_reset_timeout();
+
+	igt_pipe_crc_free(data->pipe_crc);
+	igt_output_set_pipe(data->output, PIPE_NONE);
+	igt_remove_fb(data->drm_fd, &data->big_fb);
+	igt_remove_fb(data->drm_fd, &data->big_fb_flip[0]);
+	igt_remove_fb(data->drm_fd, &data->big_fb_flip[1]);
+	return true;
+}
+
 static void test_scanout(data_t *data)
 {
+	igt_output_t *output;
+
 	if (data->max_hw_stride_test) {
 		data->big_fb_width = data->max_hw_fb_width;
-		data->big_fb_height = data->max_hw_fb_width;
+		data->big_fb_height = 0;
+
+		for_each_connected_output(&data->display, output) {
+			if (data->big_fb_height < output->config.default_mode.vdisplay * 2)
+				data->big_fb_height = output->config.default_mode.vdisplay * 2;
+		}
 	} else {
 		data->big_fb_width = data->max_fb_width;
 		data->big_fb_height = data->max_fb_height;
@@ -488,8 +590,13 @@ static void test_scanout(data_t *data)
 		    data->format, data->modifier);
 
 	for_each_pipe_with_valid_output(&data->display, data->pipe, data->output) {
-		if (test_pipe(data))
-			return;
+		if (data->async_flip_test) {
+			if (max_hw_stride_async_flip_test(data))
+				return;
+		} else {
+			if (test_pipe(data))
+				return;
+		}
 		break;
 	}
 
@@ -699,6 +806,7 @@ igt_main
 {
 	igt_fixture {
 		drmModeResPtr res;
+		struct drm_get_cap cap = { .capability = DRM_CAP_ASYNC_PAGE_FLIP };
 
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
 
@@ -743,7 +851,15 @@ igt_main
 		data.bops = buf_ops_create(data.drm_fd);
 		data.ibb = intel_bb_create(data.drm_fd, 4096);
 
+		data.planeclearrgb[0] = 0.0;
+		data.planeclearrgb[1] = 0.0;
+		data.planeclearrgb[2] = 0.0;
+
 		data.max_hw_stride_test = false;
+		data.async_flip_test = false;
+
+		igt_ioctl(data.drm_fd, DRM_IOCTL_GET_CAP, &cap);
+		data.async_flip_support = cap.value;
 	}
 
 	/*
@@ -861,6 +977,23 @@ igt_main
 						igt_require(igt_display_has_format_mod(&data.display, data.format, data.modifier));
 						test_scanout(&data);
 					}
+
+					// async flip doesn't support linear fbs.
+					if (modifiers[i].modifier == DRM_FORMAT_MOD_LINEAR)
+						continue;
+
+					data.async_flip_test = true;
+					igt_describe("test async flip on maximum hardware supported stride length for given bpp and modifiers.");
+					igt_subtest_f("%s-max-hw-stride-%dbpp-rotate-%d%s-async-flip", modifiers[i].name,
+						formats[j].bpp, rotations[k].angle, fliptab[l].flipname) {
+							igt_require(data.format == DRM_FORMAT_C8 ||
+								igt_fb_supported_format(data.format));
+							igt_require(igt_display_has_format_mod(&data.display, data.format, data.modifier));
+							igt_require_f(data.async_flip_support, "Async Flip is not supported\n");
+							data.max_hw_fb_width = min(data.hw_stride / (formats[j].bpp >> 3), data.max_fb_width);
+							test_scanout(&data);
+					}
+					data.async_flip_test = false;
 				}
 
 				igt_fixture
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 11/17] tests/kms_big_fb: Optimize setup_fb function
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (8 preceding siblings ...)
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 10/17] tests/kms_big_fb: Add max hw stride lenght async flip test venkata.sai.patnana
@ 2021-06-11  5:19 ` venkata.sai.patnana
  2021-06-11  9:59   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 12/17] tests/kms_dp_dsc: Add a subtest to force DSC output BPP venkata.sai.patnana
                   ` (15 subsequent siblings)
  25 siblings, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

From: Kunal Joshi <kunal1.joshi@intel.com>

Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/kms_big_fb.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
index 89ea0f23e2..3e19450a42 100644
--- a/tests/kms_big_fb.c
+++ b/tests/kms_big_fb.c
@@ -115,12 +115,15 @@ static void setup_fb(data_t *data, struct igt_fb *newfb, uint32_t width,
 		f.offsets[n] = newfb->offsets[n];
 	}
 
-	cr = igt_get_cairo_ctx(data->drm_fd, newfb);
-	igt_paint_color(cr, 0, 0, newfb->width, newfb->height,
-			data->planeclearrgb[0],
-			data->planeclearrgb[1],
-			data->planeclearrgb[2]);
-	igt_put_cairo_ctx(cr);
+       if (data->planeclearrgb[0] != 0.0 || data->planeclearrgb[1] != 0.0 ||
+           data->planeclearrgb[2] != 0.0) {
+               cr = igt_get_cairo_ctx(data->drm_fd, newfb);
+               igt_paint_color(cr, 0, 0, newfb->width, newfb->height,
+                               data->planeclearrgb[0],
+                               data->planeclearrgb[1],
+                               data->planeclearrgb[2]);
+               igt_put_cairo_ctx(cr);
+       }
 
 	igt_assert(drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0);
 	newfb->fb_id = f.fb_id;
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 12/17] tests/kms_dp_dsc: Add a subtest to force DSC output BPP
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (9 preceding siblings ...)
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 11/17] tests/kms_big_fb: Optimize setup_fb function venkata.sai.patnana
@ 2021-06-11  5:20 ` venkata.sai.patnana
  2021-06-15 15:25   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 13/17] lib: Add helper functions to read/write dsc debugfs venkata.sai.patnana
                   ` (14 subsequent siblings)
  25 siblings, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:20 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

From: Patnana Venkata Sai <venkata.sai.patnana@intel.com>

This subtest uses the accepted DSC BPPs and tries to
force a modeset by setting a certain BPP as the output
BPP for a connector.

Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
Signed-off-by: Karthik B S <karthik.b.s@intel.com> (v7)
Cc: Karthik B S <karthik.b.s@intel.com>
Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Navare Manasi D <manasi.d.navare@intel.com>
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Patnana Venkata Sai <venkata.sai.patnana@intel.com>
---
 tests/kms_dp_dsc.c | 181 ++++++++++++++++++++++++++++-----------------
 1 file changed, 113 insertions(+), 68 deletions(-)

diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c
index 8bd2102447..71d655af70 100644
--- a/tests/kms_dp_dsc.c
+++ b/tests/kms_dp_dsc.c
@@ -44,15 +44,19 @@
 #include <fcntl.h>
 #include <termios.h>
 
+/* currently dsc compression is verifying on 8bpc frame only */
+#define DRM_FORMAT_BPC	8
+
 enum dsc_test_type
 {
-	test_basic_dsc_enable
+	test_basic_dsc_enable,
+	test_dsc_compression_bpp
 };
 
 typedef struct {
 	int drm_fd;
 	int debugfs_fd;
-	uint32_t id;
+	uint32_t devid;
 	igt_display_t display;
 	struct igt_fb fb_test_pattern;
 	igt_output_t *output;
@@ -61,6 +65,7 @@ typedef struct {
 	drmModeConnector *connector;
 	drmModeEncoder *encoder;
 	int crtc;
+	int compression_bpp;
 	enum pipe pipe;
 	char conn_name[128];
 } data_t;
@@ -121,6 +126,22 @@ static void force_dp_dsc_enable(data_t *data)
 	igt_assert_f(ret > 0, "debugfs_write failed");
 }
 
+static void force_dp_dsc_enable_bpp(data_t *data)
+{
+	int ret;
+	char file_name[128] = {0};
+	char buffer[20];
+
+	sprintf(buffer, "%d", data->compression_bpp);
+	strcpy(file_name, data->conn_name);
+	strcat(file_name, "/i915_dsc_bpp_support");
+	igt_debug("Forcing DSC BPP to %d on %s\n",
+		  data->compression_bpp, data->conn_name);
+	ret = igt_sysfs_write(data->debugfs_fd, file_name,
+			      buffer, sizeof(buffer));
+	igt_assert_f(ret > 0, "debugfs_write failed");
+}
+
 static bool is_force_dsc_enabled(data_t *data)
 {
 	char file_name[128] = {0};
@@ -174,6 +195,37 @@ static void kms_dp_dsc_exit_handler(int sig)
 	restore_force_dsc_en();
 }
 
+static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
+{
+	drmModeConnector *connector;
+	igt_output_t *output;
+
+	connector = drmModeGetConnectorCurrent(data->drm_fd,
+					       drmConnector);
+	if (connector->connection != DRM_MODE_CONNECTED ||
+	    ((connector->connector_type != DRM_MODE_CONNECTOR_eDP) &&
+	    (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)))
+		return false;
+
+	output = igt_output_from_connector(&data->display, connector);
+	sprintf(data->conn_name, "%s-%d",
+		kmstest_connector_type_str(connector->connector_type),
+		connector->connector_type_id);
+
+	if (!is_dp_dsc_supported(data)) {
+		igt_debug("DSC not supported on connector %s\n",
+			  data->conn_name);
+		return false;
+	}
+	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
+	    !is_dp_fec_supported(data)) {
+		igt_debug("DSC cannot be enabled without FEC on %s\n",
+			  data->conn_name);
+		return false;
+	}
+	data->output = output;
+	return true;
+}
 
 /*
  * Re-probe connectors and do a modeset with DSC
@@ -181,6 +233,7 @@ static void kms_dp_dsc_exit_handler(int sig)
  */
 static void update_display(data_t *data, enum dsc_test_type test_type)
 {
+	bool enabled;
 	igt_plane_t *primary;
 	data->connector = data->output->config.connector;
 
@@ -188,37 +241,35 @@ static void update_display(data_t *data, enum dsc_test_type test_type)
 	igt_output_set_pipe(data->output, PIPE_NONE);
 	igt_display_commit(&data->display);
 
-	if (test_type == test_basic_dsc_enable) {
-		bool enabled;
+	igt_debug("DSC is supported on %s\n", data->conn_name);
+	save_force_dsc_en(data);
+	force_dp_dsc_enable(data);
+	if (test_type == test_dsc_compression_bpp) {
+		igt_debug("Trying to set BPP to %d\n", data->compression_bpp);
+		force_dp_dsc_enable_bpp(data);
+	}
 
-		igt_debug("DSC is supported on %s\n", data->conn_name);
-		save_force_dsc_en(data);
-		force_dp_dsc_enable(data);
+	igt_output_set_pipe(data->output, data->pipe);
+	primary = igt_output_get_plane_type(data->output,
+					    DRM_PLANE_TYPE_PRIMARY);
 
-		igt_output_set_pipe(data->output, data->pipe);
-		primary = igt_output_get_plane_type(data->output,
-						    DRM_PLANE_TYPE_PRIMARY);
+	/* Now set the output to the desired mode */
+	igt_plane_set_fb(primary, &data->fb_test_pattern);
+	igt_display_commit(&data->display);
 
-		/* Now set the output to the desired mode */
-		igt_plane_set_fb(primary, &data->fb_test_pattern);
-		igt_display_commit(&data->display);
+	/*
+	 * Until we have CRC check support, manually check if RGB test
+	 * pattern has no corruption.
+	 */
+	manual("RGB test pattern without corruption");
 
-		/*
-		 * Until we have CRC check support, manually check if RGB test
-		 * pattern has no corruption.
-		 */
-		manual("RGB test pattern without corruption");
-
-		enabled = is_dp_dsc_enabled(data);
-		restore_force_dsc_en();
-
-		igt_assert_f(enabled,
-			     "Default DSC enable failed on Connector: %s Pipe: %s\n",
-			     data->conn_name,
-			     kmstest_pipe_name(data->pipe));
-	} else {
-		igt_assert(!"Unknown test type\n");
-	}
+	enabled = is_dp_dsc_enabled(data);
+	restore_force_dsc_en();
+
+	igt_assert_f(enabled,
+		     "Default DSC enable failed on Connector: %s Pipe: %s\n",
+		     data->conn_name,
+		     kmstest_pipe_name(data->pipe));
 }
 
 static void run_test(data_t *data, igt_output_t *output,
@@ -244,12 +295,16 @@ static void run_test(data_t *data, igt_output_t *output,
 			}
 		}
 
-		if (igt_pipe_connector_valid(pipe, output)) {
-			data->pipe = pipe;
-			data->output = output;
-			update_display(data, test_type);
-			test_cleanup(data);
-		}
+		igt_dynamic_f("%s-pipe-%s", output->name, kmstest_pipe_name(pipe))
+			if (igt_pipe_connector_valid(pipe, output)) {
+				data->pipe = pipe;
+				data->output = output;
+				update_display(data, test_type);
+				test_cleanup(data);
+			}
+
+		if (test_type == test_dsc_compression_bpp)
+			break;
 	}
 
 	igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
@@ -258,57 +313,47 @@ static void run_test(data_t *data, igt_output_t *output,
 igt_main
 {
 	data_t data = {};
-	igt_output_t *output;
 	drmModeRes *res;
 	drmModeConnector *connector;
-	int i, test_conn_cnt, test_cnt;
-	int tests[] = {DRM_MODE_CONNECTOR_eDP, DRM_MODE_CONNECTOR_DisplayPort};
-
+	int i, j, test_conn_cnt;
 	igt_fixture {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
+		igt_require_intel(data.drm_fd);
+		data.devid = intel_get_drm_devid(data.drm_fd);
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
 		igt_install_exit_handler(kms_dp_dsc_exit_handler);
 		igt_display_require(&data.display, data.drm_fd);
 		igt_require(res = drmModeGetResources(data.drm_fd));
 	}
-
-	for (test_cnt = 0; test_cnt < ARRAY_SIZE(tests); test_cnt++) {
-		igt_describe("Validate display stream compression functionality if supported on "
-			       "DP/eDP connector");
-		igt_subtest_f("basic-dsc-enable-%s",
-			      kmstest_connector_type_str(tests[test_cnt])) {
+	igt_subtest_with_dynamic("basic-dsc-enable") {
+		test_conn_cnt = 0;
+		for (j = 0; j < res->count_connectors; j++) {
+			if (!check_dsc_on_connector(&data, res->connectors[j]))
+				continue;
+			test_conn_cnt++;
+			run_test(&data, data.output, test_basic_dsc_enable);
+		}
+		igt_skip_on_f(test_conn_cnt == 0, "DSC not supported on any connector\n");
+	}
+	/* currently we are validating compression bpp on XRGB8888 format only */
+	for (i = DRM_FORMAT_BPC; i <= ((DRM_FORMAT_BPC*3)-1); i++) {
+		igt_subtest_with_dynamic_f("dsc-%dbpp-compression-XRGB8888", i) {
 			test_conn_cnt = 0;
-			for (i = 0; i < res->count_connectors; i++) {
-				connector = drmModeGetConnectorCurrent(data.drm_fd,
-								       res->connectors[i]);
-				if (connector->connection != DRM_MODE_CONNECTED ||
-				    connector->connector_type !=
-				    tests[test_cnt])
-					continue;
-				output = igt_output_from_connector(&data.display, connector);
-				sprintf(data.conn_name, "%s-%d",
-					kmstest_connector_type_str(connector->connector_type),
-					connector->connector_type_id);
-				if(!is_dp_dsc_supported(&data)) {
-					igt_debug("DSC not supported on connector %s \n",
-						  data.conn_name);
-					continue;
-				}
-				if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
-				    !is_dp_fec_supported(&data)) {
-					igt_debug("DSC cannot be enabled without FEC on %s\n",
-						  data.conn_name);
+			data.compression_bpp = i;
+			igt_require(intel_display_ver(data.devid) >= 13);
+			for (j = 0; j < res->count_connectors; j++) {
+				if (!check_dsc_on_connector(&data, res->connectors[j]))
 					continue;
-				}
 				test_conn_cnt++;
-				run_test(&data, output, test_basic_dsc_enable);
+				run_test(&data, data.output, test_dsc_compression_bpp);
 			}
-			igt_skip_on(test_conn_cnt == 0);
+			igt_skip_on_f(test_conn_cnt == 0, "DSC not supported on any connector\n");
 		}
 	}
 
 	igt_fixture {
+		test_cleanup(&data);
 		drmModeFreeConnector(connector);
 		drmModeFreeResources(res);
 		close(data.debugfs_fd);
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 13/17] lib: Add helper functions to read/write dsc debugfs
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (10 preceding siblings ...)
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 12/17] tests/kms_dp_dsc: Add a subtest to force DSC output BPP venkata.sai.patnana
@ 2021-06-11  5:20 ` venkata.sai.patnana
  2021-06-15  9:13   ` Petri Latvala
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 14/17] tests/kms_dp_dsc: Assign all related data members together venkata.sai.patnana
                   ` (13 subsequent siblings)
  25 siblings, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:20 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

Reuse code for reading and writing dsc debugfs and provide helper
functions to get dsc related parameters in lib igt_kms.

Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 lib/igt_kms.c | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_kms.h |   9 ++++
 2 files changed, 144 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index c7c69b6ea0..1520b2d16c 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -5183,3 +5183,138 @@ void igt_dump_crtcs_fd(int drmfd)
 
 	drmModeFreeResources(mode_resources);
 }
+
+static
+bool check_dsc_debugfs(int drmfd, drmModeConnector *connector,
+		       const char *check_str)
+{
+	char file_name[128] = {0};
+	char buf[512];
+
+	sprintf(file_name, "%s-%d/i915_dsc_fec_support",
+		kmstest_connector_type_str(connector->connector_type),
+		connector->connector_type_id);
+
+	igt_debugfs_read(drmfd, file_name, buf);
+
+	return strstr(buf, check_str);
+}
+
+static
+int write_dsc_debugfs(int drmfd, drmModeConnector *connector,
+		      const char *file_name,
+		      const char *write_buf)
+{
+	int debugfs_fd = igt_debugfs_dir(drmfd);
+	int len = strlen(write_buf);
+	int ret;
+	char file_path[128] = {0};
+
+	sprintf(file_path, "%s-%d/%s",
+		kmstest_connector_type_str(connector->connector_type),
+		connector->connector_type_id,
+		file_name);
+
+	ret = igt_sysfs_write(debugfs_fd, file_path, write_buf, len);
+
+	close(debugfs_fd);
+
+	return ret;
+}
+
+/*
+ * igt_is_dp_dsc_supported:
+ * @drmfd: A drm file descriptor
+ * @connector: Pointer to libdrm connector
+ *
+ * Returns: True if DSC is supported for the given connector, false otherwise.
+ */
+bool igt_is_dp_dsc_supported(int drmfd, drmModeConnector *connector)
+{
+	return check_dsc_debugfs(drmfd, connector, "DSC_Sink_Support: yes");
+}
+
+/*
+ * igt_is_dp_fec_supported:
+ * @drmfd: A drm file descriptor
+ * @connector: Pointer to libdrm connector
+ *
+ * Returns: True if FEC is supported for the given connector, false otherwise.
+ */
+bool igt_is_dp_fec_supported(int drmfd, drmModeConnector *connector)
+{
+
+	return check_dsc_debugfs(drmfd, connector, "FEC_Sink_Support: yes");
+}
+
+/*
+ * igt_is_dp_dsc_enabled:
+ * @drmfd: A drm file descriptor
+ * @connector: Pointer to libdrm connector
+ *
+ * Returns: True if DSC is enabled for the given connector, false otherwise.
+ */
+bool igt_is_dp_dsc_enabled(int drmfd, drmModeConnector *connector)
+{
+	return check_dsc_debugfs(drmfd, connector, "DSC_Enabled: yes");
+}
+
+/*
+ * igt_is_force_dsc_enabled:
+ * @drmfd: A drm file descriptor
+ * @connector: Pointer to libdrm connector
+ *
+ * Returns: True if DSC is force enabled (via debugfs) for the given connector,
+ * false otherwise.
+ */
+bool igt_is_force_dsc_enabled(int drmfd, drmModeConnector *connector)
+{
+	return check_dsc_debugfs(drmfd, connector, "Force_DSC_Enable: yes");
+}
+
+/*
+ * igt_force_dp_dsc_enable:
+ * @drmfd: A drm file descriptor
+ * @connector: Pointer to libdrm connector
+ *
+ * Returns: 1 on success or negative error code, in case of failure.
+ */
+int igt_force_dp_dsc_enable(int drmfd, drmModeConnector *connector)
+{
+	return write_dsc_debugfs(drmfd, connector, "i915_dsc_fec_support", "1");
+}
+
+/*
+ * igt_force_dp_dsc_enable:
+ * @drmfd: A drm file descriptor
+ * @connector: Pointer to libdrm connector
+ * @bpp: Compressed bpp to be used with DSC
+ *
+ * Returns: No. of bytes written or negative error code, in case of failure.
+ */
+int igt_force_dp_dsc_enable_bpp(int drmfd, drmModeConnector *connector, int bpp)
+{
+	char buf[20] = {0};
+
+	sprintf(buf, "%d", bpp);
+
+	return write_dsc_debugfs(drmfd, connector, "i915_dsc_bpp_support", buf);
+}
+
+/*
+ * igt_get_dp_dsc_debugfs_fd:
+ * @drmfd: A drm file descriptor
+ * @connector: Pointer to libdrm connector
+ *
+ * Returns: fd of the DSC debugfs for the given connector, else returns -1.
+ */
+int igt_get_dp_dsc_debugfs_fd(int drmfd, drmModeConnector *connector)
+{
+	char file_name[128] = {0};
+
+	sprintf(file_name, "%s-%d/i915_dsc_fec_support",
+		kmstest_connector_type_str(connector->connector_type),
+		connector->connector_type_id);
+
+	return openat(igt_debugfs_dir(drmfd), file_name, O_WRONLY);
+}
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 8cde24b791..e87d1913e5 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -917,4 +917,13 @@ void igt_dump_connectors_fd(int drmfd);
 void igt_dump_crtcs_fd(int drmfd);
 bool igt_override_all_active_output_modes_to_fit_bw(igt_display_t *display);
 
+bool igt_is_dp_dsc_supported(int drmfd, drmModeConnector *connector);
+bool igt_is_dp_fec_supported(int drmfd, drmModeConnector *connector);
+bool igt_is_dp_dsc_enabled(int drmfd, drmModeConnector *connector);
+bool igt_is_force_dsc_enabled(int drmfd, drmModeConnector *connector);
+int igt_force_dp_dsc_enable(int drmfd, drmModeConnector *connector);
+int igt_force_dp_dsc_enable_bpp(int drmfd, drmModeConnector *connector,
+				int bpp);
+int igt_get_dp_dsc_debugfs_fd(int drmfd, drmModeConnector *connector);
+
 #endif /* __IGT_KMS_H__ */
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 14/17] tests/kms_dp_dsc: Assign all related data members together
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (11 preceding siblings ...)
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 13/17] lib: Add helper functions to read/write dsc debugfs venkata.sai.patnana
@ 2021-06-11  5:20 ` venkata.sai.patnana
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 15/17] tests/kms_dp_dsc: Use helper functions to read/write dsc debugfs venkata.sai.patnana
                   ` (12 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:20 UTC (permalink / raw)
  To: igt-dev

From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

Currently, members connector and output mode of the data are set separately,
than the other data related members like conn_name and output.
Move these assignments together.

Cc: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Karthik B S <karthik.b.s@intel.com>
---
 tests/kms_dp_dsc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c
index 71d655af70..eecb9e45da 100644
--- a/tests/kms_dp_dsc.c
+++ b/tests/kms_dp_dsc.c
@@ -62,7 +62,6 @@ typedef struct {
 	igt_output_t *output;
 	int mode_valid;
 	drmModeModeInfo *mode;
-	drmModeConnector *connector;
 	drmModeEncoder *encoder;
 	int crtc;
 	int compression_bpp;
@@ -224,6 +223,8 @@ static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
 		return false;
 	}
 	data->output = output;
+	data->mode = igt_output_get_mode(data->output);
+
 	return true;
 }
 
@@ -235,7 +236,6 @@ static void update_display(data_t *data, enum dsc_test_type test_type)
 {
 	bool enabled;
 	igt_plane_t *primary;
-	data->connector = data->output->config.connector;
 
 	/* Disable the output first */
 	igt_output_set_pipe(data->output, PIPE_NONE);
@@ -288,7 +288,7 @@ static void run_test(data_t *data, igt_output_t *output,
 		if (is_i915_device(data->drm_fd)) {
 			uint32_t devid = intel_get_drm_devid(data->drm_fd);
 
-			if (data->connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
+			if (data->output->config.connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
 			    data->pipe == PIPE_A && IS_GEN11(devid)) {
 				igt_debug("DSC not supported on Pipe A on external DP in Gen11 platforms\n");
 				continue;
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 15/17] tests/kms_dp_dsc: Use helper functions to read/write dsc debugfs
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (12 preceding siblings ...)
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 14/17] tests/kms_dp_dsc: Assign all related data members together venkata.sai.patnana
@ 2021-06-11  5:20 ` venkata.sai.patnana
  2021-06-15  9:15   ` Petri Latvala
  2021-06-15 15:25   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 16/17] tests/kms_invalid_dotclock: Modify the test for bigjoiner venkata.sai.patnana
                   ` (11 subsequent siblings)
  25 siblings, 2 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:20 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

Remove funtions for reading different dsc parameters from dsc debugfs.
Use the helper functions for reading and writing dsc debugfs.

Cc: Petri Latvala <petri.latvala@intel.com> (v3)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 tests/kms_dp_dsc.c | 87 ++++++++--------------------------------------
 1 file changed, 15 insertions(+), 72 deletions(-)

diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c
index eecb9e45da..f87112e6e7 100644
--- a/tests/kms_dp_dsc.c
+++ b/tests/kms_dp_dsc.c
@@ -55,7 +55,6 @@ enum dsc_test_type
 
 typedef struct {
 	int drm_fd;
-	int debugfs_fd;
 	uint32_t devid;
 	igt_display_t display;
 	struct igt_fb fb_test_pattern;
@@ -77,91 +76,36 @@ static inline void manual(const char *expected)
 	igt_debug_manual_check("all", expected);
 }
 
-static bool is_dp_dsc_supported(data_t *data)
-{
-	char file_name[128] = {0};
-	char buf[512];
-
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
-	igt_debugfs_read(data->drm_fd, file_name, buf);
-
-	return strstr(buf, "DSC_Sink_Support: yes");
-}
-
-static bool is_dp_fec_supported(data_t *data)
-{
-	char file_name[128] = {0};
-	char buf[512];
-
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
-	igt_debugfs_read(data->drm_fd, file_name, buf);
-
-	return strstr(buf, "FEC_Sink_Support: yes");
-}
-
-static bool is_dp_dsc_enabled(data_t *data)
-{
-	char file_name[128] = {0};
-	char buf[512];
-
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
-	igt_debugfs_read(data->drm_fd, file_name, buf);
-
-	return strstr(buf, "DSC_Enabled: yes");
-}
-
 static void force_dp_dsc_enable(data_t *data)
 {
-	char file_name[128] = {0};
 	int ret;
 
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
 	igt_debug ("Forcing DSC enable on %s\n", data->conn_name);
-	ret = igt_sysfs_write(data->debugfs_fd, file_name, "1", 1);
+	ret = igt_force_dp_dsc_enable(data->drm_fd,
+				      data->output->config.connector);
 	igt_assert_f(ret > 0, "debugfs_write failed");
 }
 
 static void force_dp_dsc_enable_bpp(data_t *data)
 {
 	int ret;
-	char file_name[128] = {0};
-	char buffer[20];
 
-	sprintf(buffer, "%d", data->compression_bpp);
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_bpp_support");
 	igt_debug("Forcing DSC BPP to %d on %s\n",
 		  data->compression_bpp, data->conn_name);
-	ret = igt_sysfs_write(data->debugfs_fd, file_name,
-			      buffer, sizeof(buffer));
+	ret = igt_force_dp_dsc_enable_bpp(data->drm_fd,
+					  data->output->config.connector,
+					  data->compression_bpp);
 	igt_assert_f(ret > 0, "debugfs_write failed");
 }
 
-static bool is_force_dsc_enabled(data_t *data)
-{
-	char file_name[128] = {0};
-	char buf[512];
-
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
-	igt_debugfs_read(data->drm_fd, file_name, buf);
-
-	return strstr(buf, "Force_DSC_Enable: yes");
-}
-
 static void save_force_dsc_en(data_t *data)
 {
-	char file_name[128] = {0};
-
-	force_dsc_en_orig = is_force_dsc_enabled(data);
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
-	force_dsc_restore_fd = openat(igt_debugfs_dir(data->drm_fd),
-				      file_name, O_WRONLY);
+	force_dsc_en_orig =
+		igt_is_force_dsc_enabled(data->drm_fd,
+					 data->output->config.connector);
+	force_dsc_restore_fd =
+		igt_get_dp_dsc_debugfs_fd(data->drm_fd,
+					  data->output->config.connector);
 	igt_assert(force_dsc_restore_fd >= 0);
 }
 
@@ -211,13 +155,13 @@ static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
 		kmstest_connector_type_str(connector->connector_type),
 		connector->connector_type_id);
 
-	if (!is_dp_dsc_supported(data)) {
+	if (!igt_is_dp_dsc_supported(data->drm_fd, connector)) {
 		igt_debug("DSC not supported on connector %s\n",
 			  data->conn_name);
 		return false;
 	}
 	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
-	    !is_dp_fec_supported(data)) {
+	    !igt_is_dp_fec_supported(data->drm_fd, connector)) {
 		igt_debug("DSC cannot be enabled without FEC on %s\n",
 			  data->conn_name);
 		return false;
@@ -263,7 +207,8 @@ static void update_display(data_t *data, enum dsc_test_type test_type)
 	 */
 	manual("RGB test pattern without corruption");
 
-	enabled = is_dp_dsc_enabled(data);
+	enabled = igt_is_dp_dsc_enabled(data->drm_fd,
+					data->output->config.connector);
 	restore_force_dsc_en();
 
 	igt_assert_f(enabled,
@@ -320,7 +265,6 @@ igt_main
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		igt_require_intel(data.drm_fd);
 		data.devid = intel_get_drm_devid(data.drm_fd);
-		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
 		igt_install_exit_handler(kms_dp_dsc_exit_handler);
 		igt_display_require(&data.display, data.drm_fd);
@@ -356,7 +300,6 @@ igt_main
 		test_cleanup(&data);
 		drmModeFreeConnector(connector);
 		drmModeFreeResources(res);
-		close(data.debugfs_fd);
 		close(data.drm_fd);
 		igt_display_fini(&data.display);
 	}
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 16/17] tests/kms_invalid_dotclock: Modify the test for bigjoiner
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (13 preceding siblings ...)
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 15/17] tests/kms_dp_dsc: Use helper functions to read/write dsc debugfs venkata.sai.patnana
@ 2021-06-11  5:20 ` venkata.sai.patnana
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 17/17] tests/kms_cdclk : Add test to validate cdclk crawling venkata.sai.patnana
                   ` (10 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:20 UTC (permalink / raw)
  To: igt-dev; +Cc: Juha-Pekka Heikkilä

From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

Currently the test assumes that the modes with clock more than the
maximum dot clock will be rejected. This fails in case of
platforms that combine multiple pipes and modes higher than the
maximum dotclock can still be supported.

This patch modifies the test to bump the clock for the given mode
by twice if bigjoiner is supported.

Cc: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
---
 tests/kms_invalid_dotclock.c | 34 ++++++++++++++++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)

diff --git a/tests/kms_invalid_dotclock.c b/tests/kms_invalid_dotclock.c
index 402629ab09..bd822fe760 100644
--- a/tests/kms_invalid_dotclock.c
+++ b/tests/kms_invalid_dotclock.c
@@ -43,6 +43,25 @@ static bool has_scaling_mode_prop(data_t *data)
 				    "scaling mode",
 				    NULL, NULL, NULL);
 }
+static bool
+can_bigjoiner(data_t *data)
+{
+	drmModeConnector *connector = data->output->config.connector;
+	uint32_t devid = intel_get_drm_devid(data->drm_fd);
+
+	/*
+	 * GEN11 and GEN12 require DSC to support bigjoiner.
+	 * XELPD and later GEN support uncompressed bigjoiner.
+	 */
+	if (intel_display_ver(devid)) {
+		igt_debug("Platform supports uncompressed bigjoiner\n");
+		return true;
+	} else if (intel_display_ver(devid) >= 11) {
+		return igt_is_dp_dsc_supported(data->drm_fd, connector);
+	}
+
+	return false;
+}
 
 static int
 test_output(data_t *data)
@@ -70,12 +89,25 @@ test_output(data_t *data)
 	mode = *igt_output_get_mode(output);
 	mode.clock = data->max_dotclock + 1;
 
+	/*
+	 * Newer platforms can support modes higher than the maximum dot clock
+	 * by using pipe joiner, so set the mode clock twice that of maximum
+	 * dot clock;
+	 */
+	if (can_bigjoiner(data)) {
+		igt_info("Platform supports bigjoiner with %s\n",
+			  output->name);
+		mode.clock *= 2;
+	}
+
 	igt_create_fb(data->drm_fd,
 		      mode.hdisplay, mode.vdisplay,
 		      DRM_FORMAT_XRGB8888,
 		      LOCAL_DRM_FORMAT_MOD_NONE,
 		      &fb);
 
+	kmstest_unset_all_crtcs(data->drm_fd, data->res);
+
 	for (i = 0; i < data->res->count_crtcs; i++) {
 		int ret;
 
@@ -135,8 +167,6 @@ igt_simple_main
 	data.res = drmModeGetResources(data.drm_fd);
 	igt_assert(data.res);
 
-	kmstest_unset_all_crtcs(data.drm_fd, data.res);
-
 	data.max_dotclock = i915_max_dotclock(&data);
 	igt_info("Max dotclock: %d kHz\n", data.max_dotclock);
 
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 17/17] tests/kms_cdclk : Add test to validate cdclk crawling
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (14 preceding siblings ...)
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 16/17] tests/kms_invalid_dotclock: Modify the test for bigjoiner venkata.sai.patnana
@ 2021-06-11  5:20 ` venkata.sai.patnana
  2021-06-11  9:59   ` venkata.sai.patnana
  2021-06-11  6:15 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering Patchwork
                   ` (9 subsequent siblings)
  25 siblings, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  5:20 UTC (permalink / raw)
  To: igt-dev; +Cc: Juha-Pekka Heikkilä

From: Swati Sharma <swati2.sharma@intel.com>

Added test to validate cdclk crawling

* created new IGT
* added 3 test scenarios (basic, scalar and mode-transition)
* used existing i915_freq_info debugfs API to validate change in cdclk

It's expected cdclk to change when we have transition from lower mode to
higher mode or when plane scaling comes into picture. Tested these
scenarios locally while passing "allow modeset"; could see the
transition in cdclk. However, to validate above two features; cdclk
should change even w/o "allow modeset" i.e. w/o full modeset.
This test can be actually validated only on h/w since pre-si doesn't
support both these features.

Cc: Mika Kahola <mika.kahola@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
 tests/kms_cdclk.c | 311 ++++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build |   1 +
 2 files changed, 312 insertions(+)
 create mode 100644 tests/kms_cdclk.c

diff --git a/tests/kms_cdclk.c b/tests/kms_cdclk.c
new file mode 100644
index 0000000000..b82642ed18
--- /dev/null
+++ b/tests/kms_cdclk.c
@@ -0,0 +1,311 @@
+/*
+ * Copyright © 2020 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Author:
+ *  Swati Sharma <swati2.sharma@intel.com>
+ */
+
+#include "igt.h"
+
+IGT_TEST_DESCRIPTION("Test cdclk features : squasher and crawling");
+
+/* Test flags */
+enum {
+	TEST_BASIC = 1 << 0,
+	TEST_PLANESCALING = 1 << 1,
+	TEST_MODETRANSITION = 1 << 2,
+};
+
+typedef struct {
+	int drm_fd;
+	int debugfs_fd;
+	uint32_t devid;
+	igt_display_t display;
+} data_t;
+
+static bool hardware_supported(data_t *data)
+{
+        if (intel_display_ver(data->devid) >= 13)
+		return true;
+
+	return false;
+}
+
+static int get_current_cdclk_freq(int debugfs_fd)
+{
+	int cdclk_freq_current;
+	char buf[1024];
+	char *start_loc;
+	int res;
+
+	res = igt_debugfs_simple_read(debugfs_fd, "i915_frequency_info",
+				      buf, sizeof(buf));
+	igt_require(res > 0);
+
+	igt_assert(start_loc = strstr(buf, "Current CD clock frequency: "));
+	igt_assert_eq(sscanf(start_loc, "Current CD clock frequency: %d", &cdclk_freq_current), 1);
+	igt_info("Current CD clock frequency: %d\n", cdclk_freq_current);
+
+	return cdclk_freq_current;
+}
+
+static __u64 get_mode_data_rate(drmModeModeInfo *mode)
+{
+	__u64 data_rate = (__u64)mode->hdisplay * (__u64)mode->vdisplay * (__u64)mode->vrefresh;
+	return data_rate;
+}
+
+static drmModeModeInfo *get_highres_mode(igt_output_t *output)
+{
+	drmModeModeInfo *highest_mode = NULL;
+	drmModeConnector *connector = output->config.connector;
+	int j;
+
+	for (j = 0; j < connector->count_modes; j++) {
+		if (!highest_mode) {
+			highest_mode = &connector->modes[j];
+		} else if (connector->modes[j].vdisplay && connector->modes[j].hdisplay) {
+			__u64 highest_data_rate = get_mode_data_rate(highest_mode);
+			__u64 data_rate = get_mode_data_rate(&connector->modes[j]);
+
+			if (highest_data_rate < data_rate)
+				highest_mode = &connector->modes[j];
+		}
+	}
+
+	return highest_mode;
+}
+
+static drmModeModeInfo *get_lowres_mode(igt_output_t *output)
+{
+	drmModeModeInfo *lowest_mode = NULL;
+	drmModeConnector *connector = output->config.connector;
+	int j;
+
+	for (j = 0; j < connector->count_modes; j++) {
+		if (!lowest_mode) {
+			lowest_mode = &connector->modes[j];
+		} else if (connector->modes[j].vdisplay && connector->modes[j].hdisplay) {
+			__u64 lowest_data_rate = get_mode_data_rate(lowest_mode);
+			__u64 data_rate = get_mode_data_rate(&output->config.connector->modes[j]);
+
+			if (lowest_data_rate > data_rate)
+				lowest_mode = &connector->modes[j];
+		}
+	}
+
+	return lowest_mode;
+}
+
+static void do_cleanup_display(igt_display_t *dpy)
+{
+	enum pipe pipe;
+	igt_output_t *output;
+	igt_plane_t *plane;
+
+	for_each_pipe(dpy, pipe)
+		for_each_plane_on_pipe(dpy, pipe, plane)
+			igt_plane_set_fb(plane, NULL);
+
+	for_each_connected_output(dpy, output)
+		igt_output_set_pipe(output, PIPE_NONE);
+
+	igt_display_commit2(dpy, dpy->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+}
+
+static void test_basic(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+
+	igt_plane_set_fb(primary, &fb);
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void test_plane_scaling(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode;
+	int scaling = 60;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+	igt_plane_set_fb(primary, &fb);
+
+	/* downscaling */
+	igt_plane_set_size(primary, ((fb.width * scaling) / 100), ((fb.height * scaling) / 100));
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void test_mode_transition(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode_hi, *mode_lo, *mode;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	mode_lo = get_lowres_mode(output);
+	mode_hi = get_highres_mode(output);
+
+	if (mode_hi->hdisplay == mode_lo->hdisplay &&
+	    mode_hi->vdisplay == mode_lo->vdisplay)
+		igt_skip("Highest and lowest mode resolutions are same; no transition\n");
+
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+
+	/* switch to lower resolution */
+	igt_output_override_mode(output, mode_lo);
+	igt_plane_set_fb(primary, &fb);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+
+	/* switch to higher resolution */
+	igt_output_override_mode(output, mode_hi);
+	igt_plane_set_fb(primary, &fb);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void run_cdclk_test(data_t *data, uint32_t flags)
+{
+	igt_display_t *display = &data->display;
+	igt_output_t *output;
+	enum pipe pipe;
+
+	for_each_pipe_with_valid_output(display, pipe, output) {
+		igt_dynamic_f("%s-pipe-%s", output->name, kmstest_pipe_name(pipe))
+			if (igt_pipe_connector_valid(pipe, output)) {
+				if (flags & TEST_BASIC)
+					test_basic(data, pipe, output);
+				if (flags & TEST_PLANESCALING)
+					test_plane_scaling(data, pipe, output);
+				if (flags & TEST_MODETRANSITION)
+					test_mode_transition(data, pipe, output);
+			}
+	}
+}
+
+igt_main
+{
+	data_t data = {};
+
+	igt_fixture {
+		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+		igt_require(data.drm_fd >= 0);
+		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
+		igt_require(data.debugfs_fd);
+		kmstest_set_vt_graphics_mode();
+		data.devid = intel_get_drm_devid(data.drm_fd);
+		igt_require_f(hardware_supported(&data),
+			      "Hardware doesn't support either squashing "\
+			      "or crawling.\n");
+		igt_display_require(&data.display, data.drm_fd);
+		igt_display_require_output(&data.display);
+	}
+
+	igt_describe("Basic test to validate cdclk frequency change w/o "\
+		     "requiring full modeset.");
+	igt_subtest_with_dynamic("basic")
+		run_cdclk_test(&data, TEST_BASIC);
+	igt_describe("Plane scaling test to validate cdclk frequency change w/o "\
+		     "requiring full modeset.");
+	igt_subtest_with_dynamic("plane-scaling")
+		run_cdclk_test(&data, TEST_PLANESCALING);
+	igt_describe("Mode transition (low to high) test to validate cdclk frequency "\
+		     "change w/o requiring full modeset.");
+	igt_subtest_with_dynamic("mode-transition")
+		run_cdclk_test(&data, TEST_MODETRANSITION);
+
+	igt_fixture {
+		igt_display_fini(&data.display);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index e5954e2832..d3de40be07 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -23,6 +23,7 @@ test_progs = [
 	'kms_big_joiner' ,
 	'kms_busy',
 	'kms_ccs',
+	'kms_cdclk',
 	'kms_concurrent',
 	'kms_content_protection',
 	'kms_cursor_crc',
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (15 preceding siblings ...)
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 17/17] tests/kms_cdclk : Add test to validate cdclk crawling venkata.sai.patnana
@ 2021-06-11  6:15 ` Patchwork
  2021-06-11  9:15 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
                   ` (8 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2021-06-11  6:15 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev


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

== Series Details ==

Series: series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering
URL   : https://patchwork.freedesktop.org/series/91371/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10209 -> IGTPW_5910
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_5910 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_5910, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

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

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

### IGT changes ###

#### Warnings ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-hsw-4770:        [WARN][1] ([i915#2283]) -> [WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@core_hotunplug@unbind-rebind:
    - {fi-hsw-gt1}:       [WARN][3] ([i915#2283]) -> [WARN][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-hsw-gt1/igt@core_hotunplug@unbind-rebind.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-hsw-gt1/igt@core_hotunplug@unbind-rebind.html

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

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

### IGT changes ###

#### Possible fixes ####

  * igt@i915_selftest@live@gt_heartbeat:
    - {fi-tgl-1115g4}:    [DMESG-FAIL][5] ([i915#541]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-tgl-1115g4/igt@i915_selftest@live@gt_heartbeat.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-tgl-1115g4/igt@i915_selftest@live@gt_heartbeat.html

  
#### Warnings ####

  * igt@i915_selftest@live@execlists:
    - fi-cfl-8109u:       [INCOMPLETE][7] ([i915#3462]) -> [DMESG-FAIL][8] ([i915#3462])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-cfl-8109u/igt@i915_selftest@live@execlists.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-cfl-8109u/igt@i915_selftest@live@execlists.html
    - fi-icl-u2:          [INCOMPLETE][9] ([i915#2782] / [i915#3462]) -> [DMESG-FAIL][10] ([i915#3462])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-icl-u2/igt@i915_selftest@live@execlists.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-icl-u2/igt@i915_selftest@live@execlists.html
    - fi-cml-s:           [DMESG-FAIL][11] ([i915#3462]) -> [INCOMPLETE][12] ([i915#3462])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-cml-s/igt@i915_selftest@live@execlists.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-cml-s/igt@i915_selftest@live@execlists.html

  * igt@runner@aborted:
    - fi-kbl-x1275:       [FAIL][13] ([i915#1436] / [i915#3363]) -> [FAIL][14] ([i915#1436] / [i915#2426] / [i915#3363])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-kbl-x1275/igt@runner@aborted.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-kbl-x1275/igt@runner@aborted.html
    - fi-cfl-8109u:       [FAIL][15] ([i915#3363]) -> [FAIL][16] ([i915#2426] / [i915#3363])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-cfl-8109u/igt@runner@aborted.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-cfl-8109u/igt@runner@aborted.html
    - fi-icl-u2:          [FAIL][17] ([i915#2782] / [i915#3363]) -> [FAIL][18] ([i915#2426] / [i915#2782] / [i915#3363])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-icl-u2/igt@runner@aborted.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-icl-u2/igt@runner@aborted.html
    - fi-kbl-r:           [FAIL][19] ([i915#1436] / [i915#2426] / [i915#3363]) -> [FAIL][20] ([i915#1436] / [i915#3363])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-kbl-r/igt@runner@aborted.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-kbl-r/igt@runner@aborted.html
    - fi-kbl-soraka:      [FAIL][21] ([i915#1436] / [i915#3363]) -> [FAIL][22] ([i915#1436] / [i915#2426] / [i915#3363])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-kbl-soraka/igt@runner@aborted.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-kbl-soraka/igt@runner@aborted.html
    - fi-cml-u2:          [FAIL][23] ([i915#3363] / [i915#3462]) -> [FAIL][24] ([i915#2082] / [i915#2426] / [i915#3363] / [i915#3462])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-cml-u2/igt@runner@aborted.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-cml-u2/igt@runner@aborted.html
    - fi-skl-guc:         [FAIL][25] ([i915#1436] / [i915#2426] / [i915#3363]) -> [FAIL][26] ([i915#1436] / [i915#3363])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/fi-skl-guc/igt@runner@aborted.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/fi-skl-guc/igt@runner@aborted.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#2082]: https://gitlab.freedesktop.org/drm/intel/issues/2082
  [i915#2283]: https://gitlab.freedesktop.org/drm/intel/issues/2283
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2782]: https://gitlab.freedesktop.org/drm/intel/issues/2782
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#3462]: https://gitlab.freedesktop.org/drm/intel/issues/3462
  [i915#541]: https://gitlab.freedesktop.org/drm/intel/issues/541


Participating hosts (44 -> 39)
------------------------------

  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-dg1-1 fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6104 -> IGTPW_5910

  CI-20190529: 20190529
  CI_DRM_10209: a86fe137c0ea2e44c75b4b6c3f447af677508679 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5910: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/index.html
  IGT_6104: f8f81bd3752f3126a47d9dbba2d0ab29f7c17a19 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git



== Testlist changes ==

+igt@kms_addfb_basic@invalid-smem-bo-on-discrete
+igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_cdclk@basic
+igt@kms_cdclk@mode-transition
+igt@kms_cdclk@plane-scaling
+igt@kms_dither@fb-8bpc-vs-panel-6bpc
+igt@kms_dither@fb-8bpc-vs-panel-8bpc
+igt@kms_dither@fb-16bpc-vs-panel-12bpc
+igt@kms_dp_dsc@basic-dsc-enable
+igt@kms_dp_dsc@dsc-8bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-10bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-11bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-12bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-13bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-14bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-16bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-17bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-18bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-19bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-20bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-21bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-22bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888
-igt@kms_dp_dsc@basic-dsc-enable-dp
-igt@kms_dp_dsc@basic-dsc-enable-edp

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 14747 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] 46+ messages in thread

* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (16 preceding siblings ...)
  2021-06-11  6:15 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering Patchwork
@ 2021-06-11  9:15 ` Patchwork
  2021-06-11 12:17   ` Petri Latvala
  2021-06-11 10:56 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev3) Patchwork
                   ` (7 subsequent siblings)
  25 siblings, 1 reply; 46+ messages in thread
From: Patchwork @ 2021-06-11  9:15 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev


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

== Series Details ==

Series: series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering
URL   : https://patchwork.freedesktop.org/series/91371/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10209_full -> IGTPW_5910_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_5910_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_5910_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_addfb_basic@invalid-smem-bo-on-discrete} (NEW):
    - shard-tglb:         NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-kbl:          NOTRUN -> [FAIL][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-iclb:         NOTRUN -> [FAIL][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * {igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip} (NEW):
    - shard-snb:          NOTRUN -> [FAIL][4] +3 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-snb6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * {igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip} (NEW):
    - shard-apl:          NOTRUN -> [FAIL][5] +6 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl3/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
    - shard-glk:          NOTRUN -> [FAIL][6] +9 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * {igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a} (NEW):
    - shard-iclb:         NOTRUN -> [SKIP][7] +29 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb1/igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a.html

  * {igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888} (NEW):
    - shard-tglb:         NOTRUN -> [SKIP][8] +36 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb7/igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible@a-hdmi-a2:
    - shard-glk:          [PASS][9] -> [FAIL][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-glk5/igt@kms_flip@modeset-vs-vblank-race-interruptible@a-hdmi-a2.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk2/igt@kms_flip@modeset-vs-vblank-race-interruptible@a-hdmi-a2.html

  
New tests
---------

  New tests have been introduced between CI_DRM_10209_full and IGTPW_5910_full:

### New IGT tests (90) ###

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - Statuses : 5 fail(s)
    - Exec time: [0.01, 0.12] s

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0:
    - Statuses : 6 pass(s)
    - Exec time: [1.01, 2.01] s

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [1.00, 2.02] s

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0:
    - Statuses : 6 pass(s)
    - Exec time: [1.12, 2.18] s

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [1.12, 2.07] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 6 pass(s)
    - Exec time: [1.01, 1.91] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 5 pass(s)
    - Exec time: [0.46, 1.41] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.02, 1.45] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.07, 0.47] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 6 pass(s)
    - Exec time: [1.02, 1.88] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 6 pass(s)
    - Exec time: [0.45, 1.40] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.03, 1.45] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 4 fail(s) 2 pass(s)
    - Exec time: [0.02, 0.55] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 4 pass(s)
    - Exec time: [1.16, 2.11] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 4 pass(s)
    - Exec time: [0.73, 2.26] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.07, 1.75] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.02, 1.65] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [1.13, 2.05] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 6 pass(s)
    - Exec time: [0.69, 2.59] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.05, 1.61] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.01, 1.47] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 5 pass(s)
    - Exec time: [1.04, 2.02] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 1.51] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.0, 1.48] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.74] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.01] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 1.64] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.0, 1.48] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 1 fail(s) 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.73] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.11] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.55] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.10, 1.43] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 2 fail(s) 2 pass(s)
    - Exec time: [0.03, 2.25] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.05] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.74] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.0, 1.47] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.33] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 3 pass(s) 1 skip(s)
    - Exec time: [0.0, 1.86] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.38] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses : 1 pass(s) 4 skip(s)
    - Exec time: [0.0, 1.45] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 3 fail(s) 1 pass(s) 2 skip(s)
    - Exec time: [0.0, 0.71] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 4 pass(s) 2 skip(s)
    - Exec time: [0.0, 1.91] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 3 pass(s) 2 skip(s)
    - Exec time: [0.0, 2.01] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 1 pass(s) 2 skip(s)
    - Exec time: [0.0, 0.77] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 6 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0, 0.01] s

  * igt@kms_cdclk@basic:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@mode-transition:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@plane-scaling:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.04, 0.08] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.04, 0.05] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@hdmi-a-1-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.22] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@hdmi-a-2-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.21] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.16, 0.22] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [1.16, 1.20] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.17, 0.21] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [1.15, 1.16] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@hdmi-a-1-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.34] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@hdmi-a-2-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.21] s

  * igt@kms_dp_dsc@basic-dsc-enable:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-a:
    - Statuses : 1 dmesg-warn(s) 1 pass(s)
    - Exec time: [1.47, 1.54] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-b:
    - Statuses : 1 dmesg-warn(s) 1 pass(s)
    - Exec time: [1.14, 1.15] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-c:
    - Statuses : 1 dmesg-warn(s) 1 pass(s)
    - Exec time: [1.15] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-d:
    - Statuses : 1 pass(s)
    - Exec time: [1.14] s

  * igt@kms_dp_dsc@dsc-10bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-11bpp-compression-xrgb8888:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-12bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-13bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-14bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-16bpp-compression-xrgb8888:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-17bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-18bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-19bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-20bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-21bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-22bpp-compression-xrgb8888:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-8bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_persistence@legacy-engines-hostile@render:
    - shard-iclb:         [PASS][11] -> [FAIL][12] ([i915#2410])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-iclb4/igt@gem_ctx_persistence@legacy-engines-hostile@render.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb6/igt@gem_ctx_persistence@legacy-engines-hostile@render.html

  * igt@gem_ctx_persistence@legacy-engines-mixed-process:
    - shard-snb:          NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#1099]) +5 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-snb5/igt@gem_ctx_persistence@legacy-engines-mixed-process.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-glk:          [PASS][14] -> [FAIL][15] ([i915#2842]) +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-glk5/igt@gem_exec_fair@basic-none-rrul@rcs0.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk2/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-kbl:          [PASS][16] -> [FAIL][17] ([i915#2842]) +4 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-kbl2/igt@gem_exec_fair@basic-none@vcs0.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl4/igt@gem_exec_fair@basic-none@vcs0.html
    - shard-apl:          [PASS][18] -> [FAIL][19] ([i915#2842])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-apl1/igt@gem_exec_fair@basic-none@vcs0.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl7/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-none@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][20] ([i915#2842]) +4 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb2/igt@gem_exec_fair@basic-none@vcs1.html

  * igt@gem_exec_fair@basic-pace@bcs0:
    - shard-tglb:         NOTRUN -> [FAIL][21] ([i915#2842]) +3 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb7/igt@gem_exec_fair@basic-pace@bcs0.html

  * igt@gem_exec_reloc@basic-wide-active@rcs0:
    - shard-kbl:          NOTRUN -> [FAIL][22] ([i915#2389]) +4 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl6/igt@gem_exec_reloc@basic-wide-active@rcs0.html

  * igt@gem_mmap_gtt@cpuset-big-copy-xy:
    - shard-iclb:         [PASS][23] -> [FAIL][24] ([i915#307])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-iclb6/igt@gem_mmap_gtt@cpuset-big-copy-xy.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb8/igt@gem_mmap_gtt@cpuset-big-copy-xy.html

  * igt@gem_mmap_offset@clear:
    - shard-iclb:         [PASS][25] -> [FAIL][26] ([i915#3160])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-iclb5/igt@gem_mmap_offset@clear.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb8/igt@gem_mmap_offset@clear.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-kbl:          NOTRUN -> [WARN][27] ([i915#2658])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl3/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_softpin@noreloc-s3:
    - shard-apl:          [PASS][28] -> [DMESG-WARN][29] ([i915#180])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-apl2/igt@gem_softpin@noreloc-s3.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl8/igt@gem_softpin@noreloc-s3.html

  * igt@gen9_exec_parse@cmd-crossing-page:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([fdo#112306])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb6/igt@gen9_exec_parse@cmd-crossing-page.html
    - shard-iclb:         NOTRUN -> [SKIP][31] ([fdo#112306])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb8/igt@gen9_exec_parse@cmd-crossing-page.html

  * {igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip} (NEW):
    - shard-kbl:          NOTRUN -> [FAIL][32] ([fdo#109052]) +8 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl4/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * {igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0} (NEW):
    - shard-apl:          NOTRUN -> [SKIP][33] ([fdo#109271]) +242 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl3/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_joiner@basic:
    - shard-tglb:         NOTRUN -> [SKIP][34] ([i915#2705])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb3/igt@kms_big_joiner@basic.html
    - shard-iclb:         NOTRUN -> [SKIP][35] ([i915#2705])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb4/igt@kms_big_joiner@basic.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo:
    - shard-snb:          NOTRUN -> [SKIP][36] ([fdo#109271]) +401 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-snb6/igt@kms_ccs@pipe-a-ccs-on-another-bo.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - shard-glk:          NOTRUN -> [SKIP][37] ([fdo#109271] / [fdo#111827]) +3 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk9/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red:
    - shard-snb:          NOTRUN -> [SKIP][38] ([fdo#109271] / [fdo#111827]) +22 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-snb7/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
    - shard-kbl:          NOTRUN -> [SKIP][39] ([fdo#109271] / [fdo#111827]) +9 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl4/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
    - shard-iclb:         NOTRUN -> [SKIP][40] ([fdo#109284] / [fdo#111827]) +2 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb1/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html

  * igt@kms_color_chamelium@pipe-c-ctm-0-25:
    - shard-apl:          NOTRUN -> [SKIP][41] ([fdo#109271] / [fdo#111827]) +23 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl8/igt@kms_color_chamelium@pipe-c-ctm-0-25.html

  * igt@kms_color_chamelium@pipe-d-ctm-max:
    - shard-tglb:         NOTRUN -> [SKIP][42] ([fdo#109284] / [fdo#111827]) +3 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb1/igt@kms_color_chamelium@pipe-d-ctm-max.html
    - shard-iclb:         NOTRUN -> [SKIP][43] ([fdo#109278] / [fdo#109284] / [fdo#111827])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb5/igt@kms_color_chamelium@pipe-d-ctm-max.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-iclb:         NOTRUN -> [SKIP][44] ([i915#3116])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb3/igt@kms_content_protection@dp-mst-lic-type-0.html
    - shard-tglb:         NOTRUN -> [SKIP][45] ([i915#3116])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb3/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@legacy:
    - shard-iclb:         NOTRUN -> [SKIP][46] ([fdo#109300] / [fdo#111066]) +1 similar issue
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb5/igt@kms_content_protection@legacy.html
    - shard-kbl:          NOTRUN -> [TIMEOUT][47] ([i915#1319]) +2 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl7/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic:
    - shard-apl:          NOTRUN -> [TIMEOUT][48] ([i915#1319]) +2 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl1/igt@kms_content_protection@lic.html

  * igt@kms_content_protection@srm:
    - shard-tglb:         NOTRUN -> [SKIP][49] ([fdo#111828]) +1 similar issue
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb3/igt@kms_content_protection@srm.html

  * igt@kms_cursor_crc@pipe-a-cursor-256x85-random:
    - shard-kbl:          [PASS][50] -> [FAIL][51] ([i915#3444])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
    - shard-apl:          [PASS][52] -> [FAIL][53] ([i915#3444])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-apl1/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl8/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
    - shard-glk:          [PASS][54] -> [FAIL][55] ([i915#3444])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-glk6/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk3/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-random:
    - shard-tglb:         NOTRUN -> [SKIP][56] ([i915#3359]) +2 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb1/igt@kms_cursor_crc@pipe-b-cursor-32x10-random.html

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement:
    - shard-tglb:         NOTRUN -> [SKIP][57] ([i915#3319])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb1/igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement.html

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen:
    - shard-iclb:         NOTRUN -> [SKIP][58] ([fdo#109278]) +7 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb5/igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][59] ([fdo#109279] / [i915#3359])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb8/igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
    - shard-iclb:         NOTRUN -> [SKIP][60] ([fdo#109274] / [fdo#109278]) +1 similar issue
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb4/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html

  * {igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-b} (NEW):
    - shard-iclb:         NOTRUN -> [DMESG-WARN][61] ([i915#1226]) +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-b.html

  * {igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888} (NEW):
    - shard-glk:          NOTRUN -> [SKIP][62] ([fdo#109271]) +64 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk9/igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888.html

  * igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][63] ([fdo#109274]) +2 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb8/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2:
    - shard-glk:          [PASS][64] -> [FAIL][65] ([i915#79])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk3/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2.html

  * igt@kms_flip@plain-flip-fb-recreate@c-dp1:
    - shard-kbl:          NOTRUN -> [FAIL][66] ([i915#2122])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl2/igt@kms_flip@plain-flip-fb-recreate@c-dp1.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
    - shard-glk:          [PASS][67] -> [FAIL][68] ([i915#49])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-glk1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
    - shard-apl:          [PASS][69] -> [FAIL][70] ([i915#49])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-apl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
    - shard-kbl:          [PASS][71] -> [FAIL][72] ([i915#2546] / [i915#49])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
    - shard-kbl:          NOTRUN -> [SKIP][73] ([fdo#109271]) +175 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt:
    - shard-iclb:         NOTRUN -> [SKIP][74] ([fdo#109280]) +4 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt:
    - shard-tglb:         NOTRUN -> [SKIP][75] ([fdo#111825]) +9 similar issues
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-tglb:         NOTRUN -> [SKIP][76] ([i915#1187])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb5/igt@kms_hdr@static-toggle-suspend.html
    - shard-iclb:         NOTRUN -> [SKIP][77] ([i915#1187])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb2/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-d:
    - shard-kbl:          NOTRUN -> [SKIP][78] ([fdo#109271] / [i915#533])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl1/igt@kms_pipe_crc_basic@hang-read-crc-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
    - shard-apl:          NOTRUN -> [FAIL][79] ([fdo#108145] / [i915#265]) +1 similar issue
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl2/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb:
    - shard-glk:          NOTRUN -> [FAIL][80] ([i915#265])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk2/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html
    - shard-kbl:          NOTRUN -> [FAIL][81] ([i915#265]) +1 similar issue
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl1/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
    - shard-tglb:         NOTRUN -> [SKIP][82] ([fdo#111615]) +1 similar issue
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb5/igt@kms_plane_multiple@atomic-pipe-b-tiling-yf.html

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

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3:
    - shard-apl:

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 35431 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] 46+ messages in thread

* [igt-dev] [PATCH i-g-t v2 11/17] tests/kms_big_fb: Optimize setup_fb function
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 11/17] tests/kms_big_fb: Optimize setup_fb function venkata.sai.patnana
@ 2021-06-11  9:59   ` venkata.sai.patnana
  2021-06-11 11:32     ` Karthik B S
  0 siblings, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  9:59 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi, Juha-Pekka Heikkilä

From: Kunal Joshi <kunal1.joshi@intel.com>

libcario takes a lot of time converting 32bpp fb to 64bpp fb,
When fb memory is given by kernel its zeroed, here two different color fbs,
black and green are created hence if kernel give zeroed fbs there's
possibility to skip zeroing it again thus saving some time

Cc: Karthik B S <karthik.b.s@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/kms_big_fb.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
index 89ea0f23e2..3e19450a42 100644
--- a/tests/kms_big_fb.c
+++ b/tests/kms_big_fb.c
@@ -115,12 +115,15 @@ static void setup_fb(data_t *data, struct igt_fb *newfb, uint32_t width,
 		f.offsets[n] = newfb->offsets[n];
 	}
 
-	cr = igt_get_cairo_ctx(data->drm_fd, newfb);
-	igt_paint_color(cr, 0, 0, newfb->width, newfb->height,
-			data->planeclearrgb[0],
-			data->planeclearrgb[1],
-			data->planeclearrgb[2]);
-	igt_put_cairo_ctx(cr);
+       if (data->planeclearrgb[0] != 0.0 || data->planeclearrgb[1] != 0.0 ||
+           data->planeclearrgb[2] != 0.0) {
+               cr = igt_get_cairo_ctx(data->drm_fd, newfb);
+               igt_paint_color(cr, 0, 0, newfb->width, newfb->height,
+                               data->planeclearrgb[0],
+                               data->planeclearrgb[1],
+                               data->planeclearrgb[2]);
+               igt_put_cairo_ctx(cr);
+       }
 
 	igt_assert(drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0);
 	newfb->fb_id = f.fb_id;
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t 17/17] tests/kms_cdclk : Add test to validate cdclk crawling
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 17/17] tests/kms_cdclk : Add test to validate cdclk crawling venkata.sai.patnana
@ 2021-06-11  9:59   ` venkata.sai.patnana
  2021-06-11 11:49     ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
  0 siblings, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11  9:59 UTC (permalink / raw)
  To: igt-dev; +Cc: Juha-Pekka Heikkilä

From: Swati Sharma <swati2.sharma@intel.com>

Added test to validate cdclk crawling

* created new IGT
* added 3 test scenarios (basic, scalar and mode-transition)
* used existing i915_freq_info debugfs API to validate change in cdclk

Cc: Mika Kahola <mika.kahola@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
 tests/kms_cdclk.c | 311 ++++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build |   1 +
 2 files changed, 312 insertions(+)
 create mode 100644 tests/kms_cdclk.c

diff --git a/tests/kms_cdclk.c b/tests/kms_cdclk.c
new file mode 100644
index 0000000000..b82642ed18
--- /dev/null
+++ b/tests/kms_cdclk.c
@@ -0,0 +1,311 @@
+/*
+ * Copyright © 2020 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Author:
+ *  Swati Sharma <swati2.sharma@intel.com>
+ */
+
+#include "igt.h"
+
+IGT_TEST_DESCRIPTION("Test cdclk features : squasher and crawling");
+
+/* Test flags */
+enum {
+	TEST_BASIC = 1 << 0,
+	TEST_PLANESCALING = 1 << 1,
+	TEST_MODETRANSITION = 1 << 2,
+};
+
+typedef struct {
+	int drm_fd;
+	int debugfs_fd;
+	uint32_t devid;
+	igt_display_t display;
+} data_t;
+
+static bool hardware_supported(data_t *data)
+{
+        if (intel_display_ver(data->devid) >= 13)
+		return true;
+
+	return false;
+}
+
+static int get_current_cdclk_freq(int debugfs_fd)
+{
+	int cdclk_freq_current;
+	char buf[1024];
+	char *start_loc;
+	int res;
+
+	res = igt_debugfs_simple_read(debugfs_fd, "i915_frequency_info",
+				      buf, sizeof(buf));
+	igt_require(res > 0);
+
+	igt_assert(start_loc = strstr(buf, "Current CD clock frequency: "));
+	igt_assert_eq(sscanf(start_loc, "Current CD clock frequency: %d", &cdclk_freq_current), 1);
+	igt_info("Current CD clock frequency: %d\n", cdclk_freq_current);
+
+	return cdclk_freq_current;
+}
+
+static __u64 get_mode_data_rate(drmModeModeInfo *mode)
+{
+	__u64 data_rate = (__u64)mode->hdisplay * (__u64)mode->vdisplay * (__u64)mode->vrefresh;
+	return data_rate;
+}
+
+static drmModeModeInfo *get_highres_mode(igt_output_t *output)
+{
+	drmModeModeInfo *highest_mode = NULL;
+	drmModeConnector *connector = output->config.connector;
+	int j;
+
+	for (j = 0; j < connector->count_modes; j++) {
+		if (!highest_mode) {
+			highest_mode = &connector->modes[j];
+		} else if (connector->modes[j].vdisplay && connector->modes[j].hdisplay) {
+			__u64 highest_data_rate = get_mode_data_rate(highest_mode);
+			__u64 data_rate = get_mode_data_rate(&connector->modes[j]);
+
+			if (highest_data_rate < data_rate)
+				highest_mode = &connector->modes[j];
+		}
+	}
+
+	return highest_mode;
+}
+
+static drmModeModeInfo *get_lowres_mode(igt_output_t *output)
+{
+	drmModeModeInfo *lowest_mode = NULL;
+	drmModeConnector *connector = output->config.connector;
+	int j;
+
+	for (j = 0; j < connector->count_modes; j++) {
+		if (!lowest_mode) {
+			lowest_mode = &connector->modes[j];
+		} else if (connector->modes[j].vdisplay && connector->modes[j].hdisplay) {
+			__u64 lowest_data_rate = get_mode_data_rate(lowest_mode);
+			__u64 data_rate = get_mode_data_rate(&output->config.connector->modes[j]);
+
+			if (lowest_data_rate > data_rate)
+				lowest_mode = &connector->modes[j];
+		}
+	}
+
+	return lowest_mode;
+}
+
+static void do_cleanup_display(igt_display_t *dpy)
+{
+	enum pipe pipe;
+	igt_output_t *output;
+	igt_plane_t *plane;
+
+	for_each_pipe(dpy, pipe)
+		for_each_plane_on_pipe(dpy, pipe, plane)
+			igt_plane_set_fb(plane, NULL);
+
+	for_each_connected_output(dpy, output)
+		igt_output_set_pipe(output, PIPE_NONE);
+
+	igt_display_commit2(dpy, dpy->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+}
+
+static void test_basic(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+
+	igt_plane_set_fb(primary, &fb);
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void test_plane_scaling(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode;
+	int scaling = 60;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+	igt_plane_set_fb(primary, &fb);
+
+	/* downscaling */
+	igt_plane_set_size(primary, ((fb.width * scaling) / 100), ((fb.height * scaling) / 100));
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void test_mode_transition(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode_hi, *mode_lo, *mode;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	mode_lo = get_lowres_mode(output);
+	mode_hi = get_highres_mode(output);
+
+	if (mode_hi->hdisplay == mode_lo->hdisplay &&
+	    mode_hi->vdisplay == mode_lo->vdisplay)
+		igt_skip("Highest and lowest mode resolutions are same; no transition\n");
+
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+
+	/* switch to lower resolution */
+	igt_output_override_mode(output, mode_lo);
+	igt_plane_set_fb(primary, &fb);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+
+	/* switch to higher resolution */
+	igt_output_override_mode(output, mode_hi);
+	igt_plane_set_fb(primary, &fb);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void run_cdclk_test(data_t *data, uint32_t flags)
+{
+	igt_display_t *display = &data->display;
+	igt_output_t *output;
+	enum pipe pipe;
+
+	for_each_pipe_with_valid_output(display, pipe, output) {
+		igt_dynamic_f("%s-pipe-%s", output->name, kmstest_pipe_name(pipe))
+			if (igt_pipe_connector_valid(pipe, output)) {
+				if (flags & TEST_BASIC)
+					test_basic(data, pipe, output);
+				if (flags & TEST_PLANESCALING)
+					test_plane_scaling(data, pipe, output);
+				if (flags & TEST_MODETRANSITION)
+					test_mode_transition(data, pipe, output);
+			}
+	}
+}
+
+igt_main
+{
+	data_t data = {};
+
+	igt_fixture {
+		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+		igt_require(data.drm_fd >= 0);
+		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
+		igt_require(data.debugfs_fd);
+		kmstest_set_vt_graphics_mode();
+		data.devid = intel_get_drm_devid(data.drm_fd);
+		igt_require_f(hardware_supported(&data),
+			      "Hardware doesn't support either squashing "\
+			      "or crawling.\n");
+		igt_display_require(&data.display, data.drm_fd);
+		igt_display_require_output(&data.display);
+	}
+
+	igt_describe("Basic test to validate cdclk frequency change w/o "\
+		     "requiring full modeset.");
+	igt_subtest_with_dynamic("basic")
+		run_cdclk_test(&data, TEST_BASIC);
+	igt_describe("Plane scaling test to validate cdclk frequency change w/o "\
+		     "requiring full modeset.");
+	igt_subtest_with_dynamic("plane-scaling")
+		run_cdclk_test(&data, TEST_PLANESCALING);
+	igt_describe("Mode transition (low to high) test to validate cdclk frequency "\
+		     "change w/o requiring full modeset.");
+	igt_subtest_with_dynamic("mode-transition")
+		run_cdclk_test(&data, TEST_MODETRANSITION);
+
+	igt_fixture {
+		igt_display_fini(&data.display);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index e5954e2832..d3de40be07 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -23,6 +23,7 @@ test_progs = [
 	'kms_big_joiner' ,
 	'kms_busy',
 	'kms_ccs',
+	'kms_cdclk',
 	'kms_concurrent',
 	'kms_content_protection',
 	'kms_cursor_crc',
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev3)
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (17 preceding siblings ...)
  2021-06-11  9:15 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2021-06-11 10:56 ` Patchwork
  2021-06-11 12:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
                   ` (6 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2021-06-11 10:56 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev


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

== Series Details ==

Series: series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev3)
URL   : https://patchwork.freedesktop.org/series/91371/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10210 -> IGTPW_5911
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_5911 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_5911, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

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

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

### IGT changes ###

#### Warnings ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-hsw-4770:        [WARN][1] ([i915#2283]) -> [WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html
    - fi-bdw-5557u:       [WARN][3] ([i915#2283]) -> [WARN][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-bdw-5557u/igt@core_hotunplug@unbind-rebind.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-bdw-5557u/igt@core_hotunplug@unbind-rebind.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@core_hotunplug@unbind-rebind:
    - {fi-hsw-gt1}:       [WARN][5] ([i915#2283]) -> [WARN][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-hsw-gt1/igt@core_hotunplug@unbind-rebind.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-hsw-gt1/igt@core_hotunplug@unbind-rebind.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_cs_nop@sync-fork-compute0:
    - fi-snb-2600:        NOTRUN -> [SKIP][7] ([fdo#109271]) +17 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-snb-2600/igt@amdgpu/amd_cs_nop@sync-fork-compute0.html

  * igt@gem_huc_copy@huc-copy:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][8] ([fdo#109271] / [i915#2190])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html

  * igt@gem_tiled_blits@basic:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][9] ([fdo#109271]) +3 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-kbl-soraka/igt@gem_tiled_blits@basic.html

  * igt@i915_selftest@live@execlists:
    - fi-kbl-soraka:      NOTRUN -> [INCOMPLETE][10] ([i915#2782] / [i915#3462] / [i915#794])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-kbl-soraka/igt@i915_selftest@live@execlists.html

  * igt@i915_selftest@live@gt_pm:
    - fi-kbl-soraka:      NOTRUN -> [DMESG-FAIL][11] ([i915#1886] / [i915#2291])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][12] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-kbl-soraka/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#533])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-kbl-soraka/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@runner@aborted:
    - fi-kbl-soraka:      NOTRUN -> [FAIL][14] ([i915#1436] / [i915#2426] / [i915#3363])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-kbl-soraka/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s0:
    - fi-kbl-soraka:      [INCOMPLETE][15] ([i915#155]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-kbl-soraka/igt@gem_exec_suspend@basic-s0.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-kbl-soraka/igt@gem_exec_suspend@basic-s0.html

  * igt@i915_selftest@live@hangcheck:
    - fi-snb-2600:        [INCOMPLETE][17] ([i915#2782]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-snb-2600/igt@i915_selftest@live@hangcheck.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-snb-2600/igt@i915_selftest@live@hangcheck.html

  
#### Warnings ####

  * igt@i915_selftest@live@execlists:
    - fi-icl-u2:          [DMESG-FAIL][19] ([i915#3462]) -> [INCOMPLETE][20] ([i915#2782] / [i915#3462])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-icl-u2/igt@i915_selftest@live@execlists.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-icl-u2/igt@i915_selftest@live@execlists.html

  * igt@runner@aborted:
    - fi-icl-u2:          [FAIL][21] ([i915#2426] / [i915#2782] / [i915#3363]) -> [FAIL][22] ([i915#2782] / [i915#3363])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-icl-u2/igt@runner@aborted.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-icl-u2/igt@runner@aborted.html
    - fi-cml-u2:          [FAIL][23] ([i915#2082] / [i915#2426] / [i915#3363] / [i915#3462]) -> [FAIL][24] ([i915#3363] / [i915#3462])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-cml-u2/igt@runner@aborted.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-cml-u2/igt@runner@aborted.html
    - fi-cfl-guc:         [FAIL][25] ([i915#3363]) -> [FAIL][26] ([i915#2426] / [i915#3363])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-cfl-guc/igt@runner@aborted.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-cfl-guc/igt@runner@aborted.html
    - fi-kbl-7567u:       [FAIL][27] ([i915#1436] / [i915#3363]) -> [FAIL][28] ([i915#1436] / [i915#2426] / [i915#3363])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-kbl-7567u/igt@runner@aborted.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-kbl-7567u/igt@runner@aborted.html
    - fi-skl-6700k2:      [FAIL][29] ([i915#1436] / [i915#2426] / [i915#3363]) -> [FAIL][30] ([i915#1436] / [i915#3363])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/fi-skl-6700k2/igt@runner@aborted.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/fi-skl-6700k2/igt@runner@aborted.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
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
  [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
  [i915#2082]: https://gitlab.freedesktop.org/drm/intel/issues/2082
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2283]: https://gitlab.freedesktop.org/drm/intel/issues/2283
  [i915#2291]: https://gitlab.freedesktop.org/drm/intel/issues/2291
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2782]: https://gitlab.freedesktop.org/drm/intel/issues/2782
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#3462]: https://gitlab.freedesktop.org/drm/intel/issues/3462
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#794]: https://gitlab.freedesktop.org/drm/intel/issues/794


Participating hosts (44 -> 39)
------------------------------

  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-dg1-1 fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6104 -> IGTPW_5911

  CI-20190529: 20190529
  CI_DRM_10210: 55d145eed39a0b4e1c5767a28a3e4dff08e48b4c @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5911: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/index.html
  IGT_6104: f8f81bd3752f3126a47d9dbba2d0ab29f7c17a19 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git



== Testlist changes ==

+igt@kms_addfb_basic@invalid-smem-bo-on-discrete
+igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_cdclk@basic
+igt@kms_cdclk@mode-transition
+igt@kms_cdclk@plane-scaling
+igt@kms_dither@fb-8bpc-vs-panel-6bpc
+igt@kms_dither@fb-8bpc-vs-panel-8bpc
+igt@kms_dither@fb-16bpc-vs-panel-12bpc
+igt@kms_dp_dsc@basic-dsc-enable
+igt@kms_dp_dsc@dsc-8bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-10bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-11bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-12bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-13bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-14bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-16bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-17bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-18bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-19bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-20bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-21bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-22bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888
-igt@kms_dp_dsc@basic-dsc-enable-dp
-igt@kms_dp_dsc@basic-dsc-enable-edp

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 16526 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] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v2 11/17] tests/kms_big_fb: Optimize setup_fb function
  2021-06-11  9:59   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
@ 2021-06-11 11:32     ` Karthik B S
  0 siblings, 0 replies; 46+ messages in thread
From: Karthik B S @ 2021-06-11 11:32 UTC (permalink / raw)
  To: venkata.sai.patnana, igt-dev; +Cc: Kunal Joshi, Juha-Pekka Heikkilä

On 6/11/2021 3:29 PM, venkata.sai.patnana@intel.com wrote:
> From: Kunal Joshi <kunal1.joshi@intel.com>
>
> libcario takes a lot of time converting 32bpp fb to 64bpp fb,
> When fb memory is given by kernel its zeroed, here two different color fbs,
> black and green are created hence if kernel give zeroed fbs there's
> possibility to skip zeroing it again thus saving some time
>
> Cc: Karthik B S <karthik.b.s@intel.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
> ---
>   tests/kms_big_fb.c | 15 +++++++++------
>   1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
> index 89ea0f23e2..3e19450a42 100644
> --- a/tests/kms_big_fb.c
> +++ b/tests/kms_big_fb.c
> @@ -115,12 +115,15 @@ static void setup_fb(data_t *data, struct igt_fb *newfb, uint32_t width,
>   		f.offsets[n] = newfb->offsets[n];
>   	}
>   
> -	cr = igt_get_cairo_ctx(data->drm_fd, newfb);
> -	igt_paint_color(cr, 0, 0, newfb->width, newfb->height,
> -			data->planeclearrgb[0],
> -			data->planeclearrgb[1],
> -			data->planeclearrgb[2]);
> -	igt_put_cairo_ctx(cr);
> +       if (data->planeclearrgb[0] != 0.0 || data->planeclearrgb[1] != 0.0 ||
> +           data->planeclearrgb[2] != 0.0) {
> +               cr = igt_get_cairo_ctx(data->drm_fd, newfb);
> +               igt_paint_color(cr, 0, 0, newfb->width, newfb->height,
> +                               data->planeclearrgb[0],
> +                               data->planeclearrgb[1],
> +                               data->planeclearrgb[2]);
> +               igt_put_cairo_ctx(cr);
> +       }
>   
>   	igt_assert(drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0);
>   	newfb->fb_id = f.fb_id;


_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 07/17] tests/kms_addfb_basic: Add invalid buffer object test for discrete
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 07/17] tests/kms_addfb_basic: Add invalid buffer object test " venkata.sai.patnana
@ 2021-06-11 11:40   ` Petri Latvala
  2021-06-11 11:49   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
  1 sibling, 0 replies; 46+ messages in thread
From: Petri Latvala @ 2021-06-11 11:40 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev, Mohammed Khajapasha

On Fri, Jun 11, 2021 at 10:49:55AM +0530, venkata.sai.patnana@intel.com wrote:
> From: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
> 
> Add invalid buffer object test case for discrete, to validate
> IOCTL_MODE_ADDFB2 ioctl for LMEM, the framebuffer backing
> gem objects should be from local memory for discrete.
> 
> Cc: Latvala Petri <petri.latvala@intel.com>
> Cc: Michael J. Ruhl <michael.j.ruhl@intel.com>
> Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
> Acked-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
> ---
>  tests/kms_addfb_basic.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
> index 1fb18d668f..a67a12c97e 100644
> --- a/tests/kms_addfb_basic.c
> +++ b/tests/kms_addfb_basic.c
> @@ -40,6 +40,7 @@
>  
>  #include "igt_rand.h"
>  #include "igt_device.h"
> +#include "i915/intel_memory_region.h"
>  
>  uint32_t gem_bo;
>  uint32_t gem_bo_small;
> @@ -146,6 +147,22 @@ static void invalid_tests(int fd)
>  		igt_assert(f.modifier[0] == 0);
>  	}
>  
> +	igt_describe("Check if addfb2 call works for LMEM");

Shouldn't this rather be "Check that addfb2 with a system memory gem
object fails correctly if device requires local memory framebuffers"
or something along those lines, right?


-- 
Petri Latvala


> +	igt_subtest("invalid-smem-bo-on-discrete") {
> +		int devid;
> +		uint32_t handle, stride;
> +		uint64_t size;
> +
> +		igt_require_intel(fd);
> +		devid = intel_get_drm_devid(fd);
> +		igt_require(gem_has_lmem(devid));
> +		igt_calc_fb_size(fd, f.width, f.height,
> +				DRM_FORMAT_XRGB8888, 0, &size, &stride);
> +		handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
> +		f.handles[0] = handle;
> +		do_ioctl_err(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE);
> +	}
> +
>  	igt_describe("Check if addfb2 call works for legacy formats");
>  	igt_subtest("legacy-format") {
>  		struct {
> -- 
> 2.25.1
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t v2 07/17] tests/kms_addfb_basic: Add invalid buffer object test for discrete
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 07/17] tests/kms_addfb_basic: Add invalid buffer object test " venkata.sai.patnana
  2021-06-11 11:40   ` Petri Latvala
@ 2021-06-11 11:49   ` venkata.sai.patnana
  2021-06-11 12:09     ` Petri Latvala
  1 sibling, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11 11:49 UTC (permalink / raw)
  To: igt-dev

From: Mohammed Khajapasha <mohammed.khajapasha@intel.com>

Add invalid buffer object test case for discrete, to validate
IOCTL_MODE_ADDFB2 ioctl for LMEM, the framebuffer backing
gem objects should be from local memory for discrete.

Cc: Latvala Petri <petri.latvala@intel.com>
Cc: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
Acked-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
---
 tests/kms_addfb_basic.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index 1fb18d668f..85c14be505 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -40,6 +40,7 @@
 
 #include "igt_rand.h"
 #include "igt_device.h"
+#include "i915/intel_memory_region.h"
 
 uint32_t gem_bo;
 uint32_t gem_bo_small;
@@ -146,6 +147,23 @@ static void invalid_tests(int fd)
 		igt_assert(f.modifier[0] == 0);
 	}
 
+	igt_describe("Check if addfb2 with a system memory gem object "
+		     "fails correctly if device requires local memory framebuffers");
+	igt_subtest("invalid-smem-bo-on-discrete") {
+		int devid;
+		uint32_t handle, stride;
+		uint64_t size;
+
+		igt_require_intel(fd);
+		devid = intel_get_drm_devid(fd);
+		igt_require(gem_has_lmem(devid));
+		igt_calc_fb_size(fd, f.width, f.height,
+				DRM_FORMAT_XRGB8888, 0, &size, &stride);
+		handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
+		f.handles[0] = handle;
+		do_ioctl_err(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE);
+	}
+
 	igt_describe("Check if addfb2 call works for legacy formats");
 	igt_subtest("legacy-format") {
 		struct {
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t v2 17/17] tests/kms_cdclk : Add test to validate cdclk crawling
  2021-06-11  9:59   ` venkata.sai.patnana
@ 2021-06-11 11:49     ` venkata.sai.patnana
  2021-06-11 14:11       ` [igt-dev] [PATCH i-g-t v3 " venkata.sai.patnana
  0 siblings, 1 reply; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11 11:49 UTC (permalink / raw)
  To: igt-dev

From: Swati Sharma <swati2.sharma@intel.com>

Added test to validate cdclk crawling

* created new IGT
* added 3 test scenarios (basic, scalar and mode-transition)
* used existing i915_freq_info debugfs API to validate change in cdclk

Cc: Mika Kahola <mika.kahola@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
 tests/kms_cdclk.c | 307 ++++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build |   1 +
 2 files changed, 308 insertions(+)
 create mode 100644 tests/kms_cdclk.c

diff --git a/tests/kms_cdclk.c b/tests/kms_cdclk.c
new file mode 100644
index 0000000000..d002be8381
--- /dev/null
+++ b/tests/kms_cdclk.c
@@ -0,0 +1,307 @@
+/*
+ * Copyright © 2020 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Author:
+ *  Swati Sharma <swati2.sharma@intel.com>
+ */
+
+#include "igt.h"
+
+IGT_TEST_DESCRIPTION("Test cdclk features : crawling");
+
+/* Test flags */
+enum {
+	TEST_BASIC = 1 << 0,
+	TEST_PLANESCALING = 1 << 1,
+	TEST_MODETRANSITION = 1 << 2,
+};
+
+typedef struct {
+	int drm_fd;
+	int debugfs_fd;
+	uint32_t devid;
+	igt_display_t display;
+} data_t;
+
+static bool hardware_supported(data_t *data)
+{
+        if (intel_display_ver(data->devid) >= 13)
+		return true;
+
+	return false;
+}
+
+static int get_current_cdclk_freq(int debugfs_fd)
+{
+	int cdclk_freq_current;
+	char buf[1024];
+	char *start_loc;
+	int res;
+
+	res = igt_debugfs_simple_read(debugfs_fd, "i915_frequency_info",
+				      buf, sizeof(buf));
+	igt_require(res > 0);
+
+	igt_assert(start_loc = strstr(buf, "Current CD clock frequency: "));
+	igt_assert_eq(sscanf(start_loc, "Current CD clock frequency: %d", &cdclk_freq_current), 1);
+	igt_info("Current CD clock frequency: %d\n", cdclk_freq_current);
+
+	return cdclk_freq_current;
+}
+
+static __u64 get_mode_data_rate(drmModeModeInfo *mode)
+{
+	__u64 data_rate = (__u64)mode->hdisplay * (__u64)mode->vdisplay * (__u64)mode->vrefresh;
+	return data_rate;
+}
+
+static drmModeModeInfo *get_highres_mode(igt_output_t *output)
+{
+	drmModeModeInfo *highest_mode = NULL;
+	drmModeConnector *connector = output->config.connector;
+	int j;
+
+	for (j = 0; j < connector->count_modes; j++) {
+		if (!highest_mode) {
+			highest_mode = &connector->modes[j];
+		} else if (connector->modes[j].vdisplay && connector->modes[j].hdisplay) {
+			__u64 highest_data_rate = get_mode_data_rate(highest_mode);
+			__u64 data_rate = get_mode_data_rate(&connector->modes[j]);
+
+			if (highest_data_rate < data_rate)
+				highest_mode = &connector->modes[j];
+		}
+	}
+
+	return highest_mode;
+}
+
+static drmModeModeInfo *get_lowres_mode(igt_output_t *output)
+{
+	drmModeModeInfo *lowest_mode = NULL;
+	drmModeConnector *connector = output->config.connector;
+	int j;
+
+	for (j = 0; j < connector->count_modes; j++) {
+		if (!lowest_mode) {
+			lowest_mode = &connector->modes[j];
+		} else if (connector->modes[j].vdisplay && connector->modes[j].hdisplay) {
+			__u64 lowest_data_rate = get_mode_data_rate(lowest_mode);
+			__u64 data_rate = get_mode_data_rate(&output->config.connector->modes[j]);
+
+			if (lowest_data_rate > data_rate)
+				lowest_mode = &connector->modes[j];
+		}
+	}
+
+	return lowest_mode;
+}
+
+static void do_cleanup_display(igt_display_t *dpy)
+{
+	enum pipe pipe;
+	igt_output_t *output;
+	igt_plane_t *plane;
+
+	for_each_pipe(dpy, pipe)
+		for_each_plane_on_pipe(dpy, pipe, plane)
+			igt_plane_set_fb(plane, NULL);
+
+	for_each_connected_output(dpy, output)
+		igt_output_set_pipe(output, PIPE_NONE);
+
+	igt_display_commit2(dpy, dpy->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+}
+
+static void test_basic(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+
+	igt_plane_set_fb(primary, &fb);
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void test_plane_scaling(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode;
+	int scaling = 60;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+	igt_plane_set_fb(primary, &fb);
+
+	/* downscaling */
+	igt_plane_set_size(primary, ((fb.width * scaling) / 100), ((fb.height * scaling) / 100));
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void test_mode_transition(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode_hi, *mode_lo, *mode;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	mode_lo = get_lowres_mode(output);
+	mode_hi = get_highres_mode(output);
+
+	if (mode_hi->hdisplay == mode_lo->hdisplay &&
+	    mode_hi->vdisplay == mode_lo->vdisplay)
+		igt_skip("Highest and lowest mode resolutions are same; no transition\n");
+
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+
+	/* switch to lower resolution */
+	igt_output_override_mode(output, mode_lo);
+	igt_plane_set_fb(primary, &fb);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+
+	/* switch to higher resolution */
+	igt_output_override_mode(output, mode_hi);
+	igt_plane_set_fb(primary, &fb);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void run_cdclk_test(data_t *data, uint32_t flags)
+{
+	igt_display_t *display = &data->display;
+	igt_output_t *output;
+	enum pipe pipe;
+
+	for_each_pipe_with_valid_output(display, pipe, output) {
+		igt_dynamic_f("%s-pipe-%s", output->name, kmstest_pipe_name(pipe))
+			if (igt_pipe_connector_valid(pipe, output)) {
+				if (flags & TEST_BASIC)
+					test_basic(data, pipe, output);
+				if (flags & TEST_PLANESCALING)
+					test_plane_scaling(data, pipe, output);
+				if (flags & TEST_MODETRANSITION)
+					test_mode_transition(data, pipe, output);
+			}
+	}
+}
+
+igt_main
+{
+	data_t data = {};
+
+	igt_fixture {
+		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+		igt_require(data.drm_fd >= 0);
+		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
+		igt_require(data.debugfs_fd);
+		kmstest_set_vt_graphics_mode();
+		data.devid = intel_get_drm_devid(data.drm_fd);
+		igt_require_f(hardware_supported(&data),
+			      "Hardware doesn't support crawling.\n");
+		igt_display_require(&data.display, data.drm_fd);
+		igt_display_require_output(&data.display);
+	}
+
+	igt_describe("Basic test to validate cdclk frequency change");
+	igt_subtest_with_dynamic("basic")
+		run_cdclk_test(&data, TEST_BASIC);
+	igt_describe("Plane scaling test to validate cdclk frequency change");
+	igt_subtest_with_dynamic("plane-scaling")
+		run_cdclk_test(&data, TEST_PLANESCALING);
+	igt_describe("Mode transition (low to high) test to validate cdclk frequency");
+	igt_subtest_with_dynamic("mode-transition")
+		run_cdclk_test(&data, TEST_MODETRANSITION);
+
+	igt_fixture {
+		igt_display_fini(&data.display);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index e5954e2832..d3de40be07 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -23,6 +23,7 @@ test_progs = [
 	'kms_big_joiner' ,
 	'kms_busy',
 	'kms_ccs',
+	'kms_cdclk',
 	'kms_concurrent',
 	'kms_content_protection',
 	'kms_cursor_crc',
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v2 07/17] tests/kms_addfb_basic: Add invalid buffer object test for discrete
  2021-06-11 11:49   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
@ 2021-06-11 12:09     ` Petri Latvala
  0 siblings, 0 replies; 46+ messages in thread
From: Petri Latvala @ 2021-06-11 12:09 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev

On Fri, Jun 11, 2021 at 05:19:38PM +0530, venkata.sai.patnana@intel.com wrote:
> From: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
> 
> Add invalid buffer object test case for discrete, to validate
> IOCTL_MODE_ADDFB2 ioctl for LMEM, the framebuffer backing
> gem objects should be from local memory for discrete.
> 
> Cc: Latvala Petri <petri.latvala@intel.com>
> Cc: Michael J. Ruhl <michael.j.ruhl@intel.com>
> Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
> Acked-by: Michael J. Ruhl <michael.j.ruhl@intel.com>

Reviewed-by: Petri Latvala <petri.latvala@intel.com>

> ---
>  tests/kms_addfb_basic.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
> index 1fb18d668f..85c14be505 100644
> --- a/tests/kms_addfb_basic.c
> +++ b/tests/kms_addfb_basic.c
> @@ -40,6 +40,7 @@
>  
>  #include "igt_rand.h"
>  #include "igt_device.h"
> +#include "i915/intel_memory_region.h"
>  
>  uint32_t gem_bo;
>  uint32_t gem_bo_small;
> @@ -146,6 +147,23 @@ static void invalid_tests(int fd)
>  		igt_assert(f.modifier[0] == 0);
>  	}
>  
> +	igt_describe("Check if addfb2 with a system memory gem object "
> +		     "fails correctly if device requires local memory framebuffers");
> +	igt_subtest("invalid-smem-bo-on-discrete") {
> +		int devid;
> +		uint32_t handle, stride;
> +		uint64_t size;
> +
> +		igt_require_intel(fd);
> +		devid = intel_get_drm_devid(fd);
> +		igt_require(gem_has_lmem(devid));
> +		igt_calc_fb_size(fd, f.width, f.height,
> +				DRM_FORMAT_XRGB8888, 0, &size, &stride);
> +		handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
> +		f.handles[0] = handle;
> +		do_ioctl_err(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE);
> +	}
> +
>  	igt_describe("Check if addfb2 call works for legacy formats");
>  	igt_subtest("legacy-format") {
>  		struct {
> -- 
> 2.25.1
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev3)
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (18 preceding siblings ...)
  2021-06-11 10:56 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev3) Patchwork
@ 2021-06-11 12:14 ` Patchwork
  2021-06-11 13:01 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev5) Patchwork
                   ` (5 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2021-06-11 12:14 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev


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

== Series Details ==

Series: series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev3)
URL   : https://patchwork.freedesktop.org/series/91371/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10210_full -> IGTPW_5911_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_addfb_basic@invalid-smem-bo-on-discrete} (NEW):
    - shard-tglb:         NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb1/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-kbl:          NOTRUN -> [FAIL][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl2/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-iclb:         NOTRUN -> [FAIL][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb3/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * {igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip} (NEW):
    - shard-snb:          NOTRUN -> [FAIL][4] +3 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-snb5/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
    - shard-apl:          NOTRUN -> [FAIL][5] +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * {igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip} (NEW):
    - shard-iclb:         NOTRUN -> [DMESG-WARN][6]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
    - shard-glk:          NOTRUN -> [FAIL][7] +8 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-glk8/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

  * {igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a} (NEW):
    - shard-iclb:         NOTRUN -> [SKIP][8] +28 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb2/igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a.html

  * {igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888} (NEW):
    - shard-tglb:         NOTRUN -> [SKIP][9] +34 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb1/igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888.html

  
New tests
---------

  New tests have been introduced between CI_DRM_10210_full and IGTPW_5911_full:

### New IGT tests (90) ###

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - Statuses : 5 fail(s)
    - Exec time: [0.01, 0.12] s

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0:
    - Statuses : 5 pass(s)
    - Exec time: [1.01, 2.10] s

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [1.01, 1.97] s

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0:
    - Statuses : 5 pass(s)
    - Exec time: [1.10, 2.18] s

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [1.12, 2.08] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 5 pass(s)
    - Exec time: [1.05, 1.92] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 6 pass(s)
    - Exec time: [0.45, 1.38] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.06, 0.54] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [1.00, 2.01] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 5 pass(s)
    - Exec time: [0.44, 1.38] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.01, 1.49] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.04, 0.56] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 6 pass(s)
    - Exec time: [1.10, 2.05] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.05, 1.48] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 4 fail(s) 2 pass(s)
    - Exec time: [0.04, 1.82] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 6 pass(s)
    - Exec time: [1.13, 2.08] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 6 pass(s)
    - Exec time: [0.70, 2.57] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 1 pass(s) 2 skip(s)
    - Exec time: [0.05, 1.14] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 2 fail(s) 2 pass(s)
    - Exec time: [0.04, 1.38] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 4 pass(s)
    - Exec time: [1.04, 2.08] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 5 pass(s)
    - Exec time: [0.68, 1.69] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.04, 1.56] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.00] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 1.51] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.0, 1.68] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.67] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.03] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.51] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.0, 1.52] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.02, 2.24] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.12] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.00, 2.72] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.0, 1.49] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 1 dmesg-warn(s) 1 fail(s) 1 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.66] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 4 pass(s) 2 skip(s)
    - Exec time: [0.0, 1.90] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses : 1 pass(s) 4 skip(s)
    - Exec time: [0.0, 1.47] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 2 fail(s) 1 pass(s) 2 skip(s)
    - Exec time: [0.0, 0.71] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 3 pass(s) 2 skip(s)
    - Exec time: [0.0, 1.93] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 3 pass(s) 2 skip(s)
    - Exec time: [0.0, 1.94] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 1 pass(s) 4 skip(s)
    - Exec time: [0.0, 1.48] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 5 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 6 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@basic:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@mode-transition:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@plane-scaling:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.02, 0.09] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.04, 0.05] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@hdmi-a-1-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.23] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@hdmi-a-2-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.24] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - Statuses : 2 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.15, 0.21] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [1.14, 1.16] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.16, 0.21] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [1.16, 1.18] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@hdmi-a-1-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.36] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@hdmi-a-2-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.23] s

  * igt@kms_dp_dsc@basic-dsc-enable:
    - Statuses : 4 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-a:
    - Statuses : 1 pass(s)
    - Exec time: [1.52] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-b:
    - Statuses : 1 pass(s)
    - Exec time: [1.14] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-c:
    - Statuses : 1 pass(s)
    - Exec time: [1.15] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-d:
    - Statuses : 1 pass(s)
    - Exec time: [1.15] s

  * igt@kms_dp_dsc@dsc-10bpp-compression-xrgb8888:
    - Statuses : 3 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-11bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-12bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-13bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-14bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_dp_dsc@dsc-16bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-17bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-18bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-19bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-20bpp-compression-xrgb8888:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-21bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-22bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-8bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_persistence@idempotent:
    - shard-snb:          NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#1099]) +4 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-snb7/igt@gem_ctx_persistence@idempotent.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-tglb:         [PASS][11] -> [FAIL][12] ([i915#2842])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/shard-tglb8/igt@gem_exec_fair@basic-none-share@rcs0.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb1/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-kbl:          [PASS][13] -> [FAIL][14] ([i915#2842]) +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/shard-kbl1/igt@gem_exec_fair@basic-none@vcs0.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl3/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-glk:          [PASS][15] -> [FAIL][16] ([i915#2842])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/shard-glk6/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-glk4/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-iclb:         NOTRUN -> [FAIL][17] ([i915#2842]) +4 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb7/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace@bcs0:
    - shard-tglb:         NOTRUN -> [FAIL][18] ([i915#2842]) +3 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb5/igt@gem_exec_fair@basic-pace@bcs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-kbl:          NOTRUN -> [FAIL][19] ([i915#2842])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl7/igt@gem_exec_fair@basic-pace@vecs0.html

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

  * igt@gem_mmap_gtt@big-copy:
    - shard-glk:          [PASS][21] -> [FAIL][22] ([i915#307])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/shard-glk3/igt@gem_mmap_gtt@big-copy.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-glk9/igt@gem_mmap_gtt@big-copy.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-kbl:          NOTRUN -> [WARN][23] ([i915#2658]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl2/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-apl:          NOTRUN -> [SKIP][24] ([fdo#109271] / [i915#3323])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl1/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gen7_exec_parse@basic-allocation:
    - shard-iclb:         NOTRUN -> [SKIP][25] ([fdo#109289])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb5/igt@gen7_exec_parse@basic-allocation.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-apl:          [PASS][26] -> [SKIP][27] ([fdo#109271])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/shard-apl7/igt@i915_pm_dc@dc9-dpms.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl2/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_selftest@live@hangcheck:
    - shard-snb:          NOTRUN -> [INCOMPLETE][28] ([i915#2782])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-snb6/igt@i915_selftest@live@hangcheck.html

  * {igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip} (NEW):
    - shard-kbl:          NOTRUN -> [FAIL][29] ([fdo#109052]) +6 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl4/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_joiner@basic:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([i915#2705])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb3/igt@kms_big_joiner@basic.html
    - shard-iclb:         NOTRUN -> [SKIP][31] ([i915#2705])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb4/igt@kms_big_joiner@basic.html

  * {igt@kms_cdclk@mode-transition} (NEW):
    - shard-apl:          NOTRUN -> [SKIP][32] ([fdo#109271]) +204 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl8/igt@kms_cdclk@mode-transition.html

  * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red:
    - shard-snb:          NOTRUN -> [SKIP][33] ([fdo#109271] / [fdo#111827]) +22 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-snb2/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
    - shard-kbl:          NOTRUN -> [SKIP][34] ([fdo#109271] / [fdo#111827]) +10 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl1/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
    - shard-iclb:         NOTRUN -> [SKIP][35] ([fdo#109284] / [fdo#111827]) +3 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb6/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
    - shard-glk:          NOTRUN -> [SKIP][36] ([fdo#109271] / [fdo#111827]) +2 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-glk6/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html

  * igt@kms_color_chamelium@pipe-a-ctm-limited-range:
    - shard-apl:          NOTRUN -> [SKIP][37] ([fdo#109271] / [fdo#111827]) +20 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl8/igt@kms_color_chamelium@pipe-a-ctm-limited-range.html

  * igt@kms_color_chamelium@pipe-d-ctm-max:
    - shard-tglb:         NOTRUN -> [SKIP][38] ([fdo#109284] / [fdo#111827]) +2 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb5/igt@kms_color_chamelium@pipe-d-ctm-max.html
    - shard-iclb:         NOTRUN -> [SKIP][39] ([fdo#109278] / [fdo#109284] / [fdo#111827])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb7/igt@kms_color_chamelium@pipe-d-ctm-max.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-tglb:         NOTRUN -> [SKIP][40] ([i915#3116])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb1/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@legacy:
    - shard-iclb:         NOTRUN -> [SKIP][41] ([fdo#109300] / [fdo#111066]) +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb1/igt@kms_content_protection@legacy.html
    - shard-kbl:          NOTRUN -> [TIMEOUT][42] ([i915#1319]) +2 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl7/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic:
    - shard-apl:          NOTRUN -> [TIMEOUT][43] ([i915#1319]) +3 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl7/igt@kms_content_protection@lic.html

  * igt@kms_content_protection@srm:
    - shard-tglb:         NOTRUN -> [SKIP][44] ([fdo#111828]) +1 similar issue
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb7/igt@kms_content_protection@srm.html

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-random:
    - shard-tglb:         NOTRUN -> [SKIP][45] ([i915#3359]) +2 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb6/igt@kms_cursor_crc@pipe-b-cursor-32x10-random.html

  * igt@kms_cursor_crc@pipe-b-cursor-512x170-offscreen:
    - shard-iclb:         NOTRUN -> [SKIP][46] ([fdo#109278] / [fdo#109279])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb6/igt@kms_cursor_crc@pipe-b-cursor-512x170-offscreen.html

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement:
    - shard-tglb:         NOTRUN -> [SKIP][47] ([i915#3319])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb2/igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement.html

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen:
    - shard-iclb:         NOTRUN -> [SKIP][48] ([fdo#109278]) +11 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb5/igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][49] ([fdo#109279] / [i915#3359])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb2/igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen.html

  * igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge:
    - shard-snb:          NOTRUN -> [SKIP][50] ([fdo#109271]) +414 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-snb2/igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-glk:          [PASS][51] -> [FAIL][52] ([i915#72])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/shard-glk6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-glk1/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
    - shard-iclb:         NOTRUN -> [SKIP][53] ([fdo#109274] / [fdo#109278]) +2 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb1/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-glk:          [PASS][54] -> [DMESG-WARN][55] ([i915#118] / [i915#95])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-glk3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * {igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888} (NEW):
    - shard-glk:          NOTRUN -> [SKIP][56] ([fdo#109271]) +60 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-glk8/igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888.html

  * igt@kms_dp_tiled_display@basic-test-pattern:
    - shard-iclb:         NOTRUN -> [SKIP][57] ([i915#426])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb6/igt@kms_dp_tiled_display@basic-test-pattern.html

  * igt@kms_flip@2x-flip-vs-rmfb-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][58] ([fdo#109274]) +5 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb2/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][59] ([i915#180]) +1 similar issue
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl6/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html

  * igt@kms_flip@flip-vs-suspend-interruptible@b-dp1:
    - shard-apl:          [PASS][60] -> [DMESG-WARN][61] ([i915#180]) +1 similar issue
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10210/shard-apl3/igt@kms_flip@flip-vs-suspend-interruptible@b-dp1.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible@b-dp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs:
    - shard-kbl:          NOTRUN -> [SKIP][62] ([fdo#109271] / [i915#2672])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl2/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][63] ([fdo#109271] / [i915#2642])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html

  * igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt:
    - shard-iclb:         NOTRUN -> [SKIP][64] ([fdo#109280]) +10 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt:
    - shard-tglb:         NOTRUN -> [SKIP][65] ([fdo#111825]) +9 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-tglb:         NOTRUN -> [SKIP][66] ([i915#1187])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb5/igt@kms_hdr@static-toggle-suspend.html
    - shard-iclb:         NOTRUN -> [SKIP][67] ([i915#1187])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb7/igt@kms_hdr@static-toggle-suspend.html

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

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-d:
    - shard-kbl:          NOTRUN -> [SKIP][69] ([fdo#109271] / [i915#533]) +1 similar issue
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl2/igt@kms_pipe_crc_basic@hang-read-crc-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
    - shard-apl:          NOTRUN -> [FAIL][70] ([fdo#108145] / [i915#265]) +2 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl6/igt@kms_plane_alpha_blend@pipe-b-alpha-7efc.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb:
    - shard-glk:          NOTRUN -> [FAIL][71] ([i915#265])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-glk9/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html
    - shard-apl:          NOTRUN -> [FAIL][72] ([i915#265]) +1 similar issue
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl2/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html
    - shard-kbl:          NOTRUN -> [FAIL][73] ([i915#265])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl3/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html

  * igt@kms_plane_lowres@pipe-c-tiling-none:
    - shard-iclb:         NOTRUN -> [SKIP][74] ([i915#3536])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb2/igt@kms_plane_lowres@pipe-c-tiling-none.html

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
    - shard-tglb:         NOTRUN -> [SKIP][75] ([fdo#111615]) +1 similar issue
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-tglb2/igt@kms_plane_multiple@atomic-pipe-b-tiling-yf.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-5:
    - shard-kbl:          NOTRUN -> [SKIP][76] ([fdo#109271] / [i915#658]) +2 similar issues
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl1/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-5.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-2:
    - shard-apl:          NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#658])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-apl1/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-2.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2:
    - shard-iclb:         NOTRUN -> [SKIP][78] ([i915#658])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb7/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html

  * igt@kms_universal_plane@disable-primary-vs-flip-pipe-d:
    - shard-kbl:          NOTRUN -> [SKIP][79] ([fdo#109271]) +137 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-kbl2/igt@kms_universal_plane@disable-primary-vs-flip-pipe-d.html

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

  * igt@nouveau_crc@pipe-a-source-rg:
    - shard-iclb:         NOTRUN -> [SKIP][81] ([i915#2530]) +2 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5911/shard-iclb2/igt@nouveau_crc@pipe-a-source-rg.html
    - shard-tglb:         NOTRUN -> [

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 35600 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] 46+ messages in thread

* Re: [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering
  2021-06-11  9:15 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2021-06-11 12:17   ` Petri Latvala
  0 siblings, 0 replies; 46+ messages in thread
From: Petri Latvala @ 2021-06-11 12:17 UTC (permalink / raw)
  To: igt-dev

On Fri, Jun 11, 2021 at 09:15:09AM +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering
> URL   : https://patchwork.freedesktop.org/series/91371/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_10209_full -> IGTPW_5910_full
> ====================================================
> 
> Summary
> -------
> 
>   **FAILURE**
> 
>   Serious unknown changes coming with IGTPW_5910_full absolutely need to be
>   verified manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in IGTPW_5910_full, please notify your bug team to allow them
>   to document this new failure mode, which will reduce false positives in CI.
> 
>   External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/index.html
> 
> Possible new issues
> -------------------
> 
>   Here are the unknown changes that may have been introduced in IGTPW_5910_full:
> 
> ### IGT changes ###
> 
> #### Possible regressions ####
> 
>   * {igt@kms_addfb_basic@invalid-smem-bo-on-discrete} (NEW):
>     - shard-tglb:         NOTRUN -> [FAIL][1]
>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
>     - shard-kbl:          NOTRUN -> [FAIL][2]
>    [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
>     - shard-iclb:         NOTRUN -> [FAIL][3]
>    [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

gem_has_lmem() doesn't work quite right.


-- 
Petri Latvala



> 
>   * {igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip} (NEW):
>     - shard-snb:          NOTRUN -> [FAIL][4] +3 similar issues
>    [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-snb6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
> 
>   * {igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip} (NEW):
>     - shard-apl:          NOTRUN -> [FAIL][5] +6 similar issues
>    [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl3/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
>     - shard-glk:          NOTRUN -> [FAIL][6] +9 similar issues
>    [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
> 
>   * {igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a} (NEW):
>     - shard-iclb:         NOTRUN -> [SKIP][7] +29 similar issues
>    [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb1/igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a.html
> 
>   * {igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888} (NEW):
>     - shard-tglb:         NOTRUN -> [SKIP][8] +36 similar issues
>    [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb7/igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888.html
> 
>   * igt@kms_flip@modeset-vs-vblank-race-interruptible@a-hdmi-a2:
>     - shard-glk:          [PASS][9] -> [FAIL][10]
>    [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-glk5/igt@kms_flip@modeset-vs-vblank-race-interruptible@a-hdmi-a2.html
>    [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk2/igt@kms_flip@modeset-vs-vblank-race-interruptible@a-hdmi-a2.html
> 
>   
> New tests
> ---------
> 
>   New tests have been introduced between CI_DRM_10209_full and IGTPW_5910_full:
> 
> ### New IGT tests (90) ###
> 
>   * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
>     - Statuses : 5 fail(s)
>     - Exec time: [0.01, 0.12] s
> 
>   * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0:
>     - Statuses : 6 pass(s)
>     - Exec time: [1.01, 2.01] s
> 
>   * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180:
>     - Statuses : 5 pass(s)
>     - Exec time: [1.00, 2.02] s
> 
>   * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0:
>     - Statuses : 6 pass(s)
>     - Exec time: [1.12, 2.18] s
> 
>   * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180:
>     - Statuses : 5 pass(s)
>     - Exec time: [1.12, 2.07] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0:
>     - Statuses : 6 pass(s)
>     - Exec time: [1.01, 1.91] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
>     - Statuses : 5 pass(s)
>     - Exec time: [0.46, 1.41] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip:
>     - Statuses : 2 pass(s) 3 skip(s)
>     - Exec time: [0.02, 1.45] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
>     - Statuses : 3 fail(s) 2 pass(s)
>     - Exec time: [0.07, 0.47] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180:
>     - Statuses : 6 pass(s)
>     - Exec time: [1.02, 1.88] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
>     - Statuses : 6 pass(s)
>     - Exec time: [0.45, 1.40] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
>     - Statuses : 2 pass(s) 3 skip(s)
>     - Exec time: [0.03, 1.45] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
>     - Statuses : 4 fail(s) 2 pass(s)
>     - Exec time: [0.02, 0.55] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0:
>     - Statuses : 4 pass(s)
>     - Exec time: [1.16, 2.11] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
>     - Statuses : 4 pass(s)
>     - Exec time: [0.73, 2.26] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip:
>     - Statuses : 2 pass(s) 3 skip(s)
>     - Exec time: [0.07, 1.75] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
>     - Statuses : 3 fail(s) 2 pass(s)
>     - Exec time: [0.02, 1.65] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180:
>     - Statuses : 5 pass(s)
>     - Exec time: [1.13, 2.05] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
>     - Statuses : 6 pass(s)
>     - Exec time: [0.69, 2.59] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip:
>     - Statuses : 2 pass(s) 3 skip(s)
>     - Exec time: [0.05, 1.61] s
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
>     - Statuses : 3 fail(s) 2 pass(s)
>     - Exec time: [0.01, 1.47] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0:
>     - Statuses : 5 pass(s)
>     - Exec time: [1.04, 2.02] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
>     - Statuses : 5 pass(s) 1 skip(s)
>     - Exec time: [0.0, 1.51] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
>     - Statuses : 2 pass(s) 3 skip(s)
>     - Exec time: [0.0, 1.48] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
>     - Statuses : 3 fail(s) 2 pass(s) 1 skip(s)
>     - Exec time: [0.0, 0.74] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180:
>     - Statuses : 4 pass(s) 1 skip(s)
>     - Exec time: [0.0, 2.01] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
>     - Statuses : 5 pass(s) 1 skip(s)
>     - Exec time: [0.0, 1.64] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
>     - Statuses : 2 pass(s) 3 skip(s)
>     - Exec time: [0.0, 1.48] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
>     - Statuses : 1 fail(s) 2 pass(s) 1 skip(s)
>     - Exec time: [0.0, 0.73] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0:
>     - Statuses : 5 pass(s) 1 skip(s)
>     - Exec time: [0.0, 2.11] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
>     - Statuses : 4 pass(s) 1 skip(s)
>     - Exec time: [0.0, 2.55] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
>     - Statuses : 2 pass(s) 3 skip(s)
>     - Exec time: [0.10, 1.43] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
>     - Statuses : 2 fail(s) 2 pass(s)
>     - Exec time: [0.03, 2.25] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180:
>     - Statuses : 5 pass(s) 1 skip(s)
>     - Exec time: [0.0, 2.05] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
>     - Statuses : 5 pass(s) 1 skip(s)
>     - Exec time: [0.0, 2.74] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
>     - Statuses : 2 pass(s) 4 skip(s)
>     - Exec time: [0.0, 1.47] s
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
>     - Statuses : 3 fail(s) 2 pass(s) 1 skip(s)
>     - Exec time: [0.0, 2.33] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
>     - Statuses : 3 pass(s) 1 skip(s)
>     - Exec time: [0.0, 1.86] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
>     - Statuses : 4 pass(s) 1 skip(s)
>     - Exec time: [0.0, 2.38] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
>     - Statuses : 1 pass(s) 4 skip(s)
>     - Exec time: [0.0, 1.45] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
>     - Statuses : 3 fail(s) 1 pass(s) 2 skip(s)
>     - Exec time: [0.0, 0.71] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
>     - Statuses : 4 pass(s) 2 skip(s)
>     - Exec time: [0.0, 1.91] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
>     - Statuses : 3 pass(s) 2 skip(s)
>     - Exec time: [0.0, 2.01] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
>     - Statuses :
>     - Exec time: [None] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
>     - Statuses : 3 fail(s) 1 pass(s) 2 skip(s)
>     - Exec time: [0.0, 0.77] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0, 0.00] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0, 0.01] s
> 
>   * igt@kms_cdclk@basic:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_cdclk@mode-transition:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_cdclk@plane-scaling:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dither@fb-16bpc-vs-panel-12bpc:
>     - Statuses : 1 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dither@fb-16bpc-vs-panel-12bpc@dp-1-pipe-a:
>     - Statuses : 2 skip(s)
>     - Exec time: [0.04, 0.08] s
> 
>   * igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a:
>     - Statuses : 2 skip(s)
>     - Exec time: [0.04, 0.05] s
> 
>   * igt@kms_dither@fb-16bpc-vs-panel-12bpc@hdmi-a-1-pipe-a:
>     - Statuses : 1 skip(s)
>     - Exec time: [0.22] s
> 
>   * igt@kms_dither@fb-16bpc-vs-panel-12bpc@hdmi-a-2-pipe-a:
>     - Statuses : 1 skip(s)
>     - Exec time: [0.21] s
> 
>   * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
>     - Statuses : 1 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dither@fb-8bpc-vs-panel-6bpc@dp-1-pipe-a:
>     - Statuses : 2 skip(s)
>     - Exec time: [0.16, 0.22] s
> 
>   * igt@kms_dither@fb-8bpc-vs-panel-6bpc@edp-1-pipe-a:
>     - Statuses : 2 skip(s)
>     - Exec time: [1.16, 1.20] s
> 
>   * igt@kms_dither@fb-8bpc-vs-panel-8bpc:
>     - Statuses : 1 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dither@fb-8bpc-vs-panel-8bpc@dp-1-pipe-a:
>     - Statuses : 2 skip(s)
>     - Exec time: [0.17, 0.21] s
> 
>   * igt@kms_dither@fb-8bpc-vs-panel-8bpc@edp-1-pipe-a:
>     - Statuses : 2 skip(s)
>     - Exec time: [1.15, 1.16] s
> 
>   * igt@kms_dither@fb-8bpc-vs-panel-8bpc@hdmi-a-1-pipe-a:
>     - Statuses : 1 skip(s)
>     - Exec time: [0.34] s
> 
>   * igt@kms_dither@fb-8bpc-vs-panel-8bpc@hdmi-a-2-pipe-a:
>     - Statuses : 1 skip(s)
>     - Exec time: [0.21] s
> 
>   * igt@kms_dp_dsc@basic-dsc-enable:
>     - Statuses : 4 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-a:
>     - Statuses : 1 dmesg-warn(s) 1 pass(s)
>     - Exec time: [1.47, 1.54] s
> 
>   * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-b:
>     - Statuses : 1 dmesg-warn(s) 1 pass(s)
>     - Exec time: [1.14, 1.15] s
> 
>   * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-c:
>     - Statuses : 1 dmesg-warn(s) 1 pass(s)
>     - Exec time: [1.15] s
> 
>   * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-d:
>     - Statuses : 1 pass(s)
>     - Exec time: [1.14] s
> 
>   * igt@kms_dp_dsc@dsc-10bpp-compression-xrgb8888:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-11bpp-compression-xrgb8888:
>     - Statuses : 4 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-12bpp-compression-xrgb8888:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-13bpp-compression-xrgb8888:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-14bpp-compression-xrgb8888:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-16bpp-compression-xrgb8888:
>     - Statuses : 4 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-17bpp-compression-xrgb8888:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-18bpp-compression-xrgb8888:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-19bpp-compression-xrgb8888:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-20bpp-compression-xrgb8888:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-21bpp-compression-xrgb8888:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-22bpp-compression-xrgb8888:
>     - Statuses : 4 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-8bpp-compression-xrgb8888:
>     - Statuses : 5 skip(s)
>     - Exec time: [0.0] s
> 
>   * igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888:
>     - Statuses : 6 skip(s)
>     - Exec time: [0.0] s
> 
>   
> 
> Known issues
> ------------
> 
>   Here are the changes found in IGTPW_5910_full that come from known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>   * igt@gem_ctx_persistence@legacy-engines-hostile@render:
>     - shard-iclb:         [PASS][11] -> [FAIL][12] ([i915#2410])
>    [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-iclb4/igt@gem_ctx_persistence@legacy-engines-hostile@render.html
>    [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb6/igt@gem_ctx_persistence@legacy-engines-hostile@render.html
> 
>   * igt@gem_ctx_persistence@legacy-engines-mixed-process:
>     - shard-snb:          NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#1099]) +5 similar issues
>    [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-snb5/igt@gem_ctx_persistence@legacy-engines-mixed-process.html
> 
>   * igt@gem_exec_fair@basic-none-rrul@rcs0:
>     - shard-glk:          [PASS][14] -> [FAIL][15] ([i915#2842]) +1 similar issue
>    [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-glk5/igt@gem_exec_fair@basic-none-rrul@rcs0.html
>    [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk2/igt@gem_exec_fair@basic-none-rrul@rcs0.html
> 
>   * igt@gem_exec_fair@basic-none@vcs0:
>     - shard-kbl:          [PASS][16] -> [FAIL][17] ([i915#2842]) +4 similar issues
>    [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-kbl2/igt@gem_exec_fair@basic-none@vcs0.html
>    [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl4/igt@gem_exec_fair@basic-none@vcs0.html
>     - shard-apl:          [PASS][18] -> [FAIL][19] ([i915#2842])
>    [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-apl1/igt@gem_exec_fair@basic-none@vcs0.html
>    [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl7/igt@gem_exec_fair@basic-none@vcs0.html
> 
>   * igt@gem_exec_fair@basic-none@vcs1:
>     - shard-iclb:         NOTRUN -> [FAIL][20] ([i915#2842]) +4 similar issues
>    [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb2/igt@gem_exec_fair@basic-none@vcs1.html
> 
>   * igt@gem_exec_fair@basic-pace@bcs0:
>     - shard-tglb:         NOTRUN -> [FAIL][21] ([i915#2842]) +3 similar issues
>    [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb7/igt@gem_exec_fair@basic-pace@bcs0.html
> 
>   * igt@gem_exec_reloc@basic-wide-active@rcs0:
>     - shard-kbl:          NOTRUN -> [FAIL][22] ([i915#2389]) +4 similar issues
>    [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl6/igt@gem_exec_reloc@basic-wide-active@rcs0.html
> 
>   * igt@gem_mmap_gtt@cpuset-big-copy-xy:
>     - shard-iclb:         [PASS][23] -> [FAIL][24] ([i915#307])
>    [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-iclb6/igt@gem_mmap_gtt@cpuset-big-copy-xy.html
>    [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb8/igt@gem_mmap_gtt@cpuset-big-copy-xy.html
> 
>   * igt@gem_mmap_offset@clear:
>     - shard-iclb:         [PASS][25] -> [FAIL][26] ([i915#3160])
>    [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-iclb5/igt@gem_mmap_offset@clear.html
>    [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb8/igt@gem_mmap_offset@clear.html
> 
>   * igt@gem_pwrite@basic-exhaustion:
>     - shard-kbl:          NOTRUN -> [WARN][27] ([i915#2658])
>    [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl3/igt@gem_pwrite@basic-exhaustion.html
> 
>   * igt@gem_softpin@noreloc-s3:
>     - shard-apl:          [PASS][28] -> [DMESG-WARN][29] ([i915#180])
>    [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-apl2/igt@gem_softpin@noreloc-s3.html
>    [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl8/igt@gem_softpin@noreloc-s3.html
> 
>   * igt@gen9_exec_parse@cmd-crossing-page:
>     - shard-tglb:         NOTRUN -> [SKIP][30] ([fdo#112306])
>    [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb6/igt@gen9_exec_parse@cmd-crossing-page.html
>     - shard-iclb:         NOTRUN -> [SKIP][31] ([fdo#112306])
>    [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb8/igt@gen9_exec_parse@cmd-crossing-page.html
> 
>   * {igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip} (NEW):
>     - shard-kbl:          NOTRUN -> [FAIL][32] ([fdo#109052]) +8 similar issues
>    [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl4/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
> 
>   * {igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0} (NEW):
>     - shard-apl:          NOTRUN -> [SKIP][33] ([fdo#109271]) +242 similar issues
>    [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl3/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
> 
>   * igt@kms_big_joiner@basic:
>     - shard-tglb:         NOTRUN -> [SKIP][34] ([i915#2705])
>    [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb3/igt@kms_big_joiner@basic.html
>     - shard-iclb:         NOTRUN -> [SKIP][35] ([i915#2705])
>    [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb4/igt@kms_big_joiner@basic.html
> 
>   * igt@kms_ccs@pipe-a-ccs-on-another-bo:
>     - shard-snb:          NOTRUN -> [SKIP][36] ([fdo#109271]) +401 similar issues
>    [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-snb6/igt@kms_ccs@pipe-a-ccs-on-another-bo.html
> 
>   * igt@kms_chamelium@common-hpd-after-suspend:
>     - shard-glk:          NOTRUN -> [SKIP][37] ([fdo#109271] / [fdo#111827]) +3 similar issues
>    [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk9/igt@kms_chamelium@common-hpd-after-suspend.html
> 
>   * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red:
>     - shard-snb:          NOTRUN -> [SKIP][38] ([fdo#109271] / [fdo#111827]) +22 similar issues
>    [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-snb7/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
>     - shard-kbl:          NOTRUN -> [SKIP][39] ([fdo#109271] / [fdo#111827]) +9 similar issues
>    [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl4/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
>     - shard-iclb:         NOTRUN -> [SKIP][40] ([fdo#109284] / [fdo#111827]) +2 similar issues
>    [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb1/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
> 
>   * igt@kms_color_chamelium@pipe-c-ctm-0-25:
>     - shard-apl:          NOTRUN -> [SKIP][41] ([fdo#109271] / [fdo#111827]) +23 similar issues
>    [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl8/igt@kms_color_chamelium@pipe-c-ctm-0-25.html
> 
>   * igt@kms_color_chamelium@pipe-d-ctm-max:
>     - shard-tglb:         NOTRUN -> [SKIP][42] ([fdo#109284] / [fdo#111827]) +3 similar issues
>    [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb1/igt@kms_color_chamelium@pipe-d-ctm-max.html
>     - shard-iclb:         NOTRUN -> [SKIP][43] ([fdo#109278] / [fdo#109284] / [fdo#111827])
>    [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb5/igt@kms_color_chamelium@pipe-d-ctm-max.html
> 
>   * igt@kms_content_protection@dp-mst-lic-type-0:
>     - shard-iclb:         NOTRUN -> [SKIP][44] ([i915#3116])
>    [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb3/igt@kms_content_protection@dp-mst-lic-type-0.html
>     - shard-tglb:         NOTRUN -> [SKIP][45] ([i915#3116])
>    [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb3/igt@kms_content_protection@dp-mst-lic-type-0.html
> 
>   * igt@kms_content_protection@legacy:
>     - shard-iclb:         NOTRUN -> [SKIP][46] ([fdo#109300] / [fdo#111066]) +1 similar issue
>    [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb5/igt@kms_content_protection@legacy.html
>     - shard-kbl:          NOTRUN -> [TIMEOUT][47] ([i915#1319]) +2 similar issues
>    [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl7/igt@kms_content_protection@legacy.html
> 
>   * igt@kms_content_protection@lic:
>     - shard-apl:          NOTRUN -> [TIMEOUT][48] ([i915#1319]) +2 similar issues
>    [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl1/igt@kms_content_protection@lic.html
> 
>   * igt@kms_content_protection@srm:
>     - shard-tglb:         NOTRUN -> [SKIP][49] ([fdo#111828]) +1 similar issue
>    [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb3/igt@kms_content_protection@srm.html
> 
>   * igt@kms_cursor_crc@pipe-a-cursor-256x85-random:
>     - shard-kbl:          [PASS][50] -> [FAIL][51] ([i915#3444])
>    [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
>    [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
>     - shard-apl:          [PASS][52] -> [FAIL][53] ([i915#3444])
>    [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-apl1/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
>    [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl8/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
>     - shard-glk:          [PASS][54] -> [FAIL][55] ([i915#3444])
>    [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-glk6/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
>    [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk3/igt@kms_cursor_crc@pipe-a-cursor-256x85-random.html
> 
>   * igt@kms_cursor_crc@pipe-b-cursor-32x10-random:
>     - shard-tglb:         NOTRUN -> [SKIP][56] ([i915#3359]) +2 similar issues
>    [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb1/igt@kms_cursor_crc@pipe-b-cursor-32x10-random.html
> 
>   * igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement:
>     - shard-tglb:         NOTRUN -> [SKIP][57] ([i915#3319])
>    [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb1/igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement.html
> 
>   * igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen:
>     - shard-iclb:         NOTRUN -> [SKIP][58] ([fdo#109278]) +7 similar issues
>    [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb5/igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen.html
> 
>   * igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen:
>     - shard-tglb:         NOTRUN -> [SKIP][59] ([fdo#109279] / [i915#3359])
>    [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb8/igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen.html
> 
>   * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
>     - shard-iclb:         NOTRUN -> [SKIP][60] ([fdo#109274] / [fdo#109278]) +1 similar issue
>    [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb4/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html
> 
>   * {igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-b} (NEW):
>     - shard-iclb:         NOTRUN -> [DMESG-WARN][61] ([i915#1226]) +2 similar issues
>    [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-b.html
> 
>   * {igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888} (NEW):
>     - shard-glk:          NOTRUN -> [SKIP][62] ([fdo#109271]) +64 similar issues
>    [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk9/igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888.html
> 
>   * igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
>     - shard-iclb:         NOTRUN -> [SKIP][63] ([fdo#109274]) +2 similar issues
>    [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb8/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html
> 
>   * igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2:
>     - shard-glk:          [PASS][64] -> [FAIL][65] ([i915#79])
>    [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2.html
>    [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk3/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2.html
> 
>   * igt@kms_flip@plain-flip-fb-recreate@c-dp1:
>     - shard-kbl:          NOTRUN -> [FAIL][66] ([i915#2122])
>    [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl2/igt@kms_flip@plain-flip-fb-recreate@c-dp1.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
>     - shard-glk:          [PASS][67] -> [FAIL][68] ([i915#49])
>    [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-glk1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
>    [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
>     - shard-apl:          [PASS][69] -> [FAIL][70] ([i915#49])
>    [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-apl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
>    [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
>     - shard-kbl:          [PASS][71] -> [FAIL][72] ([i915#2546] / [i915#49])
>    [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10209/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
>    [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
>     - shard-kbl:          NOTRUN -> [SKIP][73] ([fdo#109271]) +175 similar issues
>    [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt:
>     - shard-iclb:         NOTRUN -> [SKIP][74] ([fdo#109280]) +4 similar issues
>    [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt.html
> 
>   * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt:
>     - shard-tglb:         NOTRUN -> [SKIP][75] ([fdo#111825]) +9 similar issues
>    [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html
> 
>   * igt@kms_hdr@static-toggle-suspend:
>     - shard-tglb:         NOTRUN -> [SKIP][76] ([i915#1187])
>    [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb5/igt@kms_hdr@static-toggle-suspend.html
>     - shard-iclb:         NOTRUN -> [SKIP][77] ([i915#1187])
>    [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-iclb2/igt@kms_hdr@static-toggle-suspend.html
> 
>   * igt@kms_pipe_crc_basic@hang-read-crc-pipe-d:
>     - shard-kbl:          NOTRUN -> [SKIP][78] ([fdo#109271] / [i915#533])
>    [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl1/igt@kms_pipe_crc_basic@hang-read-crc-pipe-d.html
> 
>   * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
>     - shard-apl:          NOTRUN -> [FAIL][79] ([fdo#108145] / [i915#265]) +1 similar issue
>    [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-apl2/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html
> 
>   * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb:
>     - shard-glk:          NOTRUN -> [FAIL][80] ([i915#265])
>    [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-glk2/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html
>     - shard-kbl:          NOTRUN -> [FAIL][81] ([i915#265]) +1 similar issue
>    [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl1/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html
> 
>   * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
>     - shard-tglb:         NOTRUN -> [SKIP][82] ([fdo#111615]) +1 similar issue
>    [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-tglb5/igt@kms_plane_multiple@atomic-pipe-b-tiling-yf.html
> 
>   * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3:
>     - shard-kbl:          NOTRUN -> [SKIP][83] ([fdo#109271] / [i915#658]) +2 similar issues
>    [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/shard-kbl1/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3.html
> 
>   * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3:
>     - shard-apl:
> 
> == Logs ==
> 
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5910/index.html

> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev5)
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (19 preceding siblings ...)
  2021-06-11 12:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2021-06-11 13:01 ` Patchwork
  2021-06-11 15:05 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
                   ` (4 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2021-06-11 13:01 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev


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

== Series Details ==

Series: series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev5)
URL   : https://patchwork.freedesktop.org/series/91371/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10212 -> IGTPW_5912
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_5912 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_5912, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

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

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

### IGT changes ###

#### Warnings ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-hsw-4770:        [WARN][1] ([i915#2283]) -> [WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@core_hotunplug@unbind-rebind:
    - {fi-hsw-gt1}:       [WARN][3] ([i915#2283]) -> [WARN][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-hsw-gt1/igt@core_hotunplug@unbind-rebind.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-hsw-gt1/igt@core_hotunplug@unbind-rebind.html

  * igt@runner@aborted:
    - {fi-jsl-1}:         NOTRUN -> [FAIL][5]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-jsl-1/igt@runner@aborted.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_cs_nop@sync-fork-compute0:
    - fi-snb-2600:        NOTRUN -> [SKIP][6] ([fdo#109271]) +17 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-snb-2600/igt@amdgpu/amd_cs_nop@sync-fork-compute0.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@hangcheck:
    - fi-snb-2600:        [INCOMPLETE][7] ([i915#2782]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-snb-2600/igt@i915_selftest@live@hangcheck.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-snb-2600/igt@i915_selftest@live@hangcheck.html

  
#### Warnings ####

  * igt@i915_selftest@live@execlists:
    - fi-bsw-nick:        [DMESG-FAIL][9] ([i915#3462]) -> [INCOMPLETE][10] ([i915#2782] / [i915#2940] / [i915#3462])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-bsw-nick/igt@i915_selftest@live@execlists.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-bsw-nick/igt@i915_selftest@live@execlists.html

  * igt@runner@aborted:
    - fi-skl-6600u:       [FAIL][11] ([i915#1436] / [i915#2426] / [i915#3363]) -> [FAIL][12] ([i915#1436] / [i915#3363])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-skl-6600u/igt@runner@aborted.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-skl-6600u/igt@runner@aborted.html
    - fi-kbl-8809g:       [FAIL][13] ([i915#1436] / [i915#3363]) -> [FAIL][14] ([i915#1436] / [i915#2426] / [i915#3363])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-kbl-8809g/igt@runner@aborted.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-kbl-8809g/igt@runner@aborted.html
    - fi-kbl-soraka:      [FAIL][15] ([i915#1436] / [i915#3363]) -> [FAIL][16] ([i915#1436] / [i915#2426] / [i915#3363])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-kbl-soraka/igt@runner@aborted.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-kbl-soraka/igt@runner@aborted.html
    - fi-kbl-7500u:       [FAIL][17] ([i915#1436] / [i915#3363]) -> [FAIL][18] ([i915#1436] / [i915#2426] / [i915#3363])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-kbl-7500u/igt@runner@aborted.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-kbl-7500u/igt@runner@aborted.html
    - fi-skl-guc:         [FAIL][19] ([i915#1436] / [i915#3363]) -> [FAIL][20] ([i915#1436] / [i915#2426] / [i915#3363])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-skl-guc/igt@runner@aborted.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/fi-skl-guc/igt@runner@aborted.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
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1222]: https://gitlab.freedesktop.org/drm/intel/issues/1222
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2283]: https://gitlab.freedesktop.org/drm/intel/issues/2283
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2782]: https://gitlab.freedesktop.org/drm/intel/issues/2782
  [i915#2932]: https://gitlab.freedesktop.org/drm/intel/issues/2932
  [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940
  [i915#2966]: https://gitlab.freedesktop.org/drm/intel/issues/2966
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#3462]: https://gitlab.freedesktop.org/drm/intel/issues/3462
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533


Participating hosts (46 -> 39)
------------------------------

  Additional (1): fi-jsl-1 
  Missing    (8): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan bat-adlp-4 bat-adls-4 fi-dg1-1 fi-bdw-samus bat-jsl-1 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6104 -> IGTPW_5912

  CI-20190529: 20190529
  CI_DRM_10212: d6a4e59ffc78a058586d57930708ba706d765be4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5912: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/index.html
  IGT_6104: f8f81bd3752f3126a47d9dbba2d0ab29f7c17a19 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git



== Testlist changes ==

+igt@kms_addfb_basic@invalid-smem-bo-on-discrete
+igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_cdclk@basic
+igt@kms_cdclk@mode-transition
+igt@kms_cdclk@plane-scaling
+igt@kms_dither@fb-8bpc-vs-panel-6bpc
+igt@kms_dither@fb-8bpc-vs-panel-8bpc
+igt@kms_dither@fb-16bpc-vs-panel-12bpc
+igt@kms_dp_dsc@basic-dsc-enable
+igt@kms_dp_dsc@dsc-8bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-10bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-11bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-12bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-13bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-14bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-16bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-17bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-18bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-19bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-20bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-21bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-22bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888
-igt@kms_dp_dsc@basic-dsc-enable-dp
-igt@kms_dp_dsc@basic-dsc-enable-edp

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 13322 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] 46+ messages in thread

* [igt-dev] [PATCH i-g-t v3 17/17] tests/kms_cdclk : Add test to validate cdclk crawling
  2021-06-11 11:49     ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
@ 2021-06-11 14:11       ` venkata.sai.patnana
  0 siblings, 0 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-11 14:11 UTC (permalink / raw)
  To: igt-dev; +Cc: Juha-Pekka Heikkilä

From: Swati Sharma <swati2.sharma@intel.com>

Added test to validate cdclk crawling

* created new IGT
* added 3 test scenarios (basic, scalar and mode-transition)
* used existing i915_freq_info debugfs API to validate change in cdclk

Cc: Mika Kahola <mika.kahola@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
 tests/kms_cdclk.c | 307 ++++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build |   1 +
 2 files changed, 308 insertions(+)
 create mode 100644 tests/kms_cdclk.c

diff --git a/tests/kms_cdclk.c b/tests/kms_cdclk.c
new file mode 100644
index 0000000000..d002be8381
--- /dev/null
+++ b/tests/kms_cdclk.c
@@ -0,0 +1,307 @@
+/*
+ * Copyright © 2020 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Author:
+ *  Swati Sharma <swati2.sharma@intel.com>
+ */
+
+#include "igt.h"
+
+IGT_TEST_DESCRIPTION("Test cdclk features : crawling");
+
+/* Test flags */
+enum {
+	TEST_BASIC = 1 << 0,
+	TEST_PLANESCALING = 1 << 1,
+	TEST_MODETRANSITION = 1 << 2,
+};
+
+typedef struct {
+	int drm_fd;
+	int debugfs_fd;
+	uint32_t devid;
+	igt_display_t display;
+} data_t;
+
+static bool hardware_supported(data_t *data)
+{
+        if (intel_display_ver(data->devid) >= 13)
+		return true;
+
+	return false;
+}
+
+static int get_current_cdclk_freq(int debugfs_fd)
+{
+	int cdclk_freq_current;
+	char buf[1024];
+	char *start_loc;
+	int res;
+
+	res = igt_debugfs_simple_read(debugfs_fd, "i915_frequency_info",
+				      buf, sizeof(buf));
+	igt_require(res > 0);
+
+	igt_assert(start_loc = strstr(buf, "Current CD clock frequency: "));
+	igt_assert_eq(sscanf(start_loc, "Current CD clock frequency: %d", &cdclk_freq_current), 1);
+	igt_info("Current CD clock frequency: %d\n", cdclk_freq_current);
+
+	return cdclk_freq_current;
+}
+
+static __u64 get_mode_data_rate(drmModeModeInfo *mode)
+{
+	__u64 data_rate = (__u64)mode->hdisplay * (__u64)mode->vdisplay * (__u64)mode->vrefresh;
+	return data_rate;
+}
+
+static drmModeModeInfo *get_highres_mode(igt_output_t *output)
+{
+	drmModeModeInfo *highest_mode = NULL;
+	drmModeConnector *connector = output->config.connector;
+	int j;
+
+	for (j = 0; j < connector->count_modes; j++) {
+		if (!highest_mode) {
+			highest_mode = &connector->modes[j];
+		} else if (connector->modes[j].vdisplay && connector->modes[j].hdisplay) {
+			__u64 highest_data_rate = get_mode_data_rate(highest_mode);
+			__u64 data_rate = get_mode_data_rate(&connector->modes[j]);
+
+			if (highest_data_rate < data_rate)
+				highest_mode = &connector->modes[j];
+		}
+	}
+
+	return highest_mode;
+}
+
+static drmModeModeInfo *get_lowres_mode(igt_output_t *output)
+{
+	drmModeModeInfo *lowest_mode = NULL;
+	drmModeConnector *connector = output->config.connector;
+	int j;
+
+	for (j = 0; j < connector->count_modes; j++) {
+		if (!lowest_mode) {
+			lowest_mode = &connector->modes[j];
+		} else if (connector->modes[j].vdisplay && connector->modes[j].hdisplay) {
+			__u64 lowest_data_rate = get_mode_data_rate(lowest_mode);
+			__u64 data_rate = get_mode_data_rate(&output->config.connector->modes[j]);
+
+			if (lowest_data_rate > data_rate)
+				lowest_mode = &connector->modes[j];
+		}
+	}
+
+	return lowest_mode;
+}
+
+static void do_cleanup_display(igt_display_t *dpy)
+{
+	enum pipe pipe;
+	igt_output_t *output;
+	igt_plane_t *plane;
+
+	for_each_pipe(dpy, pipe)
+		for_each_plane_on_pipe(dpy, pipe, plane)
+			igt_plane_set_fb(plane, NULL);
+
+	for_each_connected_output(dpy, output)
+		igt_output_set_pipe(output, PIPE_NONE);
+
+	igt_display_commit2(dpy, dpy->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+}
+
+static void test_basic(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+
+	igt_plane_set_fb(primary, &fb);
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void test_plane_scaling(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode;
+	int scaling = 60;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+	igt_plane_set_fb(primary, &fb);
+
+	/* downscaling */
+	igt_plane_set_size(primary, ((fb.width * scaling) / 100), ((fb.height * scaling) / 100));
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void test_mode_transition(data_t *data, enum pipe pipe, igt_output_t *output)
+{
+	igt_display_t *display = &data->display;
+	int debugfs_fd = data->debugfs_fd;
+	int cdclk_ref, cdclk_new;
+	struct igt_fb fb;
+	igt_plane_t *primary;
+	drmModeModeInfo *mode_hi, *mode_lo, *mode;
+
+	do_cleanup_display(display);
+	igt_display_reset(display);
+
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	mode_lo = get_lowres_mode(output);
+	mode_hi = get_highres_mode(output);
+
+	if (mode_hi->hdisplay == mode_lo->hdisplay &&
+	    mode_hi->vdisplay == mode_lo->vdisplay)
+		igt_skip("Highest and lowest mode resolutions are same; no transition\n");
+
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+	igt_create_color_pattern_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    I915_TILING_NONE,
+				    0.0, 0.0, 0.0, &fb);
+
+	/* switch to lower resolution */
+	igt_output_override_mode(output, mode_lo);
+	igt_plane_set_fb(primary, &fb);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_ref = get_current_cdclk_freq(debugfs_fd);
+
+	/* switch to higher resolution */
+	igt_output_override_mode(output, mode_hi);
+	igt_plane_set_fb(primary, &fb);
+	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+	cdclk_new = get_current_cdclk_freq(debugfs_fd);
+
+	/* cdclk should bump */
+	igt_assert_lt(cdclk_ref, cdclk_new);
+
+	/* cleanup */
+	do_cleanup_display(display);
+	igt_remove_fb(display->drm_fd, &fb);
+}
+
+static void run_cdclk_test(data_t *data, uint32_t flags)
+{
+	igt_display_t *display = &data->display;
+	igt_output_t *output;
+	enum pipe pipe;
+
+	for_each_pipe_with_valid_output(display, pipe, output) {
+		igt_dynamic_f("%s-pipe-%s", output->name, kmstest_pipe_name(pipe))
+			if (igt_pipe_connector_valid(pipe, output)) {
+				if (flags & TEST_BASIC)
+					test_basic(data, pipe, output);
+				if (flags & TEST_PLANESCALING)
+					test_plane_scaling(data, pipe, output);
+				if (flags & TEST_MODETRANSITION)
+					test_mode_transition(data, pipe, output);
+			}
+	}
+}
+
+igt_main
+{
+	data_t data = {};
+
+	igt_fixture {
+		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+		igt_require(data.drm_fd >= 0);
+		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
+		igt_require(data.debugfs_fd);
+		kmstest_set_vt_graphics_mode();
+		data.devid = intel_get_drm_devid(data.drm_fd);
+		igt_require_f(hardware_supported(&data),
+			      "Hardware doesn't support crawling.\n");
+		igt_display_require(&data.display, data.drm_fd);
+		igt_display_require_output(&data.display);
+	}
+
+	igt_describe("Basic test to validate cdclk frequency change");
+	igt_subtest_with_dynamic("basic")
+		run_cdclk_test(&data, TEST_BASIC);
+	igt_describe("Plane scaling test to validate cdclk frequency change");
+	igt_subtest_with_dynamic("plane-scaling")
+		run_cdclk_test(&data, TEST_PLANESCALING);
+	igt_describe("Mode transition (low to high) test to validate cdclk frequency");
+	igt_subtest_with_dynamic("mode-transition")
+		run_cdclk_test(&data, TEST_MODETRANSITION);
+
+	igt_fixture {
+		igt_display_fini(&data.display);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index e5954e2832..d3de40be07 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -23,6 +23,7 @@ test_progs = [
 	'kms_big_joiner' ,
 	'kms_busy',
 	'kms_ccs',
+	'kms_cdclk',
 	'kms_concurrent',
 	'kms_content_protection',
 	'kms_cursor_crc',
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev5)
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (20 preceding siblings ...)
  2021-06-11 13:01 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev5) Patchwork
@ 2021-06-11 15:05 ` Patchwork
  2021-06-11 15:23 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev6) Patchwork
                   ` (3 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2021-06-11 15:05 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev


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

== Series Details ==

Series: series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev5)
URL   : https://patchwork.freedesktop.org/series/91371/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10212_full -> IGTPW_5912_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_5912_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_5912_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_whisper@basic-fds-all:
    - shard-tglb:         [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/shard-tglb5/igt@gem_exec_whisper@basic-fds-all.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb2/igt@gem_exec_whisper@basic-fds-all.html

  * {igt@kms_addfb_basic@invalid-smem-bo-on-discrete} (NEW):
    - shard-tglb:         NOTRUN -> [FAIL][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb3/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-kbl:          NOTRUN -> [FAIL][4]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-kbl2/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-iclb:         NOTRUN -> [FAIL][5]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb3/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * {igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip} (NEW):
    - shard-apl:          NOTRUN -> [FAIL][6] +8 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * {igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip} (NEW):
    - shard-snb:          NOTRUN -> [FAIL][7] +2 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-snb6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * {igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip} (NEW):
    - shard-glk:          NOTRUN -> [FAIL][8] +10 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-glk4/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * {igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a} (NEW):
    - shard-iclb:         NOTRUN -> [SKIP][9] +29 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb3/igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a.html

  * {igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888} (NEW):
    - shard-tglb:         NOTRUN -> [SKIP][10] +36 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb3/igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888.html

  
New tests
---------

  New tests have been introduced between CI_DRM_10212_full and IGTPW_5912_full:

### New IGT tests (90) ###

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - Statuses : 5 fail(s)
    - Exec time: [0.01, 0.12] s

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0:
    - Statuses : 6 pass(s)
    - Exec time: [1.01, 2.04] s

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180:
    - Statuses : 6 pass(s)
    - Exec time: [1.02, 2.03] s

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0:
    - Statuses : 6 pass(s)
    - Exec time: [1.09, 2.17] s

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [1.12, 2.16] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 5 pass(s)
    - Exec time: [1.01, 1.88] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 5 pass(s)
    - Exec time: [0.44, 1.35] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 4 fail(s) 2 pass(s)
    - Exec time: [0.08, 0.57] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 4 pass(s)
    - Exec time: [1.01, 1.91] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 5 pass(s)
    - Exec time: [0.45, 1.36] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.01, 1.46] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.04, 0.68] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 4 pass(s)
    - Exec time: [1.44, 2.11] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 6 pass(s)
    - Exec time: [0.69, 2.58] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.07, 1.55] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 4 fail(s) 2 pass(s)
    - Exec time: [0.04, 1.41] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [1.13, 2.05] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 4 pass(s)
    - Exec time: [1.05, 2.56] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.04, 1.60] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.02, 1.41] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.03] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 5 pass(s)
    - Exec time: [0.60, 1.55] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.0, 1.37] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.04, 0.74] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.18] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 1.51] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.0, 1.51] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.04, 0.76] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 5 pass(s)
    - Exec time: [0.99, 2.10] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.76] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.0, 1.43] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.07, 2.27] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 4 pass(s)
    - Exec time: [1.01, 2.11] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.0, 1.41] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.39] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 4 pass(s) 2 skip(s)
    - Exec time: [0.0, 1.90] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.07] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses : 1 pass(s) 5 skip(s)
    - Exec time: [0.0, 1.43] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 3 fail(s) 1 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.87] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 3 pass(s) 2 skip(s)
    - Exec time: [0.0, 1.89] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 4 pass(s) 2 skip(s)
    - Exec time: [0.0, 2.24] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 1 pass(s) 5 skip(s)
    - Exec time: [0.0, 1.28] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 2 fail(s) 1 pass(s) 2 skip(s)
    - Exec time: [0.0, 0.76] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 5 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@basic:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@mode-transition:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@plane-scaling:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.03, 0.08] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.04, 0.07] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@hdmi-a-1-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.21] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@hdmi-a-2-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.22] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - Statuses : 1 skip(s)
    - Exec time: [0.00] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.16, 0.21] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [1.15, 1.17] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc:
    - Statuses : 1 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.01, 0.04] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.03] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@hdmi-a-1-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.20] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@hdmi-a-2-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.21] s

  * igt@kms_dp_dsc@basic-dsc-enable:
    - Statuses : 4 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-a:
    - Statuses : 1 pass(s)
    - Exec time: [1.49] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-b:
    - Statuses : 1 pass(s)
    - Exec time: [1.13] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-c:
    - Statuses : 1 pass(s)
    - Exec time: [1.15] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-d:
    - Statuses : 1 pass(s)
    - Exec time: [1.15] s

  * igt@kms_dp_dsc@dsc-10bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-11bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-12bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-13bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-14bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-16bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-17bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-18bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-19bpp-compression-xrgb8888:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_dp_dsc@dsc-20bpp-compression-xrgb8888:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-21bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-22bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-8bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@feature_discovery@chamelium:
    - shard-iclb:         NOTRUN -> [SKIP][11] ([fdo#111827])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb8/igt@feature_discovery@chamelium.html

  * igt@gem_create@create-massive:
    - shard-apl:          NOTRUN -> [DMESG-WARN][12] ([i915#3002])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl7/igt@gem_create@create-massive.html

  * igt@gem_ctx_persistence@legacy-engines-mixed-process:
    - shard-snb:          NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#1099]) +5 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-snb6/igt@gem_ctx_persistence@legacy-engines-mixed-process.html

  * igt@gem_eio@in-flight-contexts-10ms:
    - shard-tglb:         [PASS][14] -> [TIMEOUT][15] ([i915#3063])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/shard-tglb5/igt@gem_eio@in-flight-contexts-10ms.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb8/igt@gem_eio@in-flight-contexts-10ms.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-apl:          NOTRUN -> [FAIL][16] ([i915#2846])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl3/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][17] ([i915#2842]) +3 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb2/igt@gem_exec_fair@basic-none@vcs1.html

  * igt@gem_exec_fair@basic-pace@bcs0:
    - shard-tglb:         NOTRUN -> [FAIL][18] ([i915#2842]) +2 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb3/igt@gem_exec_fair@basic-pace@bcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-glk:          NOTRUN -> [FAIL][19] ([i915#2842]) +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-glk5/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-kbl:          NOTRUN -> [FAIL][20] ([i915#2842]) +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-kbl2/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-glk:          [PASS][21] -> [FAIL][22] ([i915#2842]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/shard-glk2/igt@gem_exec_fair@basic-throttle@rcs0.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-glk4/igt@gem_exec_fair@basic-throttle@rcs0.html
    - shard-kbl:          [PASS][23] -> [FAIL][24] ([i915#2842])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/shard-kbl3/igt@gem_exec_fair@basic-throttle@rcs0.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-kbl6/igt@gem_exec_fair@basic-throttle@rcs0.html
    - shard-iclb:         [PASS][25] -> [FAIL][26] ([i915#2849])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/shard-iclb6/igt@gem_exec_fair@basic-throttle@rcs0.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb1/igt@gem_exec_fair@basic-throttle@rcs0.html

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

  * igt@gem_huc_copy@huc-copy:
    - shard-iclb:         NOTRUN -> [SKIP][28] ([i915#2190])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb8/igt@gem_huc_copy@huc-copy.html

  * igt@gem_mmap_gtt@big-copy-xy:
    - shard-glk:          [PASS][29] -> [FAIL][30] ([i915#307])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/shard-glk9/igt@gem_mmap_gtt@big-copy-xy.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-glk8/igt@gem_mmap_gtt@big-copy-xy.html

  * igt@gem_pread@exhaustion:
    - shard-apl:          NOTRUN -> [WARN][31] ([i915#2658])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl1/igt@gem_pread@exhaustion.html

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

  * igt@gem_userptr_blits@coherency-sync:
    - shard-iclb:         NOTRUN -> [SKIP][33] ([fdo#109290])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb2/igt@gem_userptr_blits@coherency-sync.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-apl:          NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#3323])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl1/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gen7_exec_parse@chained-batch:
    - shard-iclb:         NOTRUN -> [SKIP][35] ([fdo#109289])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb1/igt@gen7_exec_parse@chained-batch.html

  * igt@gen9_exec_parse@cmd-crossing-page:
    - shard-tglb:         NOTRUN -> [SKIP][36] ([fdo#112306])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb7/igt@gen9_exec_parse@cmd-crossing-page.html
    - shard-iclb:         NOTRUN -> [SKIP][37] ([fdo#112306])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb6/igt@gen9_exec_parse@cmd-crossing-page.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
    - shard-apl:          NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#1937])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl1/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html

  * igt@i915_selftest@live@execlists:
    - shard-apl:          NOTRUN -> [DMESG-FAIL][39] ([i915#3462])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl1/igt@i915_selftest@live@execlists.html

  * igt@kms_big_fb@linear-32bpp-rotate-270:
    - shard-iclb:         NOTRUN -> [SKIP][40] ([fdo#110725] / [fdo#111614])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb5/igt@kms_big_fb@linear-32bpp-rotate-270.html

  * {igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip} (NEW):
    - shard-kbl:          NOTRUN -> [FAIL][41] ([fdo#109052]) +9 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-kbl2/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_joiner@basic:
    - shard-tglb:         NOTRUN -> [SKIP][42] ([i915#2705])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb1/igt@kms_big_joiner@basic.html
    - shard-iclb:         NOTRUN -> [SKIP][43] ([i915#2705])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb3/igt@kms_big_joiner@basic.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo:
    - shard-snb:          NOTRUN -> [SKIP][44] ([fdo#109271]) +435 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-snb5/igt@kms_ccs@pipe-a-ccs-on-another-bo.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - shard-glk:          NOTRUN -> [SKIP][45] ([fdo#109271] / [fdo#111827]) +3 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-glk6/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_chamelium@dp-mode-timings:
    - shard-apl:          NOTRUN -> [SKIP][46] ([fdo#109271] / [fdo#111827]) +26 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl6/igt@kms_chamelium@dp-mode-timings.html

  * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red:
    - shard-snb:          NOTRUN -> [SKIP][47] ([fdo#109271] / [fdo#111827]) +15 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-snb2/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
    - shard-kbl:          NOTRUN -> [SKIP][48] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-kbl2/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
    - shard-iclb:         NOTRUN -> [SKIP][49] ([fdo#109284] / [fdo#111827]) +5 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb3/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html

  * igt@kms_color_chamelium@pipe-d-ctm-max:
    - shard-tglb:         NOTRUN -> [SKIP][50] ([fdo#109284] / [fdo#111827]) +3 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb6/igt@kms_color_chamelium@pipe-d-ctm-max.html
    - shard-iclb:         NOTRUN -> [SKIP][51] ([fdo#109278] / [fdo#109284] / [fdo#111827])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb5/igt@kms_color_chamelium@pipe-d-ctm-max.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-iclb:         NOTRUN -> [SKIP][52] ([i915#3116])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb4/igt@kms_content_protection@dp-mst-lic-type-0.html
    - shard-tglb:         NOTRUN -> [SKIP][53] ([i915#3116])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb5/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@legacy:
    - shard-iclb:         NOTRUN -> [SKIP][54] ([fdo#109300] / [fdo#111066]) +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb2/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@srm:
    - shard-tglb:         NOTRUN -> [SKIP][55] ([fdo#111828]) +1 similar issue
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb1/igt@kms_content_protection@srm.html
    - shard-kbl:          NOTRUN -> [TIMEOUT][56] ([i915#1319])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-kbl4/igt@kms_content_protection@srm.html
    - shard-apl:          NOTRUN -> [TIMEOUT][57] ([i915#1319]) +1 similar issue
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl1/igt@kms_content_protection@srm.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [PASS][58] -> [DMESG-WARN][59] ([i915#180])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-random:
    - shard-kbl:          NOTRUN -> [SKIP][60] ([fdo#109271]) +81 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-kbl2/igt@kms_cursor_crc@pipe-b-cursor-32x10-random.html
    - shard-tglb:         NOTRUN -> [SKIP][61] ([i915#3359]) +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb5/igt@kms_cursor_crc@pipe-b-cursor-32x10-random.html

  * igt@kms_cursor_crc@pipe-b-cursor-512x512-rapid-movement:
    - shard-iclb:         NOTRUN -> [SKIP][62] ([fdo#109278] / [fdo#109279])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb3/igt@kms_cursor_crc@pipe-b-cursor-512x512-rapid-movement.html

  * igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement:
    - shard-tglb:         NOTRUN -> [SKIP][63] ([i915#3319])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb6/igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement.html

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen:
    - shard-iclb:         NOTRUN -> [SKIP][64] ([fdo#109278]) +10 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb7/igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][65] ([fdo#109279] / [i915#3359])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb8/igt@kms_cursor_crc@pipe-d-cursor-512x512-onscreen.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
    - shard-iclb:         NOTRUN -> [SKIP][66] ([fdo#109274] / [fdo#109278]) +1 similar issue
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb2/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic:
    - shard-glk:          [PASS][67] -> [FAIL][68] ([i915#67])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/shard-glk1/igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-glk5/igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic.html

  * {igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888} (NEW):
    - shard-glk:          NOTRUN -> [SKIP][69] ([fdo#109271]) +62 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-glk2/igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888.html

  * igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][70] -> [FAIL][71] ([i915#79])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][72] ([fdo#109274]) +2 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb8/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt:
    - shard-iclb:         NOTRUN -> [SKIP][73] ([fdo#109280]) +10 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt:
    - shard-tglb:         NOTRUN -> [SKIP][74] ([fdo#111825]) +9 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-tglb:         NOTRUN -> [SKIP][75] ([i915#1187])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb3/igt@kms_hdr@static-toggle-suspend.html
    - shard-iclb:         NOTRUN -> [SKIP][76] ([i915#1187]) +1 similar issue
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-iclb3/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#533]) +1 similar issue
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl6/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][78] ([fdo#108145] / [i915#265]) +3 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-apl6/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html

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

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
    - shard-tglb:         NOTRUN -> [SKIP][81] ([fdo#111615]) +1 similar issue
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5912/shard-tglb1/igt@kms_plane_multiple@atomic-pipe-b-tiling-yf.html

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-y:
    - shard-iclb:         [PASS][82] -> [FAIL][83] ([i915#1779])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/shard-iclb7/igt@kms_plane_multiple@atomic-pipe-c-tiling-y.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IG

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 35582 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] 46+ messages in thread

* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev6)
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (21 preceding siblings ...)
  2021-06-11 15:05 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2021-06-11 15:23 ` Patchwork
  2021-06-15  5:54 ` [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering Shankar, Uma
                   ` (2 subsequent siblings)
  25 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2021-06-11 15:23 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev


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

== Series Details ==

Series: series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev6)
URL   : https://patchwork.freedesktop.org/series/91371/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10212 -> IGTPW_5914
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_5914 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_5914, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-bdw-5557u:       NOTRUN -> [WARN][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-bdw-5557u/igt@core_hotunplug@unbind-rebind.html

  
#### Warnings ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-hsw-4770:        [WARN][2] ([i915#2283]) -> [WARN][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@core_hotunplug@unbind-rebind:
    - {fi-hsw-gt1}:       [WARN][4] ([i915#2283]) -> [WARN][5]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-hsw-gt1/igt@core_hotunplug@unbind-rebind.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-hsw-gt1/igt@core_hotunplug@unbind-rebind.html

  * igt@runner@aborted:
    - {fi-jsl-1}:         NOTRUN -> [FAIL][6]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-jsl-1/igt@runner@aborted.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@execlists:
    - fi-bdw-5557u:       NOTRUN -> [DMESG-FAIL][7] ([i915#3462])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-bdw-5557u/igt@i915_selftest@live@execlists.html

  * igt@kms_chamelium@dp-crc-fast:
    - fi-kbl-7500u:       [PASS][8] -> [FAIL][9] ([i915#1372])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html

  * igt@kms_psr@cursor_plane_move:
    - fi-bdw-5557u:       NOTRUN -> [SKIP][10] ([fdo#109271]) +5 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-bdw-5557u/igt@kms_psr@cursor_plane_move.html

  
#### Warnings ####

  * igt@i915_selftest@live@execlists:
    - fi-bsw-nick:        [DMESG-FAIL][11] ([i915#3462]) -> [INCOMPLETE][12] ([i915#2782] / [i915#2940] / [i915#3462])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-bsw-nick/igt@i915_selftest@live@execlists.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-bsw-nick/igt@i915_selftest@live@execlists.html
    - fi-kbl-soraka:      [INCOMPLETE][13] ([i915#2782] / [i915#3462] / [i915#794]) -> [INCOMPLETE][14] ([i915#794])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-kbl-soraka/igt@i915_selftest@live@execlists.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-kbl-soraka/igt@i915_selftest@live@execlists.html

  * igt@runner@aborted:
    - fi-skl-6600u:       [FAIL][15] ([i915#1436] / [i915#2426] / [i915#3363]) -> [FAIL][16] ([i915#1436] / [i915#3363])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-skl-6600u/igt@runner@aborted.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-skl-6600u/igt@runner@aborted.html
    - fi-glk-dsi:         [FAIL][17] ([i915#2426] / [i915#3363] / [k.org#202321]) -> [FAIL][18] ([i915#3363] / [k.org#202321])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-glk-dsi/igt@runner@aborted.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-glk-dsi/igt@runner@aborted.html
    - fi-bdw-5557u:       [FAIL][19] ([i915#1602] / [i915#2029]) -> [FAIL][20] ([i915#3462])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-bdw-5557u/igt@runner@aborted.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-bdw-5557u/igt@runner@aborted.html
    - fi-kbl-7500u:       [FAIL][21] ([i915#1436] / [i915#3363]) -> [FAIL][22] ([i915#1436] / [i915#2426] / [i915#3363])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-kbl-7500u/igt@runner@aborted.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-kbl-7500u/igt@runner@aborted.html
    - fi-cfl-guc:         [FAIL][23] ([i915#2426] / [i915#3363]) -> [FAIL][24] ([i915#3363])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10212/fi-cfl-guc/igt@runner@aborted.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/fi-cfl-guc/igt@runner@aborted.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
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1222]: https://gitlab.freedesktop.org/drm/intel/issues/1222
  [i915#1372]: https://gitlab.freedesktop.org/drm/intel/issues/1372
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
  [i915#2029]: https://gitlab.freedesktop.org/drm/intel/issues/2029
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2283]: https://gitlab.freedesktop.org/drm/intel/issues/2283
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2782]: https://gitlab.freedesktop.org/drm/intel/issues/2782
  [i915#2932]: https://gitlab.freedesktop.org/drm/intel/issues/2932
  [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940
  [i915#2966]: https://gitlab.freedesktop.org/drm/intel/issues/2966
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#3462]: https://gitlab.freedesktop.org/drm/intel/issues/3462
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#794]: https://gitlab.freedesktop.org/drm/intel/issues/794
  [k.org#202321]: https://bugzilla.kernel.org/show_bug.cgi?id=202321


Participating hosts (46 -> 38)
------------------------------

  Additional (1): fi-jsl-1 
  Missing    (9): fi-ilk-m540 fi-hsw-4200u fi-skl-guc fi-bsw-cyan bat-adlp-4 bat-adls-4 fi-dg1-1 fi-bdw-samus bat-jsl-1 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6104 -> IGTPW_5914

  CI-20190529: 20190529
  CI_DRM_10212: d6a4e59ffc78a058586d57930708ba706d765be4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5914: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5914/index.html
  IGT_6104: f8f81bd3752f3126a47d9dbba2d0ab29f7c17a19 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git



== Testlist changes ==

+igt@kms_addfb_basic@invalid-smem-bo-on-discrete
+igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_cdclk@basic
+igt@kms_cdclk@mode-transition
+igt@kms_cdclk@plane-scaling
+igt@kms_dither@fb-8bpc-vs-panel-6bpc
+igt@kms_dither@fb-8bpc-vs-panel-8bpc
+igt@kms_dither@fb-16bpc-vs-panel-12bpc
+igt@kms_dp_dsc@basic-dsc-enable
+igt@kms_dp_dsc@dsc-8bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-10bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-11bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-12bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-13bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-14bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-16bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-17bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-18bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-19bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-20bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-21bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-22bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888
-igt@kms_dp_dsc@basic-dsc-enable-dp
-igt@kms_dp_dsc@basic-dsc-enable-edp

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 14170 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] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 03/17] tests/device_reset: Unload snd driver before i915 unbind
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 03/17] tests/device_reset: Unload snd driver before i915 unbind venkata.sai.patnana
@ 2021-06-11 15:49   ` Kai Vehmanen
  0 siblings, 0 replies; 46+ messages in thread
From: Kai Vehmanen @ 2021-06-11 15:49 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev, Kai Vehmanen

Hi,

On Fri, 11 Jun 2021, venkata.sai.patnana@intel.com wrote:

> From: Uma Shankar <uma.shankar@intel.com>
> 
> Unload the snd module before unbinding i915. Audio holds a wakeref which
> triggers a warning otherwise, resulting in below warning and test failure.
> Currently HSW/BDW and DG1 are the platforms affected, can be extended to
> other platforms as well.

Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>

Br, Kai
5~
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 04/17] tests/core_hotunplug: Unload snd driver before i915 unbind
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 04/17] tests/core_hotunplug: " venkata.sai.patnana
@ 2021-06-11 15:50   ` Kai Vehmanen
  0 siblings, 0 replies; 46+ messages in thread
From: Kai Vehmanen @ 2021-06-11 15:50 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev, Kai Vehmanen

Hi,

On Fri, 11 Jun 2021, venkata.sai.patnana@intel.com wrote:

> From: Uma Shankar <uma.shankar@intel.com>
> 
> Unload the snd module before unbinding i915. Audio holds a wakeref
> which triggers a warning otherwise, resulting in below warning and
> test failure. Currently HSW/BDW and DG1 are the platforms affected,
> can be extended to other platforms as well.

Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>                                                                                                              
                                                                                                                                                                      
Br, Kai   
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (22 preceding siblings ...)
  2021-06-11 15:23 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev6) Patchwork
@ 2021-06-15  5:54 ` Shankar, Uma
  2021-06-15  5:58   ` Modem, Bhanuprakash
  2021-06-15 16:18 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev8) Patchwork
  2021-06-16  0:10 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  25 siblings, 1 reply; 46+ messages in thread
From: Shankar, Uma @ 2021-06-15  5:54 UTC (permalink / raw)
  To: Patnana, Venkata Sai, igt-dev; +Cc: Varide, Nischal, Latvala, Petri



> -----Original Message-----
> From: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>
> Sent: Friday, June 11, 2021 10:50 AM
> To: igt-dev@lists.freedesktop.org
> Cc: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>; Modem, Bhanuprakash
> <bhanuprakash.modem@intel.com>; Sharma, Swati2 <swati2.sharma@intel.com>;
> B S, Karthik <karthik.b.s@intel.com>; Shankar, Uma <uma.shankar@intel.com>;
> Varide, Nischal <nischal.varide@intel.com>; Latvala, Petri <petri.latvala@intel.com>
> Subject: [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering

This test depends on the corresponding kernel driver changes.
https://patchwork.freedesktop.org/series/91383/ : Dithering support
https://patchwork.freedesktop.org/series/79664/: Debugfs changes
The above are in review. 
 
I would suggest we consolidate both kernel changes in 1 common series.
 
The kernel changes needs to be merged and available in driver, before this test can go in.
 
Regards,
Uma Shankar

> From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> 
> Many of the display devices have color format support less than the color format of
> the input data (Ex: 8-bit input data and 6-bit display color depth). Then the input data
> will be either truncated or rounded, but this approach usually causes loss of detail
> and also produce large banded areas of a single color that significantly differs from
> the original image.
> 
> Dithering is a technique used to enhance these colors by creating the illusion of
> smoothness by adjusting the nearby pixel color.
> For Eg: Converting 8-bit to 6-bit by modifying the pixel information.
> 
> Dithering should be enabled when a panel color depth is lower than the color depth
> of the framebuffer.
> 
> Even though feature Dithering is there since legacy, there is no specific IGT for this.
> This patch will create New IGT for Dithering.
> And below is the truth table for CRTC Dithering.
> 
> |----------------|---------|-------------|
> |  Frame buffer  |  Panel  |  Dithering  |
> |----------------|---------|-------------|
> |      8 BPC     |  6 BPC  |     Yes     |
> |----------------|---------|-------------|
> |      8 BPC     |  8 BPC  |     No      |
> |----------------|---------|-------------|
> |      8 BPC     | 10 BPC  |     No      |
> |----------------|---------|-------------|
> |     10 BPC     |  6 BPC  |     Yes     |
> |----------------|---------|-------------|
> |     10 BPC     |  8 BPC  |     Yes     |
> |----------------|---------|-------------|
> |     10 BPC     | 10 BPC  |     No      |
> |----------------|---------|-------------|
> |     16 BPC     |  6 BPC  |     Yes     |
> |----------------|---------|-------------|
> |     16 BPC     |  8 BPC  |     Yes     |
> |----------------|---------|-------------|
> |     16 BPC     | 10 BPC  |     Yes     |
> |----------------|---------|-------------|
> 
> Cc: Swati Sharma <swati2.sharma@intel.com>
> Cc: Karthik B S <karthik.b.s@intel.com>
> Cc: Uma Shankar <uma.shankar@intel.com>
> Cc: Nischal Varide <nischal.varide@intel.com>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>  tests/kms_dither.c | 250 +++++++++++++++++++++++++++++++++++++++++++++
>  tests/meson.build  |   1 +
>  2 files changed, 251 insertions(+)
>  create mode 100644 tests/kms_dither.c
> 
> diff --git a/tests/kms_dither.c b/tests/kms_dither.c new file mode 100644 index
> 0000000000..c25d623f81
> --- /dev/null
> +++ b/tests/kms_dither.c
> @@ -0,0 +1,250 @@
> +/*
> + * Copyright © 2020 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person
> +obtaining a
> + * copy of this software and associated documentation files (the
> +"Software"),
> + * to deal in the Software without restriction, including without
> +limitation
> + * the rights to use, copy, modify, merge, publish, distribute,
> +sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom
> +the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the
> +next
> + * paragraph) shall be included in all copies or substantial portions
> +of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> +EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> +MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
> +SHALL
> + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM,
> +DAMAGES OR
> + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
> +OTHERWISE,
> + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
> +OR
> + * OTHER DEALINGS IN THE SOFTWARE.
> + *
> + * Authors:
> + *     Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> + *
> + */
> +
> +#include "igt.h"
> +#include <fcntl.h>
> +#include <termios.h>
> +#include <unistd.h>
> +
> +IGT_TEST_DESCRIPTION("Test Dithering block status");
> +
> +/* Connector BPC */
> +#define IGT_CONNECTOR_BPC_6		6
> +#define IGT_CONNECTOR_BPC_8		8
> +#define IGT_CONNECTOR_BPC_10		10
> +#define IGT_CONNECTOR_BPC_12		12
> +
> +/* Framebuffer BPC */
> +#define IGT_FRAME_BUFFER_BPC_8		8
> +#define IGT_FRAME_BUFFER_BPC_10		10
> +#define IGT_FRAME_BUFFER_BPC_16		16
> +
> +/* Common test data. */
> +typedef struct data {
> +	igt_display_t display;
> +	igt_plane_t *primary;
> +	igt_output_t *output;
> +	igt_pipe_t *pipe;
> +	drmModeModeInfo *mode;
> +	enum pipe pipe_id;
> +	int drm_fd;
> +	igt_fb_t fb;
> +} data_t;
> +
> +typedef struct {
> +	unsigned int bpc;
> +	unsigned int dither;
> +} dither_status_t;
> +
> +/* Prepare test data. */
> +static void prepare_test(data_t *data, igt_output_t *output, enum pipe
> +pipe) {
> +	igt_display_t *display = &data->display;
> +
> +	data->pipe_id = pipe;
> +	data->pipe = &data->display.pipes[data->pipe_id];
> +	igt_assert(data->pipe);
> +
> +	igt_display_reset(display);
> +
> +	data->output = output;
> +	igt_assert(data->output);
> +
> +	data->mode = igt_output_get_mode(data->output);
> +	igt_assert(data->mode);
> +
> +	data->primary =
> +		igt_pipe_get_plane_type(data->pipe,
> DRM_PLANE_TYPE_PRIMARY);
> +
> +	igt_output_set_pipe(data->output, data->pipe_id); }
> +
> +/* Returns the current state of dithering from the crtc debugfs. */
> +static dither_status_t get_dither_state(data_t *data) {
> +	char buf[256];
> +	char crtc_name[7];
> +	char *start_loc;
> +	int fd, res;
> +	dither_status_t status;
> +
> +	snprintf(crtc_name, 7, "crtc-%d", data->pipe_id);
> +	fd = igt_debugfs_open(data->drm_fd, crtc_name, O_RDONLY);
> +	igt_assert(fd >= 0);
> +
> +	res = igt_debugfs_simple_read(fd, "dither", buf, sizeof(buf));
> +	igt_require(res > 0);
> +	close(fd);
> +
> +	igt_assert(start_loc = strstr(buf, "bpc: "));
> +	igt_assert_eq(sscanf(start_loc, "bpc: %u", &status.bpc), 1);
> +
> +	igt_assert(start_loc = strstr(buf, "Dither: "));
> +	igt_assert_eq(sscanf(start_loc, "Dither: %u", &status.dither), 1);
> +
> +	return status;
> +}
> +
> +static void test_dithering(data_t *data, enum pipe pipe,
> +			   igt_output_t *output,
> +			   int fb_bpc, int fb_format,
> +			   int output_bpc)
> +{
> +	igt_display_t *display = &data->display;
> +	dither_status_t status;
> +	int bpc;
> +
> +	igt_info("Dithering test execution on %s PIPE_%s\n",
> +			output->name, kmstest_pipe_name(pipe));
> +	prepare_test(data, output, pipe);
> +
> +	igt_assert(igt_create_fb(data->drm_fd, data->mode->hdisplay,
> +				 data->mode->vdisplay, fb_format,
> +				 LOCAL_DRM_FORMAT_MOD_NONE, &data->fb));
> +	igt_plane_set_fb(data->primary, &data->fb);
> +	igt_plane_set_size(data->primary, data->mode->hdisplay,
> +data->mode->vdisplay);
> +
> +	bpc = igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC);
> +	igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC,
> output_bpc);
> +	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC :
> +COMMIT_LEGACY);
> +
> +	/*
> +	 * Check the status of Dithering block:
> +	 *
> +	 * Preserve the result & compute later (after clean-up).
> +	 * If fb_bpc is greater than output_bpc, Dithering should be enabled
> +	 * Else disabled
> +	 */
> +	status = get_dither_state(data);
> +
> +	igt_debug("FB BPC:%d, Panel BPC:%d, Pipe BPC:%d, Expected Dither:%s,
> Actual result:%s\n",
> +		  fb_bpc, output_bpc, status.bpc,
> +		  (fb_bpc > output_bpc) ? "Enable": "Disable",
> +		  status.dither ? "Enable": "Disable");
> +
> +       /*
> +	* We must update the Connector max_bpc property back
> +	* Otherwise, previously updated value will stay forever and
> +	* may cause the failures for next/other subtests.
> +	*/
> +	igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC,
> bpc);
> +	igt_plane_set_fb(data->primary, NULL);
> +	igt_output_set_pipe(output, PIPE_NONE);
> +	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC :
> COMMIT_LEGACY);
> +	igt_remove_fb(data->drm_fd, &data->fb);
> +
> +	/* Check if crtc bpc is updated with requested one. */
> +	igt_require_f((status.bpc == output_bpc),
> +			"%s can support max %u-bpc, but requested %d-bpc\n",
> +				output->name, status.bpc, output_bpc);
> +
> +	/* Compute the result. */
> +	if (fb_bpc > output_bpc)
> +		igt_assert_f(status.dither, "(fb_%dbpc > output_%dbpc): Dither
> should be enabled\n",
> +				fb_bpc, output_bpc);
> +	else
> +		igt_assert_f(!status.dither, "(fb_%dbpc <= output_%dbpc): Dither
> should be disabled\n",
> +				fb_bpc, output_bpc);
> +
> +	return;
> +}
> +
> +/* Returns true if an output supports max bpc property & max_bpc >=
> +requested. */ static bool is_supported(igt_output_t *output, int bpc) {
> +        return igt_output_has_prop(output, IGT_CONNECTOR_MAX_BPC) &&
> +		(igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC) >= bpc);
> }
> +
> +static void
> +run_dither_test(data_t *data, int fb_bpc, int fb_format, int
> +output_bpc) {
> +	igt_output_t *output;
> +	igt_display_t *display = &data->display;
> +
> +	for_each_connected_output(display, output) {
> +		enum pipe pipe;
> +
> +		if (!is_supported(output, output_bpc))
> +			continue;
> +
> +		if ((strstr(output->name, "HDMI") != NULL) &&
> +		    (output_bpc == IGT_CONNECTOR_BPC_6))
> +			continue;
> +
> +		for_each_pipe(display, pipe) {
> +			if (igt_pipe_connector_valid(pipe, output)) {
> +				igt_dynamic_f("%s-pipe-%s", output->name,
> kmstest_pipe_name(pipe))
> +					test_dithering(data, pipe, output, fb_bpc,
> +							fb_format, output_bpc);
> +
> +				/* One pipe is enough */
> +				break;
> +			}
> +		}
> +	}
> +}
> +
> +igt_main
> +{
> +	struct {
> +		int fb_bpc;
> +		int format;
> +		int output_bpc;
> +	} tests[] = {
> +		{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888,
> IGT_CONNECTOR_BPC_6 },
> +		{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888,
> IGT_CONNECTOR_BPC_8 },
> +	};
> +	int i;
> +	data_t data = { 0 };
> +
> +	igt_fixture {
> +		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
> +		kmstest_set_vt_graphics_mode();
> +
> +		igt_display_require(&data.display, data.drm_fd);
> +		igt_display_require_output(&data.display);
> +	}
> +
> +	for (i = 0; i < ARRAY_SIZE(tests); i++) {
> +		igt_describe_f("Framebuffer BPC:%d, Panel BPC:%d, Expected
> Dither:%s\n",
> +			       tests[i].fb_bpc, tests[i].output_bpc,
> +			       (tests[i].fb_bpc > tests[i].output_bpc) ?
> +							"Enable": "Disable");
> +
> +		igt_subtest_with_dynamic_f("FB-%dBPC-Vs-Panel-%dBPC",
> +				tests[i].fb_bpc, tests[i].output_bpc)
> +			run_dither_test(&data,
> +					tests[i].fb_bpc,
> +					tests[i].format,
> +					tests[i].output_bpc);
> +	}
> +
> +	igt_fixture {
> +		igt_display_fini(&data.display);
> +	}
> +}
> diff --git a/tests/meson.build b/tests/meson.build index 2351b3d3fa..e5954e2832
> 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -28,6 +28,7 @@ test_progs = [
>  	'kms_cursor_crc',
>  	'kms_cursor_edge_walk',
>  	'kms_cursor_legacy',
> +	'kms_dither',
>  	'kms_dp_aux_dev',
>  	'kms_dp_dsc',
>  	'kms_dp_tiled_display',
> --
> 2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering
  2021-06-15  5:54 ` [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering Shankar, Uma
@ 2021-06-15  5:58   ` Modem, Bhanuprakash
  2021-06-15  6:11     ` Shankar, Uma
  0 siblings, 1 reply; 46+ messages in thread
From: Modem, Bhanuprakash @ 2021-06-15  5:58 UTC (permalink / raw)
  To: Shankar, Uma, Patnana, Venkata Sai, igt-dev
  Cc: Varide, Nischal, Latvala, Petri

> From: Shankar, Uma <uma.shankar@intel.com>
> Sent: Tuesday, June 15, 2021 11:24 AM
> To: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>; igt-
> dev@lists.freedesktop.org
> Cc: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>; Sharma, Swati2
> <swati2.sharma@intel.com>; B S, Karthik <karthik.b.s@intel.com>; Varide,
> Nischal <nischal.varide@intel.com>; Latvala, Petri <petri.latvala@intel.com>
> Subject: RE: [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc
> Dithering
> 
> 
> 
> > -----Original Message-----
> > From: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>
> > Sent: Friday, June 11, 2021 10:50 AM
> > To: igt-dev@lists.freedesktop.org
> > Cc: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>; Modem,
> Bhanuprakash
> > <bhanuprakash.modem@intel.com>; Sharma, Swati2 <swati2.sharma@intel.com>;
> > B S, Karthik <karthik.b.s@intel.com>; Shankar, Uma <uma.shankar@intel.com>;
> > Varide, Nischal <nischal.varide@intel.com>; Latvala, Petri
> <petri.latvala@intel.com>
> > Subject: [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc
> Dithering
> 
> This test depends on the corresponding kernel driver changes.
> https://patchwork.freedesktop.org/series/91383/ : Dithering support
> https://patchwork.freedesktop.org/series/79664/: Debugfs changes
> The above are in review.
> 
> I would suggest we consolidate both kernel changes in 1 common series.
 
As we doesn't have a test coverage for Dithering, it was intentional to
have 2 patches:
 
* one for legacy (dither at end of the pipe)
* other to extend it for dither at end of CC block.

- Bhanu
> 
> The kernel changes needs to be merged and available in driver, before this
> test can go in.
> 
> Regards,
> Uma Shankar
> 
> > From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> >
> > Many of the display devices have color format support less than the color
> format of
> > the input data (Ex: 8-bit input data and 6-bit display color depth). Then
> the input data
> > will be either truncated or rounded, but this approach usually causes loss
> of detail
> > and also produce large banded areas of a single color that significantly
> differs from
> > the original image.
> >
> > Dithering is a technique used to enhance these colors by creating the
> illusion of
> > smoothness by adjusting the nearby pixel color.
> > For Eg: Converting 8-bit to 6-bit by modifying the pixel information.
> >
> > Dithering should be enabled when a panel color depth is lower than the color
> depth
> > of the framebuffer.
> >
> > Even though feature Dithering is there since legacy, there is no specific
> IGT for this.
> > This patch will create New IGT for Dithering.
> > And below is the truth table for CRTC Dithering.
> >
> > |----------------|---------|-------------|
> > |  Frame buffer  |  Panel  |  Dithering  |
> > |----------------|---------|-------------|
> > |      8 BPC     |  6 BPC  |     Yes     |
> > |----------------|---------|-------------|
> > |      8 BPC     |  8 BPC  |     No      |
> > |----------------|---------|-------------|
> > |      8 BPC     | 10 BPC  |     No      |
> > |----------------|---------|-------------|
> > |     10 BPC     |  6 BPC  |     Yes     |
> > |----------------|---------|-------------|
> > |     10 BPC     |  8 BPC  |     Yes     |
> > |----------------|---------|-------------|
> > |     10 BPC     | 10 BPC  |     No      |
> > |----------------|---------|-------------|
> > |     16 BPC     |  6 BPC  |     Yes     |
> > |----------------|---------|-------------|
> > |     16 BPC     |  8 BPC  |     Yes     |
> > |----------------|---------|-------------|
> > |     16 BPC     | 10 BPC  |     Yes     |
> > |----------------|---------|-------------|
> >
> > Cc: Swati Sharma <swati2.sharma@intel.com>
> > Cc: Karthik B S <karthik.b.s@intel.com>
> > Cc: Uma Shankar <uma.shankar@intel.com>
> > Cc: Nischal Varide <nischal.varide@intel.com>
> > Cc: Petri Latvala <petri.latvala@intel.com>
> > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > ---
> >  tests/kms_dither.c | 250 +++++++++++++++++++++++++++++++++++++++++++++
> >  tests/meson.build  |   1 +
> >  2 files changed, 251 insertions(+)
> >  create mode 100644 tests/kms_dither.c
> >
> > diff --git a/tests/kms_dither.c b/tests/kms_dither.c new file mode 100644
> index
> > 0000000000..c25d623f81
> > --- /dev/null
> > +++ b/tests/kms_dither.c
> > @@ -0,0 +1,250 @@
> > +/*
> > + * Copyright © 2020 Intel Corporation
> > + *
> > + * Permission is hereby granted, free of charge, to any person
> > +obtaining a
> > + * copy of this software and associated documentation files (the
> > +"Software"),
> > + * to deal in the Software without restriction, including without
> > +limitation
> > + * the rights to use, copy, modify, merge, publish, distribute,
> > +sublicense,
> > + * and/or sell copies of the Software, and to permit persons to whom
> > +the
> > + * Software is furnished to do so, subject to the following conditions:
> > + *
> > + * The above copyright notice and this permission notice (including the
> > +next
> > + * paragraph) shall be included in all copies or substantial portions
> > +of the
> > + * Software.
> > + *
> > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> > +EXPRESS OR
> > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> > +MERCHANTABILITY,
> > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
> > +SHALL
> > + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM,
> > +DAMAGES OR
> > + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
> > +OTHERWISE,
> > + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
> > +OR
> > + * OTHER DEALINGS IN THE SOFTWARE.
> > + *
> > + * Authors:
> > + *     Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > + *
> > + */
> > +
> > +#include "igt.h"
> > +#include <fcntl.h>
> > +#include <termios.h>
> > +#include <unistd.h>
> > +
> > +IGT_TEST_DESCRIPTION("Test Dithering block status");
> > +
> > +/* Connector BPC */
> > +#define IGT_CONNECTOR_BPC_66
> > +#define IGT_CONNECTOR_BPC_88
> > +#define IGT_CONNECTOR_BPC_1010
> > +#define IGT_CONNECTOR_BPC_1212
> > +
> > +/* Framebuffer BPC */
> > +#define IGT_FRAME_BUFFER_BPC_88
> > +#define IGT_FRAME_BUFFER_BPC_1010
> > +#define IGT_FRAME_BUFFER_BPC_1616
> > +
> > +/* Common test data. */
> > +typedef struct data {
> > +igt_display_t display;
> > +igt_plane_t *primary;
> > +igt_output_t *output;
> > +igt_pipe_t *pipe;
> > +drmModeModeInfo *mode;
> > +enum pipe pipe_id;
> > +int drm_fd;
> > +igt_fb_t fb;
> > +} data_t;
> > +
> > +typedef struct {
> > +unsigned int bpc;
> > +unsigned int dither;
> > +} dither_status_t;
> > +
> > +/* Prepare test data. */
> > +static void prepare_test(data_t *data, igt_output_t *output, enum pipe
> > +pipe) {
> > +igt_display_t *display = &data->display;
> > +
> > +data->pipe_id = pipe;
> > +data->pipe = &data->display.pipes[data->pipe_id];
> > +igt_assert(data->pipe);
> > +
> > +igt_display_reset(display);
> > +
> > +data->output = output;
> > +igt_assert(data->output);
> > +
> > +data->mode = igt_output_get_mode(data->output);
> > +igt_assert(data->mode);
> > +
> > +data->primary =
> > +igt_pipe_get_plane_type(data->pipe,
> > DRM_PLANE_TYPE_PRIMARY);
> > +
> > +igt_output_set_pipe(data->output, data->pipe_id); }
> > +
> > +/* Returns the current state of dithering from the crtc debugfs. */
> > +static dither_status_t get_dither_state(data_t *data) {
> > +char buf[256];
> > +char crtc_name[7];
> > +char *start_loc;
> > +int fd, res;
> > +dither_status_t status;
> > +
> > +snprintf(crtc_name, 7, "crtc-%d", data->pipe_id);
> > +fd = igt_debugfs_open(data->drm_fd, crtc_name, O_RDONLY);
> > +igt_assert(fd >= 0);
> > +
> > +res = igt_debugfs_simple_read(fd, "dither", buf, sizeof(buf));
> > +igt_require(res > 0);
> > +close(fd);
> > +
> > +igt_assert(start_loc = strstr(buf, "bpc: "));
> > +igt_assert_eq(sscanf(start_loc, "bpc: %u", &status.bpc), 1);
> > +
> > +igt_assert(start_loc = strstr(buf, "Dither: "));
> > +igt_assert_eq(sscanf(start_loc, "Dither: %u", &status.dither), 1);
> > +
> > +return status;
> > +}
> > +
> > +static void test_dithering(data_t *data, enum pipe pipe,
> > +   igt_output_t *output,
> > +   int fb_bpc, int fb_format,
> > +   int output_bpc)
> > +{
> > +igt_display_t *display = &data->display;
> > +dither_status_t status;
> > +int bpc;
> > +
> > +igt_info("Dithering test execution on %s PIPE_%s\n",
> > +output->name, kmstest_pipe_name(pipe));
> > +prepare_test(data, output, pipe);
> > +
> > +igt_assert(igt_create_fb(data->drm_fd, data->mode->hdisplay,
> > + data->mode->vdisplay, fb_format,
> > + LOCAL_DRM_FORMAT_MOD_NONE, &data->fb));
> > +igt_plane_set_fb(data->primary, &data->fb);
> > +igt_plane_set_size(data->primary, data->mode->hdisplay,
> > +data->mode->vdisplay);
> > +
> > +bpc = igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC);
> > +igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC,
> > output_bpc);
> > +igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC :
> > +COMMIT_LEGACY);
> > +
> > +/*
> > + * Check the status of Dithering block:
> > + *
> > + * Preserve the result & compute later (after clean-up).
> > + * If fb_bpc is greater than output_bpc, Dithering should be enabled
> > + * Else disabled
> > + */
> > +status = get_dither_state(data);
> > +
> > +igt_debug("FB BPC:%d, Panel BPC:%d, Pipe BPC:%d, Expected Dither:%s,
> > Actual result:%s\n",
> > +  fb_bpc, output_bpc, status.bpc,
> > +  (fb_bpc > output_bpc) ? "Enable": "Disable",
> > +  status.dither ? "Enable": "Disable");
> > +
> > +       /*
> > +* We must update the Connector max_bpc property back
> > +* Otherwise, previously updated value will stay forever and
> > +* may cause the failures for next/other subtests.
> > +*/
> > +igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC,
> > bpc);
> > +igt_plane_set_fb(data->primary, NULL);
> > +igt_output_set_pipe(output, PIPE_NONE);
> > +igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC :
> > COMMIT_LEGACY);
> > +igt_remove_fb(data->drm_fd, &data->fb);
> > +
> > +/* Check if crtc bpc is updated with requested one. */
> > +igt_require_f((status.bpc == output_bpc),
> > +"%s can support max %u-bpc, but requested %d-bpc\n",
> > +output->name, status.bpc, output_bpc);
> > +
> > +/* Compute the result. */
> > +if (fb_bpc > output_bpc)
> > +igt_assert_f(status.dither, "(fb_%dbpc > output_%dbpc): Dither
> > should be enabled\n",
> > +fb_bpc, output_bpc);
> > +else
> > +igt_assert_f(!status.dither, "(fb_%dbpc <= output_%dbpc): Dither
> > should be disabled\n",
> > +fb_bpc, output_bpc);
> > +
> > +return;
> > +}
> > +
> > +/* Returns true if an output supports max bpc property & max_bpc >=
> > +requested. */ static bool is_supported(igt_output_t *output, int bpc) {
> > +        return igt_output_has_prop(output, IGT_CONNECTOR_MAX_BPC) &&
> > +(igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC) >= bpc);
> > }
> > +
> > +static void
> > +run_dither_test(data_t *data, int fb_bpc, int fb_format, int
> > +output_bpc) {
> > +igt_output_t *output;
> > +igt_display_t *display = &data->display;
> > +
> > +for_each_connected_output(display, output) {
> > +enum pipe pipe;
> > +
> > +if (!is_supported(output, output_bpc))
> > +continue;
> > +
> > +if ((strstr(output->name, "HDMI") != NULL) &&
> > +    (output_bpc == IGT_CONNECTOR_BPC_6))
> > +continue;
> > +
> > +for_each_pipe(display, pipe) {
> > +if (igt_pipe_connector_valid(pipe, output)) {
> > +igt_dynamic_f("%s-pipe-%s", output->name,
> > kmstest_pipe_name(pipe))
> > +test_dithering(data, pipe, output, fb_bpc,
> > +fb_format, output_bpc);
> > +
> > +/* One pipe is enough */
> > +break;
> > +}
> > +}
> > +}
> > +}
> > +
> > +igt_main
> > +{
> > +struct {
> > +int fb_bpc;
> > +int format;
> > +int output_bpc;
> > +} tests[] = {
> > +{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888,
> > IGT_CONNECTOR_BPC_6 },
> > +{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888,
> > IGT_CONNECTOR_BPC_8 },
> > +};
> > +int i;
> > +data_t data = { 0 };
> > +
> > +igt_fixture {
> > +data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
> > +kmstest_set_vt_graphics_mode();
> > +
> > +igt_display_require(&data.display, data.drm_fd);
> > +igt_display_require_output(&data.display);
> > +}
> > +
> > +for (i = 0; i < ARRAY_SIZE(tests); i++) {
> > +igt_describe_f("Framebuffer BPC:%d, Panel BPC:%d, Expected
> > Dither:%s\n",
> > +       tests[i].fb_bpc, tests[i].output_bpc,
> > +       (tests[i].fb_bpc > tests[i].output_bpc) ?
> > +"Enable": "Disable");
> > +
> > +igt_subtest_with_dynamic_f("FB-%dBPC-Vs-Panel-%dBPC",
> > +tests[i].fb_bpc, tests[i].output_bpc)
> > +run_dither_test(&data,
> > +tests[i].fb_bpc,
> > +tests[i].format,
> > +tests[i].output_bpc);
> > +}
> > +
> > +igt_fixture {
> > +igt_display_fini(&data.display);
> > +}
> > +}
> > diff --git a/tests/meson.build b/tests/meson.build index
> 2351b3d3fa..e5954e2832
> > 100644
> > --- a/tests/meson.build
> > +++ b/tests/meson.build
> > @@ -28,6 +28,7 @@ test_progs = [
> >  'kms_cursor_crc',
> >  'kms_cursor_edge_walk',
> >  'kms_cursor_legacy',
> > +'kms_dither',
> >  'kms_dp_aux_dev',
> >  'kms_dp_dsc',
> >  'kms_dp_tiled_display',
> > --
> > 2.25.1
> 

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 09/17] tests/kms_big_fb: Add max HW stride length tests
  2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 09/17] tests/kms_big_fb: Add max HW stride length tests venkata.sai.patnana
@ 2021-06-15  6:00   ` Shankar, Uma
  0 siblings, 0 replies; 46+ messages in thread
From: Shankar, Uma @ 2021-06-15  6:00 UTC (permalink / raw)
  To: Patnana, Venkata Sai, igt-dev; +Cc: Heikkila, Juha-pekka



> -----Original Message-----
> From: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>
> Sent: Friday, June 11, 2021 10:50 AM
> To: igt-dev@lists.freedesktop.org
> Cc: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>; Heikkila, Juha-pekka
> <juha-pekka.heikkila@intel.com>; Shankar, Uma <uma.shankar@intel.com>
> Subject: [PATCH i-g-t 09/17] tests/kms_big_fb: Add max HW stride length tests
> 
> From: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
> 
> Test maximum HW stride lengths. On Intel HW from gen5 up to
> Gen10 maximum HW stride length is 32K. On Gen11 when using 64bpp formats
> strides can reach up to 64k. These test try exact maximum HW strides so gtt
> remapping will not come in play.

Looks Good to me.
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
> 
> Cc: Uma Shankar <uma.shankar@intel.com>
> Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
> ---
>  tests/kms_big_fb.c | 154 ++++++++++++++++++++++++++++++++++++++++++---
>  1 file changed, 146 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c index 0ea076706f..65565127fd
> 100644
> --- a/tests/kms_big_fb.c
> +++ b/tests/kms_big_fb.c
> @@ -50,6 +50,11 @@ typedef struct {
>  	igt_render_copyfunc_t render_copy;
>  	struct buf_ops *bops;
>  	struct intel_bb *ibb;
> +	bool max_hw_stride_test;
> +	int hw_stride;
> +	int max_hw_fb_width;
> +	uint32_t format_override;
> +	uint32_t stride_override;
>  } data_t;
> 
>  static struct intel_buf *init_buf(data_t *data, @@ -83,6 +88,38 @@ static void
> fini_buf(struct intel_buf *buf)
>  	intel_buf_destroy(buf);
>  }
> 
> +static void setup_fb(data_t *data, struct igt_fb *newfb, uint32_t width,
> +		     uint32_t height, uint64_t format, uint64_t modifier, uint64_t
> +stride) {
> +	struct drm_mode_fb_cmd2 f = {0};
> +	cairo_t *cr;
> +
> +	newfb->strides[0] = stride;
> +	igt_create_bo_for_fb(data->drm_fd, width, height, format, modifier,
> +			     newfb);
> +
> +	igt_assert(newfb->gem_handle > 0);
> +
> +	f.width = newfb->width;
> +	f.height = newfb->height;
> +	f.pixel_format = newfb->drm_format;
> +	f.flags = LOCAL_DRM_MODE_FB_MODIFIERS;
> +
> +	for (int n = 0; n < newfb->num_planes; n++) {
> +		f.handles[n] = newfb->gem_handle;
> +		f.modifier[n] = newfb->modifier;
> +		f.pitches[n] = newfb->strides[n];
> +		f.offsets[n] = newfb->offsets[n];
> +	}
> +
> +	cr = igt_get_cairo_ctx(data->drm_fd, newfb);
> +	igt_paint_color(cr, 0, 0, newfb->width, newfb->height, 0, 0, 0);
> +	igt_put_cairo_ctx(cr);
> +
> +	igt_assert(drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f)
> == 0);
> +	newfb->fb_id = f.fb_id;
> +}
> +
>  static void copy_pattern(data_t *data,
>  			 struct igt_fb *dst_fb, int dx, int dy,
>  			 struct igt_fb *src_fb, int sx, int sy, @@ -178,9 +215,6 @@
> static void max_fb_size(data_t *data, int *width, int *height,
>  	uint64_t size;
>  	int i = 0;
> 
> -	*width = data->max_fb_width;
> -	*height = data->max_fb_height;
> -
>  	/* max fence stride is only 8k bytes on gen3 */
>  	if (intel_display_ver(data->devid) < 4 &&
>  	    format == DRM_FORMAT_XRGB8888)
> @@ -209,10 +243,17 @@ static void prep_fb(data_t *data)
>  	if (data->big_fb.fb_id)
>  		return;
> 
> -	igt_create_fb(data->drm_fd,
> -		      data->big_fb_width, data->big_fb_height,
> -		      data->format, data->modifier,
> -		      &data->big_fb);
> +	if (data->hw_stride == 0) {
> +		igt_create_fb(data->drm_fd,
> +			data->big_fb_width, data->big_fb_height,
> +			data->format, data->modifier,
> +			&data->big_fb);
> +	} else {
> +		setup_fb(data, &data->big_fb, data->big_fb_width,
> +			 data->big_fb_height, data->format, data->modifier,
> +			 data->hw_stride);
> +		igt_info("using stride length %d\n", data->hw_stride);
> +	}
> 
>  	generate_pattern(data, &data->big_fb, 640, 480);  } @@ -435,6 +476,14
> @@ static bool test_pipe(data_t *data)
> 
>  static void test_scanout(data_t *data)
>  {
> +	if (data->max_hw_stride_test) {
> +		data->big_fb_width = data->max_hw_fb_width;
> +		data->big_fb_height = data->max_hw_fb_width;
> +	} else {
> +		data->big_fb_width = data->max_fb_width;
> +		data->big_fb_height = data->max_fb_height;
> +	}
> +
>  	max_fb_size(data, &data->big_fb_width, &data->big_fb_height,
>  		    data->format, data->modifier);
> 
> @@ -587,7 +636,27 @@ test_addfb(data_t *data)
>  	gem_close(data->drm_fd, bo);
>  }
> 
> -static data_t data;
> +/*
> + * TODO: adapt i9xx_plane_max_stride(..) here from intel_display.c
> + * in kernel sources to support older gen for max hw stride length
> + * testing.
> + */
> +static void
> +set_max_hw_stride(data_t *data)
> +{
> +	if (intel_display_ver(data->devid) >= 13) {
> +		/*
> +		 * The stride in bytes must not exceed of the size
> +		 * of 128K bytes. For pixel formats of 64bpp will allow
> +		 * for a 16K pixel surface.
> +		 */
> +		data->hw_stride = 131072;
> +	} else {
> +		data->hw_stride = 32768;
> +	}
> +}
> +
> +static data_t data = {};
> 
>  static const struct {
>  	uint64_t modifier;
> @@ -619,6 +688,13 @@ static const struct {
>  	{ IGT_ROTATION_270, 270, },
>  };
> 
> +static const struct {
> +	igt_rotation_t flip;
> +	const char *flipname;
> +} fliptab[] = {
> +	{ 0, "" },
> +	{ IGT_REFLECT_X, "-hflip" },
> +};
>  igt_main
>  {
>  	igt_fixture {
> @@ -665,6 +741,9 @@ igt_main
>  			data.render_copy = igt_get_render_copyfunc(data.devid);
> 
>  		data.bops = buf_ops_create(data.drm_fd);
> +		data.ibb = intel_bb_create(data.drm_fd, 4096);
> +
> +		data.max_hw_stride_test = false;
>  	}
> 
>  	/*
> @@ -732,6 +811,65 @@ igt_main
>  		}
>  	}
> 
> +	data.max_hw_stride_test = true;
> +	// Run max hw stride length tests on gen5 and later.
> +	for (int i = 0; i < ARRAY_SIZE(modifiers); i++) {
> +		data.modifier = modifiers[i].modifier;
> +
> +		set_max_hw_stride(&data);
> +
> +		for (int l = 0; l < ARRAY_SIZE(fliptab); l++) {
> +			for (int j = 0; j < ARRAY_SIZE(formats); j++) {
> +				/*
> +				* try only those formats which can show full length.
> +				* Here 32K is used to have CI test results consistent
> +				* for all platforms, 32K is smallest number possbily
> +				* coming to data.hw_stride from above
> set_max_hw_stride()
> +				*/
> +				if (32768 / (formats[j].bpp >> 3) > 8192)
> +					continue;
> +
> +				data.format = formats[j].format;
> +
> +				for (int k = 0; k < ARRAY_SIZE(rotations); k++) {
> +					data.rotation = rotations[k].rotation |
> fliptab[l].flip;
> +
> +					// this combination will never happen.
> +					if ((data.rotation & (IGT_ROTATION_90 |
> IGT_ROTATION_270)) ||
> +						(fliptab[l].flip == IGT_REFLECT_X
> && modifiers[i].modifier == DRM_FORMAT_MOD_LINEAR))
> +						continue;
> +
> +					igt_describe("test maximum hardware
> supported stride length for given bpp and modifiers.");
> +					igt_subtest_f("%s-max-hw-stride-%dbpp-
> rotate-%d%s", modifiers[i].name,
> +						formats[j].bpp, rotations[k].angle,
> fliptab[l].flipname) {
> +
> 	igt_require(intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 5);
> +						if (data.format_override != 0) {
> +							igt_info("using format
> override fourcc %.4s\n", (char *)&data.format_override);
> +							data.format =
> data.format_override;
> +						}
> +						if (data.stride_override != 0) {
> +							igt_info("using FB width
> override %.d\n", data.stride_override);
> +							data.hw_stride =
> data.stride_override;
> +							data.max_hw_fb_width =
> data.stride_override;
> +
> +						} else {
> +							data.max_hw_fb_width =
> min(data.hw_stride / (formats[j].bpp >> 3), data.max_fb_width);
> +						}
> +
> +						igt_require(data.format ==
> DRM_FORMAT_C8 ||
> +
> 	igt_fb_supported_format(data.format));
> +
> 	igt_require(igt_display_has_format_mod(&data.display, data.format,
> data.modifier));
> +						test_scanout(&data);
> +					}
> +				}
> +
> +				igt_fixture
> +					cleanup_fb(&data);
> +			}
> +		}
> +	}
> +	data.max_hw_stride_test = false;
> +
>  	igt_fixture {
>  		igt_display_fini(&data.display);
>  		buf_ops_destroy(data.bops);
> --
> 2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering
  2021-06-15  5:58   ` Modem, Bhanuprakash
@ 2021-06-15  6:11     ` Shankar, Uma
  2021-06-15  9:04       ` Jani Nikula
  0 siblings, 1 reply; 46+ messages in thread
From: Shankar, Uma @ 2021-06-15  6:11 UTC (permalink / raw)
  To: Modem, Bhanuprakash, Patnana, Venkata Sai, igt-dev
  Cc: Varide, Nischal, Latvala, Petri



> -----Original Message-----
> From: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>
> Sent: Tuesday, June 15, 2021 11:28 AM
> To: Shankar, Uma <uma.shankar@intel.com>; Patnana, Venkata Sai
> <venkata.sai.patnana@intel.com>; igt-dev@lists.freedesktop.org
> Cc: Sharma, Swati2 <swati2.sharma@intel.com>; B S, Karthik
> <karthik.b.s@intel.com>; Varide, Nischal <nischal.varide@intel.com>; Latvala, Petri
> <petri.latvala@intel.com>
> Subject: RE: [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering
> 
> > From: Shankar, Uma <uma.shankar@intel.com>
> > Sent: Tuesday, June 15, 2021 11:24 AM
> > To: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>; igt-
> > dev@lists.freedesktop.org
> > Cc: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>; Sharma, Swati2
> > <swati2.sharma@intel.com>; B S, Karthik <karthik.b.s@intel.com>;
> > Varide, Nischal <nischal.varide@intel.com>; Latvala, Petri
> > <petri.latvala@intel.com>
> > Subject: RE: [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate
> > crtc Dithering
> >
> >
> >
> > > -----Original Message-----
> > > From: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>
> > > Sent: Friday, June 11, 2021 10:50 AM
> > > To: igt-dev@lists.freedesktop.org
> > > Cc: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>; Modem,
> > Bhanuprakash
> > > <bhanuprakash.modem@intel.com>; Sharma, Swati2
> > > <swati2.sharma@intel.com>; B S, Karthik <karthik.b.s@intel.com>;
> > > Shankar, Uma <uma.shankar@intel.com>; Varide, Nischal
> > > <nischal.varide@intel.com>; Latvala, Petri
> > <petri.latvala@intel.com>
> > > Subject: [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate
> > > crtc
> > Dithering
> >
> > This test depends on the corresponding kernel driver changes.
> > https://patchwork.freedesktop.org/series/91383/ : Dithering support
> > https://patchwork.freedesktop.org/series/79664/: Debugfs changes The
> > above are in review.
> >
> > I would suggest we consolidate both kernel changes in 1 common series.
> 
> As we doesn't have a test coverage for Dithering, it was intentional to have 2
> patches:
> 
> * one for legacy (dither at end of the pipe)
> * other to extend it for dither at end of CC block.

I intended to tell about the actual dithering support and debugfs additions in driver which are now
in separate series in mailing list. I got the IGT part which is fine in separate patches.

Regards,
Uma Shankar

> - Bhanu
> >
> > The kernel changes needs to be merged and available in driver, before
> > this test can go in.
> >
> > Regards,
> > Uma Shankar
> >
> > > From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > >
> > > Many of the display devices have color format support less than the
> > > color
> > format of
> > > the input data (Ex: 8-bit input data and 6-bit display color depth).
> > > Then
> > the input data
> > > will be either truncated or rounded, but this approach usually
> > > causes loss
> > of detail
> > > and also produce large banded areas of a single color that
> > > significantly
> > differs from
> > > the original image.
> > >
> > > Dithering is a technique used to enhance these colors by creating
> > > the
> > illusion of
> > > smoothness by adjusting the nearby pixel color.
> > > For Eg: Converting 8-bit to 6-bit by modifying the pixel information.
> > >
> > > Dithering should be enabled when a panel color depth is lower than
> > > the color
> > depth
> > > of the framebuffer.
> > >
> > > Even though feature Dithering is there since legacy, there is no
> > > specific
> > IGT for this.
> > > This patch will create New IGT for Dithering.
> > > And below is the truth table for CRTC Dithering.
> > >
> > > |----------------|---------|-------------|
> > > |  Frame buffer  |  Panel  |  Dithering  |
> > > |----------------|---------|-------------|
> > > |      8 BPC     |  6 BPC  |     Yes     |
> > > |----------------|---------|-------------|
> > > |      8 BPC     |  8 BPC  |     No      |
> > > |----------------|---------|-------------|
> > > |      8 BPC     | 10 BPC  |     No      |
> > > |----------------|---------|-------------|
> > > |     10 BPC     |  6 BPC  |     Yes     |
> > > |----------------|---------|-------------|
> > > |     10 BPC     |  8 BPC  |     Yes     |
> > > |----------------|---------|-------------|
> > > |     10 BPC     | 10 BPC  |     No      |
> > > |----------------|---------|-------------|
> > > |     16 BPC     |  6 BPC  |     Yes     |
> > > |----------------|---------|-------------|
> > > |     16 BPC     |  8 BPC  |     Yes     |
> > > |----------------|---------|-------------|
> > > |     16 BPC     | 10 BPC  |     Yes     |
> > > |----------------|---------|-------------|
> > >
> > > Cc: Swati Sharma <swati2.sharma@intel.com>
> > > Cc: Karthik B S <karthik.b.s@intel.com>
> > > Cc: Uma Shankar <uma.shankar@intel.com>
> > > Cc: Nischal Varide <nischal.varide@intel.com>
> > > Cc: Petri Latvala <petri.latvala@intel.com>
> > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > > ---
> > >  tests/kms_dither.c | 250 +++++++++++++++++++++++++++++++++++++++++++++
> > >  tests/meson.build  |   1 +
> > >  2 files changed, 251 insertions(+)
> > >  create mode 100644 tests/kms_dither.c
> > >
> > > diff --git a/tests/kms_dither.c b/tests/kms_dither.c new file mode
> > > 100644
> > index
> > > 0000000000..c25d623f81
> > > --- /dev/null
> > > +++ b/tests/kms_dither.c
> > > @@ -0,0 +1,250 @@
> > > +/*
> > > + * Copyright © 2020 Intel Corporation
> > > + *
> > > + * Permission is hereby granted, free of charge, to any person
> > > +obtaining a
> > > + * copy of this software and associated documentation files (the
> > > +"Software"),
> > > + * to deal in the Software without restriction, including without
> > > +limitation
> > > + * the rights to use, copy, modify, merge, publish, distribute,
> > > +sublicense,
> > > + * and/or sell copies of the Software, and to permit persons to
> > > +whom the
> > > + * Software is furnished to do so, subject to the following conditions:
> > > + *
> > > + * The above copyright notice and this permission notice (including
> > > +the next
> > > + * paragraph) shall be included in all copies or substantial
> > > +portions of the
> > > + * Software.
> > > + *
> > > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> > > +EXPRESS OR
> > > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> > > +MERCHANTABILITY,
> > > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO
> > > +EVENT SHALL
> > > + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM,
> > > +DAMAGES OR
> > > + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
> > > +OTHERWISE,
> > > + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
> > > +USE OR
> > > + * OTHER DEALINGS IN THE SOFTWARE.
> > > + *
> > > + * Authors:
> > > + *     Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > > + *
> > > + */
> > > +
> > > +#include "igt.h"
> > > +#include <fcntl.h>
> > > +#include <termios.h>
> > > +#include <unistd.h>
> > > +
> > > +IGT_TEST_DESCRIPTION("Test Dithering block status");
> > > +
> > > +/* Connector BPC */
> > > +#define IGT_CONNECTOR_BPC_66
> > > +#define IGT_CONNECTOR_BPC_88
> > > +#define IGT_CONNECTOR_BPC_1010
> > > +#define IGT_CONNECTOR_BPC_1212
> > > +
> > > +/* Framebuffer BPC */
> > > +#define IGT_FRAME_BUFFER_BPC_88
> > > +#define IGT_FRAME_BUFFER_BPC_1010
> > > +#define IGT_FRAME_BUFFER_BPC_1616
> > > +
> > > +/* Common test data. */
> > > +typedef struct data {
> > > +igt_display_t display;
> > > +igt_plane_t *primary;
> > > +igt_output_t *output;
> > > +igt_pipe_t *pipe;
> > > +drmModeModeInfo *mode;
> > > +enum pipe pipe_id;
> > > +int drm_fd;
> > > +igt_fb_t fb;
> > > +} data_t;
> > > +
> > > +typedef struct {
> > > +unsigned int bpc;
> > > +unsigned int dither;
> > > +} dither_status_t;
> > > +
> > > +/* Prepare test data. */
> > > +static void prepare_test(data_t *data, igt_output_t *output, enum
> > > +pipe
> > > +pipe) {
> > > +igt_display_t *display = &data->display;
> > > +
> > > +data->pipe_id = pipe;
> > > +data->pipe = &data->display.pipes[data->pipe_id];
> > > +igt_assert(data->pipe);
> > > +
> > > +igt_display_reset(display);
> > > +
> > > +data->output = output;
> > > +igt_assert(data->output);
> > > +
> > > +data->mode = igt_output_get_mode(data->output);
> > > +igt_assert(data->mode);
> > > +
> > > +data->primary =
> > > +igt_pipe_get_plane_type(data->pipe,
> > > DRM_PLANE_TYPE_PRIMARY);
> > > +
> > > +igt_output_set_pipe(data->output, data->pipe_id); }
> > > +
> > > +/* Returns the current state of dithering from the crtc debugfs. */
> > > +static dither_status_t get_dither_state(data_t *data) { char
> > > +buf[256]; char crtc_name[7]; char *start_loc; int fd, res;
> > > +dither_status_t status;
> > > +
> > > +snprintf(crtc_name, 7, "crtc-%d", data->pipe_id); fd =
> > > +igt_debugfs_open(data->drm_fd, crtc_name, O_RDONLY); igt_assert(fd
> > > +>= 0);
> > > +
> > > +res = igt_debugfs_simple_read(fd, "dither", buf, sizeof(buf));
> > > +igt_require(res > 0); close(fd);
> > > +
> > > +igt_assert(start_loc = strstr(buf, "bpc: "));
> > > +igt_assert_eq(sscanf(start_loc, "bpc: %u", &status.bpc), 1);
> > > +
> > > +igt_assert(start_loc = strstr(buf, "Dither: "));
> > > +igt_assert_eq(sscanf(start_loc, "Dither: %u", &status.dither), 1);
> > > +
> > > +return status;
> > > +}
> > > +
> > > +static void test_dithering(data_t *data, enum pipe pipe,
> > > +   igt_output_t *output,
> > > +   int fb_bpc, int fb_format,
> > > +   int output_bpc)
> > > +{
> > > +igt_display_t *display = &data->display; dither_status_t status;
> > > +int bpc;
> > > +
> > > +igt_info("Dithering test execution on %s PIPE_%s\n",
> > > +output->name, kmstest_pipe_name(pipe));
> > > +prepare_test(data, output, pipe);
> > > +
> > > +igt_assert(igt_create_fb(data->drm_fd, data->mode->hdisplay,
> > > + data->mode->vdisplay, fb_format,
> > > + LOCAL_DRM_FORMAT_MOD_NONE, &data->fb));
> > > +igt_plane_set_fb(data->primary, &data->fb);
> > > +igt_plane_set_size(data->primary, data->mode->hdisplay,
> > > +data->mode->vdisplay);
> > > +
> > > +bpc = igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC);
> > > +igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC,
> > > output_bpc);
> > > +igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC :
> > > +COMMIT_LEGACY);
> > > +
> > > +/*
> > > + * Check the status of Dithering block:
> > > + *
> > > + * Preserve the result & compute later (after clean-up).
> > > + * If fb_bpc is greater than output_bpc, Dithering should be
> > > +enabled
> > > + * Else disabled
> > > + */
> > > +status = get_dither_state(data);
> > > +
> > > +igt_debug("FB BPC:%d, Panel BPC:%d, Pipe BPC:%d, Expected
> > > +Dither:%s,
> > > Actual result:%s\n",
> > > +  fb_bpc, output_bpc, status.bpc,
> > > +  (fb_bpc > output_bpc) ? "Enable": "Disable",  status.dither ?
> > > + "Enable": "Disable");
> > > +
> > > +       /*
> > > +* We must update the Connector max_bpc property back
> > > +* Otherwise, previously updated value will stay forever and
> > > +* may cause the failures for next/other subtests.
> > > +*/
> > > +igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC,
> > > bpc);
> > > +igt_plane_set_fb(data->primary, NULL); igt_output_set_pipe(output,
> > > +PIPE_NONE); igt_display_commit2(display, display->is_atomic ?
> > > +COMMIT_ATOMIC :
> > > COMMIT_LEGACY);
> > > +igt_remove_fb(data->drm_fd, &data->fb);
> > > +
> > > +/* Check if crtc bpc is updated with requested one. */
> > > +igt_require_f((status.bpc == output_bpc), "%s can support max
> > > +%u-bpc, but requested %d-bpc\n",
> > > +output->name, status.bpc, output_bpc);
> > > +
> > > +/* Compute the result. */
> > > +if (fb_bpc > output_bpc)
> > > +igt_assert_f(status.dither, "(fb_%dbpc > output_%dbpc): Dither
> > > should be enabled\n",
> > > +fb_bpc, output_bpc);
> > > +else
> > > +igt_assert_f(!status.dither, "(fb_%dbpc <= output_%dbpc): Dither
> > > should be disabled\n",
> > > +fb_bpc, output_bpc);
> > > +
> > > +return;
> > > +}
> > > +
> > > +/* Returns true if an output supports max bpc property & max_bpc >=
> > > +requested. */ static bool is_supported(igt_output_t *output, int bpc) {
> > > +        return igt_output_has_prop(output, IGT_CONNECTOR_MAX_BPC)
> > > +&& (igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC) >= bpc);
> > > }
> > > +
> > > +static void
> > > +run_dither_test(data_t *data, int fb_bpc, int fb_format, int
> > > +output_bpc) {
> > > +igt_output_t *output;
> > > +igt_display_t *display = &data->display;
> > > +
> > > +for_each_connected_output(display, output) { enum pipe pipe;
> > > +
> > > +if (!is_supported(output, output_bpc)) continue;
> > > +
> > > +if ((strstr(output->name, "HDMI") != NULL) &&
> > > +    (output_bpc == IGT_CONNECTOR_BPC_6)) continue;
> > > +
> > > +for_each_pipe(display, pipe) {
> > > +if (igt_pipe_connector_valid(pipe, output)) {
> > > +igt_dynamic_f("%s-pipe-%s", output->name,
> > > kmstest_pipe_name(pipe))
> > > +test_dithering(data, pipe, output, fb_bpc, fb_format, output_bpc);
> > > +
> > > +/* One pipe is enough */
> > > +break;
> > > +}
> > > +}
> > > +}
> > > +}
> > > +
> > > +igt_main
> > > +{
> > > +struct {
> > > +int fb_bpc;
> > > +int format;
> > > +int output_bpc;
> > > +} tests[] = {
> > > +{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888,
> > > IGT_CONNECTOR_BPC_6 },
> > > +{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888,
> > > IGT_CONNECTOR_BPC_8 },
> > > +};
> > > +int i;
> > > +data_t data = { 0 };
> > > +
> > > +igt_fixture {
> > > +data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
> > > +kmstest_set_vt_graphics_mode();
> > > +
> > > +igt_display_require(&data.display, data.drm_fd);
> > > +igt_display_require_output(&data.display);
> > > +}
> > > +
> > > +for (i = 0; i < ARRAY_SIZE(tests); i++) {
> > > +igt_describe_f("Framebuffer BPC:%d, Panel BPC:%d, Expected
> > > Dither:%s\n",
> > > +       tests[i].fb_bpc, tests[i].output_bpc,
> > > +       (tests[i].fb_bpc > tests[i].output_bpc) ?
> > > +"Enable": "Disable");
> > > +
> > > +igt_subtest_with_dynamic_f("FB-%dBPC-Vs-Panel-%dBPC",
> > > +tests[i].fb_bpc, tests[i].output_bpc) run_dither_test(&data,
> > > +tests[i].fb_bpc, tests[i].format, tests[i].output_bpc); }
> > > +
> > > +igt_fixture {
> > > +igt_display_fini(&data.display);
> > > +}
> > > +}
> > > diff --git a/tests/meson.build b/tests/meson.build index
> > 2351b3d3fa..e5954e2832
> > > 100644
> > > --- a/tests/meson.build
> > > +++ b/tests/meson.build
> > > @@ -28,6 +28,7 @@ test_progs = [
> > >  'kms_cursor_crc',
> > >  'kms_cursor_edge_walk',
> > >  'kms_cursor_legacy',
> > > +'kms_dither',
> > >  'kms_dp_aux_dev',
> > >  'kms_dp_dsc',
> > >  'kms_dp_tiled_display',
> > > --
> > > 2.25.1
> >
> 

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering
  2021-06-15  6:11     ` Shankar, Uma
@ 2021-06-15  9:04       ` Jani Nikula
  0 siblings, 0 replies; 46+ messages in thread
From: Jani Nikula @ 2021-06-15  9:04 UTC (permalink / raw)
  To: Shankar, Uma, Modem, Bhanuprakash, Patnana, Venkata Sai, igt-dev
  Cc: Varide, Nischal, Latvala, Petri

On Tue, 15 Jun 2021, "Shankar, Uma" <uma.shankar@intel.com> wrote:
>> -----Original Message-----
>> From: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>
>> Sent: Tuesday, June 15, 2021 11:28 AM
>> To: Shankar, Uma <uma.shankar@intel.com>; Patnana, Venkata Sai
>> <venkata.sai.patnana@intel.com>; igt-dev@lists.freedesktop.org
>> Cc: Sharma, Swati2 <swati2.sharma@intel.com>; B S, Karthik
>> <karthik.b.s@intel.com>; Varide, Nischal <nischal.varide@intel.com>; Latvala, Petri
>> <petri.latvala@intel.com>
>> Subject: RE: [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering
>> 
>> > From: Shankar, Uma <uma.shankar@intel.com>
>> > Sent: Tuesday, June 15, 2021 11:24 AM
>> > To: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>; igt-
>> > dev@lists.freedesktop.org
>> > Cc: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>; Sharma, Swati2
>> > <swati2.sharma@intel.com>; B S, Karthik <karthik.b.s@intel.com>;
>> > Varide, Nischal <nischal.varide@intel.com>; Latvala, Petri
>> > <petri.latvala@intel.com>
>> > Subject: RE: [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate
>> > crtc Dithering
>> >
>> >
>> >
>> > > -----Original Message-----
>> > > From: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>
>> > > Sent: Friday, June 11, 2021 10:50 AM
>> > > To: igt-dev@lists.freedesktop.org
>> > > Cc: Patnana, Venkata Sai <venkata.sai.patnana@intel.com>; Modem,
>> > Bhanuprakash
>> > > <bhanuprakash.modem@intel.com>; Sharma, Swati2
>> > > <swati2.sharma@intel.com>; B S, Karthik <karthik.b.s@intel.com>;
>> > > Shankar, Uma <uma.shankar@intel.com>; Varide, Nischal
>> > > <nischal.varide@intel.com>; Latvala, Petri
>> > <petri.latvala@intel.com>
>> > > Subject: [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate
>> > > crtc
>> > Dithering
>> >
>> > This test depends on the corresponding kernel driver changes.
>> > https://patchwork.freedesktop.org/series/91383/ : Dithering support
>> > https://patchwork.freedesktop.org/series/79664/: Debugfs changes The
>> > above are in review.
>> >
>> > I would suggest we consolidate both kernel changes in 1 common series.
>> 
>> As we doesn't have a test coverage for Dithering, it was intentional to have 2
>> patches:
>> 
>> * one for legacy (dither at end of the pipe)
>> * other to extend it for dither at end of CC block.
>
> I intended to tell about the actual dithering support and debugfs additions in driver which are now
> in separate series in mailing list. I got the IGT part which is fine in separate patches.

Yeah, this series seems to be a mixed bag of all kinds of changes all
over the place. Dithering in igt should probably be one independent
series.

BR,
Jani.

>
> Regards,
> Uma Shankar
>
>> - Bhanu
>> >
>> > The kernel changes needs to be merged and available in driver, before
>> > this test can go in.
>> >
>> > Regards,
>> > Uma Shankar
>> >
>> > > From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>> > >
>> > > Many of the display devices have color format support less than the
>> > > color
>> > format of
>> > > the input data (Ex: 8-bit input data and 6-bit display color depth).
>> > > Then
>> > the input data
>> > > will be either truncated or rounded, but this approach usually
>> > > causes loss
>> > of detail
>> > > and also produce large banded areas of a single color that
>> > > significantly
>> > differs from
>> > > the original image.
>> > >
>> > > Dithering is a technique used to enhance these colors by creating
>> > > the
>> > illusion of
>> > > smoothness by adjusting the nearby pixel color.
>> > > For Eg: Converting 8-bit to 6-bit by modifying the pixel information.
>> > >
>> > > Dithering should be enabled when a panel color depth is lower than
>> > > the color
>> > depth
>> > > of the framebuffer.
>> > >
>> > > Even though feature Dithering is there since legacy, there is no
>> > > specific
>> > IGT for this.
>> > > This patch will create New IGT for Dithering.
>> > > And below is the truth table for CRTC Dithering.
>> > >
>> > > |----------------|---------|-------------|
>> > > |  Frame buffer  |  Panel  |  Dithering  |
>> > > |----------------|---------|-------------|
>> > > |      8 BPC     |  6 BPC  |     Yes     |
>> > > |----------------|---------|-------------|
>> > > |      8 BPC     |  8 BPC  |     No      |
>> > > |----------------|---------|-------------|
>> > > |      8 BPC     | 10 BPC  |     No      |
>> > > |----------------|---------|-------------|
>> > > |     10 BPC     |  6 BPC  |     Yes     |
>> > > |----------------|---------|-------------|
>> > > |     10 BPC     |  8 BPC  |     Yes     |
>> > > |----------------|---------|-------------|
>> > > |     10 BPC     | 10 BPC  |     No      |
>> > > |----------------|---------|-------------|
>> > > |     16 BPC     |  6 BPC  |     Yes     |
>> > > |----------------|---------|-------------|
>> > > |     16 BPC     |  8 BPC  |     Yes     |
>> > > |----------------|---------|-------------|
>> > > |     16 BPC     | 10 BPC  |     Yes     |
>> > > |----------------|---------|-------------|
>> > >
>> > > Cc: Swati Sharma <swati2.sharma@intel.com>
>> > > Cc: Karthik B S <karthik.b.s@intel.com>
>> > > Cc: Uma Shankar <uma.shankar@intel.com>
>> > > Cc: Nischal Varide <nischal.varide@intel.com>
>> > > Cc: Petri Latvala <petri.latvala@intel.com>
>> > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>> > > ---
>> > >  tests/kms_dither.c | 250 +++++++++++++++++++++++++++++++++++++++++++++
>> > >  tests/meson.build  |   1 +
>> > >  2 files changed, 251 insertions(+)
>> > >  create mode 100644 tests/kms_dither.c
>> > >
>> > > diff --git a/tests/kms_dither.c b/tests/kms_dither.c new file mode
>> > > 100644
>> > index
>> > > 0000000000..c25d623f81
>> > > --- /dev/null
>> > > +++ b/tests/kms_dither.c
>> > > @@ -0,0 +1,250 @@
>> > > +/*
>> > > + * Copyright © 2020 Intel Corporation
>> > > + *
>> > > + * Permission is hereby granted, free of charge, to any person
>> > > +obtaining a
>> > > + * copy of this software and associated documentation files (the
>> > > +"Software"),
>> > > + * to deal in the Software without restriction, including without
>> > > +limitation
>> > > + * the rights to use, copy, modify, merge, publish, distribute,
>> > > +sublicense,
>> > > + * and/or sell copies of the Software, and to permit persons to
>> > > +whom the
>> > > + * Software is furnished to do so, subject to the following conditions:
>> > > + *
>> > > + * The above copyright notice and this permission notice (including
>> > > +the next
>> > > + * paragraph) shall be included in all copies or substantial
>> > > +portions of the
>> > > + * Software.
>> > > + *
>> > > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> > > +EXPRESS OR
>> > > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> > > +MERCHANTABILITY,
>> > > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO
>> > > +EVENT SHALL
>> > > + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM,
>> > > +DAMAGES OR
>> > > + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
>> > > +OTHERWISE,
>> > > + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
>> > > +USE OR
>> > > + * OTHER DEALINGS IN THE SOFTWARE.
>> > > + *
>> > > + * Authors:
>> > > + *     Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>> > > + *
>> > > + */
>> > > +
>> > > +#include "igt.h"
>> > > +#include <fcntl.h>
>> > > +#include <termios.h>
>> > > +#include <unistd.h>
>> > > +
>> > > +IGT_TEST_DESCRIPTION("Test Dithering block status");
>> > > +
>> > > +/* Connector BPC */
>> > > +#define IGT_CONNECTOR_BPC_66
>> > > +#define IGT_CONNECTOR_BPC_88
>> > > +#define IGT_CONNECTOR_BPC_1010
>> > > +#define IGT_CONNECTOR_BPC_1212
>> > > +
>> > > +/* Framebuffer BPC */
>> > > +#define IGT_FRAME_BUFFER_BPC_88
>> > > +#define IGT_FRAME_BUFFER_BPC_1010
>> > > +#define IGT_FRAME_BUFFER_BPC_1616
>> > > +
>> > > +/* Common test data. */
>> > > +typedef struct data {
>> > > +igt_display_t display;
>> > > +igt_plane_t *primary;
>> > > +igt_output_t *output;
>> > > +igt_pipe_t *pipe;
>> > > +drmModeModeInfo *mode;
>> > > +enum pipe pipe_id;
>> > > +int drm_fd;
>> > > +igt_fb_t fb;
>> > > +} data_t;
>> > > +
>> > > +typedef struct {
>> > > +unsigned int bpc;
>> > > +unsigned int dither;
>> > > +} dither_status_t;
>> > > +
>> > > +/* Prepare test data. */
>> > > +static void prepare_test(data_t *data, igt_output_t *output, enum
>> > > +pipe
>> > > +pipe) {
>> > > +igt_display_t *display = &data->display;
>> > > +
>> > > +data->pipe_id = pipe;
>> > > +data->pipe = &data->display.pipes[data->pipe_id];
>> > > +igt_assert(data->pipe);
>> > > +
>> > > +igt_display_reset(display);
>> > > +
>> > > +data->output = output;
>> > > +igt_assert(data->output);
>> > > +
>> > > +data->mode = igt_output_get_mode(data->output);
>> > > +igt_assert(data->mode);
>> > > +
>> > > +data->primary =
>> > > +igt_pipe_get_plane_type(data->pipe,
>> > > DRM_PLANE_TYPE_PRIMARY);
>> > > +
>> > > +igt_output_set_pipe(data->output, data->pipe_id); }
>> > > +
>> > > +/* Returns the current state of dithering from the crtc debugfs. */
>> > > +static dither_status_t get_dither_state(data_t *data) { char
>> > > +buf[256]; char crtc_name[7]; char *start_loc; int fd, res;
>> > > +dither_status_t status;
>> > > +
>> > > +snprintf(crtc_name, 7, "crtc-%d", data->pipe_id); fd =
>> > > +igt_debugfs_open(data->drm_fd, crtc_name, O_RDONLY); igt_assert(fd
>> > > +>= 0);
>> > > +
>> > > +res = igt_debugfs_simple_read(fd, "dither", buf, sizeof(buf));
>> > > +igt_require(res > 0); close(fd);
>> > > +
>> > > +igt_assert(start_loc = strstr(buf, "bpc: "));
>> > > +igt_assert_eq(sscanf(start_loc, "bpc: %u", &status.bpc), 1);
>> > > +
>> > > +igt_assert(start_loc = strstr(buf, "Dither: "));
>> > > +igt_assert_eq(sscanf(start_loc, "Dither: %u", &status.dither), 1);
>> > > +
>> > > +return status;
>> > > +}
>> > > +
>> > > +static void test_dithering(data_t *data, enum pipe pipe,
>> > > +   igt_output_t *output,
>> > > +   int fb_bpc, int fb_format,
>> > > +   int output_bpc)
>> > > +{
>> > > +igt_display_t *display = &data->display; dither_status_t status;
>> > > +int bpc;
>> > > +
>> > > +igt_info("Dithering test execution on %s PIPE_%s\n",
>> > > +output->name, kmstest_pipe_name(pipe));
>> > > +prepare_test(data, output, pipe);
>> > > +
>> > > +igt_assert(igt_create_fb(data->drm_fd, data->mode->hdisplay,
>> > > + data->mode->vdisplay, fb_format,
>> > > + LOCAL_DRM_FORMAT_MOD_NONE, &data->fb));
>> > > +igt_plane_set_fb(data->primary, &data->fb);
>> > > +igt_plane_set_size(data->primary, data->mode->hdisplay,
>> > > +data->mode->vdisplay);
>> > > +
>> > > +bpc = igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC);
>> > > +igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC,
>> > > output_bpc);
>> > > +igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC :
>> > > +COMMIT_LEGACY);
>> > > +
>> > > +/*
>> > > + * Check the status of Dithering block:
>> > > + *
>> > > + * Preserve the result & compute later (after clean-up).
>> > > + * If fb_bpc is greater than output_bpc, Dithering should be
>> > > +enabled
>> > > + * Else disabled
>> > > + */
>> > > +status = get_dither_state(data);
>> > > +
>> > > +igt_debug("FB BPC:%d, Panel BPC:%d, Pipe BPC:%d, Expected
>> > > +Dither:%s,
>> > > Actual result:%s\n",
>> > > +  fb_bpc, output_bpc, status.bpc,
>> > > +  (fb_bpc > output_bpc) ? "Enable": "Disable",  status.dither ?
>> > > + "Enable": "Disable");
>> > > +
>> > > +       /*
>> > > +* We must update the Connector max_bpc property back
>> > > +* Otherwise, previously updated value will stay forever and
>> > > +* may cause the failures for next/other subtests.
>> > > +*/
>> > > +igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC,
>> > > bpc);
>> > > +igt_plane_set_fb(data->primary, NULL); igt_output_set_pipe(output,
>> > > +PIPE_NONE); igt_display_commit2(display, display->is_atomic ?
>> > > +COMMIT_ATOMIC :
>> > > COMMIT_LEGACY);
>> > > +igt_remove_fb(data->drm_fd, &data->fb);
>> > > +
>> > > +/* Check if crtc bpc is updated with requested one. */
>> > > +igt_require_f((status.bpc == output_bpc), "%s can support max
>> > > +%u-bpc, but requested %d-bpc\n",
>> > > +output->name, status.bpc, output_bpc);
>> > > +
>> > > +/* Compute the result. */
>> > > +if (fb_bpc > output_bpc)
>> > > +igt_assert_f(status.dither, "(fb_%dbpc > output_%dbpc): Dither
>> > > should be enabled\n",
>> > > +fb_bpc, output_bpc);
>> > > +else
>> > > +igt_assert_f(!status.dither, "(fb_%dbpc <= output_%dbpc): Dither
>> > > should be disabled\n",
>> > > +fb_bpc, output_bpc);
>> > > +
>> > > +return;
>> > > +}
>> > > +
>> > > +/* Returns true if an output supports max bpc property & max_bpc >=
>> > > +requested. */ static bool is_supported(igt_output_t *output, int bpc) {
>> > > +        return igt_output_has_prop(output, IGT_CONNECTOR_MAX_BPC)
>> > > +&& (igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC) >= bpc);
>> > > }
>> > > +
>> > > +static void
>> > > +run_dither_test(data_t *data, int fb_bpc, int fb_format, int
>> > > +output_bpc) {
>> > > +igt_output_t *output;
>> > > +igt_display_t *display = &data->display;
>> > > +
>> > > +for_each_connected_output(display, output) { enum pipe pipe;
>> > > +
>> > > +if (!is_supported(output, output_bpc)) continue;
>> > > +
>> > > +if ((strstr(output->name, "HDMI") != NULL) &&
>> > > +    (output_bpc == IGT_CONNECTOR_BPC_6)) continue;
>> > > +
>> > > +for_each_pipe(display, pipe) {
>> > > +if (igt_pipe_connector_valid(pipe, output)) {
>> > > +igt_dynamic_f("%s-pipe-%s", output->name,
>> > > kmstest_pipe_name(pipe))
>> > > +test_dithering(data, pipe, output, fb_bpc, fb_format, output_bpc);
>> > > +
>> > > +/* One pipe is enough */
>> > > +break;
>> > > +}
>> > > +}
>> > > +}
>> > > +}
>> > > +
>> > > +igt_main
>> > > +{
>> > > +struct {
>> > > +int fb_bpc;
>> > > +int format;
>> > > +int output_bpc;
>> > > +} tests[] = {
>> > > +{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888,
>> > > IGT_CONNECTOR_BPC_6 },
>> > > +{ IGT_FRAME_BUFFER_BPC_8, DRM_FORMAT_XRGB8888,
>> > > IGT_CONNECTOR_BPC_8 },
>> > > +};
>> > > +int i;
>> > > +data_t data = { 0 };
>> > > +
>> > > +igt_fixture {
>> > > +data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
>> > > +kmstest_set_vt_graphics_mode();
>> > > +
>> > > +igt_display_require(&data.display, data.drm_fd);
>> > > +igt_display_require_output(&data.display);
>> > > +}
>> > > +
>> > > +for (i = 0; i < ARRAY_SIZE(tests); i++) {
>> > > +igt_describe_f("Framebuffer BPC:%d, Panel BPC:%d, Expected
>> > > Dither:%s\n",
>> > > +       tests[i].fb_bpc, tests[i].output_bpc,
>> > > +       (tests[i].fb_bpc > tests[i].output_bpc) ?
>> > > +"Enable": "Disable");
>> > > +
>> > > +igt_subtest_with_dynamic_f("FB-%dBPC-Vs-Panel-%dBPC",
>> > > +tests[i].fb_bpc, tests[i].output_bpc) run_dither_test(&data,
>> > > +tests[i].fb_bpc, tests[i].format, tests[i].output_bpc); }
>> > > +
>> > > +igt_fixture {
>> > > +igt_display_fini(&data.display);
>> > > +}
>> > > +}
>> > > diff --git a/tests/meson.build b/tests/meson.build index
>> > 2351b3d3fa..e5954e2832
>> > > 100644
>> > > --- a/tests/meson.build
>> > > +++ b/tests/meson.build
>> > > @@ -28,6 +28,7 @@ test_progs = [
>> > >  'kms_cursor_crc',
>> > >  'kms_cursor_edge_walk',
>> > >  'kms_cursor_legacy',
>> > > +'kms_dither',
>> > >  'kms_dp_aux_dev',
>> > >  'kms_dp_dsc',
>> > >  'kms_dp_tiled_display',
>> > > --
>> > > 2.25.1
>> >
>> 
>
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 13/17] lib: Add helper functions to read/write dsc debugfs
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 13/17] lib: Add helper functions to read/write dsc debugfs venkata.sai.patnana
@ 2021-06-15  9:13   ` Petri Latvala
  0 siblings, 0 replies; 46+ messages in thread
From: Petri Latvala @ 2021-06-15  9:13 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev

On Fri, Jun 11, 2021 at 10:50:01AM +0530, venkata.sai.patnana@intel.com wrote:
> From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> 
> Reuse code for reading and writing dsc debugfs and provide helper
> functions to get dsc related parameters in lib igt_kms.
> 
> Cc: Petri Latvala <petri.latvala@intel.com>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>  lib/igt_kms.c | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  lib/igt_kms.h |   9 ++++
>  2 files changed, 144 insertions(+)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index c7c69b6ea0..1520b2d16c 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -5183,3 +5183,138 @@ void igt_dump_crtcs_fd(int drmfd)
>  
>  	drmModeFreeResources(mode_resources);
>  }
> +
> +static
> +bool check_dsc_debugfs(int drmfd, drmModeConnector *connector,
> +		       const char *check_str)
> +{
> +	char file_name[128] = {0};
> +	char buf[512];
> +
> +	sprintf(file_name, "%s-%d/i915_dsc_fec_support",
> +		kmstest_connector_type_str(connector->connector_type),
> +		connector->connector_type_id);
> +
> +	igt_debugfs_read(drmfd, file_name, buf);
> +
> +	return strstr(buf, check_str);
> +}
> +
> +static
> +int write_dsc_debugfs(int drmfd, drmModeConnector *connector,
> +		      const char *file_name,
> +		      const char *write_buf)
> +{
> +	int debugfs_fd = igt_debugfs_dir(drmfd);
> +	int len = strlen(write_buf);
> +	int ret;
> +	char file_path[128] = {0};
> +
> +	sprintf(file_path, "%s-%d/%s",
> +		kmstest_connector_type_str(connector->connector_type),
> +		connector->connector_type_id,
> +		file_name);
> +
> +	ret = igt_sysfs_write(debugfs_fd, file_path, write_buf, len);
> +
> +	close(debugfs_fd);
> +
> +	return ret;
> +}
> +
> +/*
> + * igt_is_dp_dsc_supported:
> + * @drmfd: A drm file descriptor
> + * @connector: Pointer to libdrm connector
> + *
> + * Returns: True if DSC is supported for the given connector, false otherwise.
> + */
> +bool igt_is_dp_dsc_supported(int drmfd, drmModeConnector *connector)
> +{
> +	return check_dsc_debugfs(drmfd, connector, "DSC_Sink_Support: yes");
> +}
> +
> +/*
> + * igt_is_dp_fec_supported:
> + * @drmfd: A drm file descriptor
> + * @connector: Pointer to libdrm connector
> + *
> + * Returns: True if FEC is supported for the given connector, false otherwise.
> + */
> +bool igt_is_dp_fec_supported(int drmfd, drmModeConnector *connector)
> +{
> +
> +	return check_dsc_debugfs(drmfd, connector, "FEC_Sink_Support: yes");

There's an extra newline here.

Otherwise,
Reviewed-by: Petri Latvala <petri.latvala@intel.com>



> +}
> +
> +/*
> + * igt_is_dp_dsc_enabled:
> + * @drmfd: A drm file descriptor
> + * @connector: Pointer to libdrm connector
> + *
> + * Returns: True if DSC is enabled for the given connector, false otherwise.
> + */
> +bool igt_is_dp_dsc_enabled(int drmfd, drmModeConnector *connector)
> +{
> +	return check_dsc_debugfs(drmfd, connector, "DSC_Enabled: yes");
> +}
> +
> +/*
> + * igt_is_force_dsc_enabled:
> + * @drmfd: A drm file descriptor
> + * @connector: Pointer to libdrm connector
> + *
> + * Returns: True if DSC is force enabled (via debugfs) for the given connector,
> + * false otherwise.
> + */
> +bool igt_is_force_dsc_enabled(int drmfd, drmModeConnector *connector)
> +{
> +	return check_dsc_debugfs(drmfd, connector, "Force_DSC_Enable: yes");
> +}
> +
> +/*
> + * igt_force_dp_dsc_enable:
> + * @drmfd: A drm file descriptor
> + * @connector: Pointer to libdrm connector
> + *
> + * Returns: 1 on success or negative error code, in case of failure.
> + */
> +int igt_force_dp_dsc_enable(int drmfd, drmModeConnector *connector)
> +{
> +	return write_dsc_debugfs(drmfd, connector, "i915_dsc_fec_support", "1");
> +}
> +
> +/*
> + * igt_force_dp_dsc_enable:
> + * @drmfd: A drm file descriptor
> + * @connector: Pointer to libdrm connector
> + * @bpp: Compressed bpp to be used with DSC
> + *
> + * Returns: No. of bytes written or negative error code, in case of failure.
> + */
> +int igt_force_dp_dsc_enable_bpp(int drmfd, drmModeConnector *connector, int bpp)
> +{
> +	char buf[20] = {0};
> +
> +	sprintf(buf, "%d", bpp);
> +
> +	return write_dsc_debugfs(drmfd, connector, "i915_dsc_bpp_support", buf);
> +}
> +
> +/*
> + * igt_get_dp_dsc_debugfs_fd:
> + * @drmfd: A drm file descriptor
> + * @connector: Pointer to libdrm connector
> + *
> + * Returns: fd of the DSC debugfs for the given connector, else returns -1.
> + */
> +int igt_get_dp_dsc_debugfs_fd(int drmfd, drmModeConnector *connector)
> +{
> +	char file_name[128] = {0};
> +
> +	sprintf(file_name, "%s-%d/i915_dsc_fec_support",
> +		kmstest_connector_type_str(connector->connector_type),
> +		connector->connector_type_id);
> +
> +	return openat(igt_debugfs_dir(drmfd), file_name, O_WRONLY);
> +}
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 8cde24b791..e87d1913e5 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -917,4 +917,13 @@ void igt_dump_connectors_fd(int drmfd);
>  void igt_dump_crtcs_fd(int drmfd);
>  bool igt_override_all_active_output_modes_to_fit_bw(igt_display_t *display);
>  
> +bool igt_is_dp_dsc_supported(int drmfd, drmModeConnector *connector);
> +bool igt_is_dp_fec_supported(int drmfd, drmModeConnector *connector);
> +bool igt_is_dp_dsc_enabled(int drmfd, drmModeConnector *connector);
> +bool igt_is_force_dsc_enabled(int drmfd, drmModeConnector *connector);
> +int igt_force_dp_dsc_enable(int drmfd, drmModeConnector *connector);
> +int igt_force_dp_dsc_enable_bpp(int drmfd, drmModeConnector *connector,
> +				int bpp);
> +int igt_get_dp_dsc_debugfs_fd(int drmfd, drmModeConnector *connector);
> +
>  #endif /* __IGT_KMS_H__ */
> -- 
> 2.25.1
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 15/17] tests/kms_dp_dsc: Use helper functions to read/write dsc debugfs
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 15/17] tests/kms_dp_dsc: Use helper functions to read/write dsc debugfs venkata.sai.patnana
@ 2021-06-15  9:15   ` Petri Latvala
  2021-06-15 15:25   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
  1 sibling, 0 replies; 46+ messages in thread
From: Petri Latvala @ 2021-06-15  9:15 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev

On Fri, Jun 11, 2021 at 10:50:03AM +0530, venkata.sai.patnana@intel.com wrote:
> From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> 
> Remove funtions for reading different dsc parameters from dsc debugfs.
> Use the helper functions for reading and writing dsc debugfs.
> 
> Cc: Petri Latvala <petri.latvala@intel.com> (v3)
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

Reviewed-by: Petri Latvala <petri.latvala@intel.com>


> ---
>  tests/kms_dp_dsc.c | 87 ++++++++--------------------------------------
>  1 file changed, 15 insertions(+), 72 deletions(-)
> 
> diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c
> index eecb9e45da..f87112e6e7 100644
> --- a/tests/kms_dp_dsc.c
> +++ b/tests/kms_dp_dsc.c
> @@ -55,7 +55,6 @@ enum dsc_test_type
>  
>  typedef struct {
>  	int drm_fd;
> -	int debugfs_fd;
>  	uint32_t devid;
>  	igt_display_t display;
>  	struct igt_fb fb_test_pattern;
> @@ -77,91 +76,36 @@ static inline void manual(const char *expected)
>  	igt_debug_manual_check("all", expected);
>  }
>  
> -static bool is_dp_dsc_supported(data_t *data)
> -{
> -	char file_name[128] = {0};
> -	char buf[512];
> -
> -	strcpy(file_name, data->conn_name);
> -	strcat(file_name, "/i915_dsc_fec_support");
> -	igt_debugfs_read(data->drm_fd, file_name, buf);
> -
> -	return strstr(buf, "DSC_Sink_Support: yes");
> -}
> -
> -static bool is_dp_fec_supported(data_t *data)
> -{
> -	char file_name[128] = {0};
> -	char buf[512];
> -
> -	strcpy(file_name, data->conn_name);
> -	strcat(file_name, "/i915_dsc_fec_support");
> -	igt_debugfs_read(data->drm_fd, file_name, buf);
> -
> -	return strstr(buf, "FEC_Sink_Support: yes");
> -}
> -
> -static bool is_dp_dsc_enabled(data_t *data)
> -{
> -	char file_name[128] = {0};
> -	char buf[512];
> -
> -	strcpy(file_name, data->conn_name);
> -	strcat(file_name, "/i915_dsc_fec_support");
> -	igt_debugfs_read(data->drm_fd, file_name, buf);
> -
> -	return strstr(buf, "DSC_Enabled: yes");
> -}
> -
>  static void force_dp_dsc_enable(data_t *data)
>  {
> -	char file_name[128] = {0};
>  	int ret;
>  
> -	strcpy(file_name, data->conn_name);
> -	strcat(file_name, "/i915_dsc_fec_support");
>  	igt_debug ("Forcing DSC enable on %s\n", data->conn_name);
> -	ret = igt_sysfs_write(data->debugfs_fd, file_name, "1", 1);
> +	ret = igt_force_dp_dsc_enable(data->drm_fd,
> +				      data->output->config.connector);
>  	igt_assert_f(ret > 0, "debugfs_write failed");
>  }
>  
>  static void force_dp_dsc_enable_bpp(data_t *data)
>  {
>  	int ret;
> -	char file_name[128] = {0};
> -	char buffer[20];
>  
> -	sprintf(buffer, "%d", data->compression_bpp);
> -	strcpy(file_name, data->conn_name);
> -	strcat(file_name, "/i915_dsc_bpp_support");
>  	igt_debug("Forcing DSC BPP to %d on %s\n",
>  		  data->compression_bpp, data->conn_name);
> -	ret = igt_sysfs_write(data->debugfs_fd, file_name,
> -			      buffer, sizeof(buffer));
> +	ret = igt_force_dp_dsc_enable_bpp(data->drm_fd,
> +					  data->output->config.connector,
> +					  data->compression_bpp);
>  	igt_assert_f(ret > 0, "debugfs_write failed");
>  }
>  
> -static bool is_force_dsc_enabled(data_t *data)
> -{
> -	char file_name[128] = {0};
> -	char buf[512];
> -
> -	strcpy(file_name, data->conn_name);
> -	strcat(file_name, "/i915_dsc_fec_support");
> -	igt_debugfs_read(data->drm_fd, file_name, buf);
> -
> -	return strstr(buf, "Force_DSC_Enable: yes");
> -}
> -
>  static void save_force_dsc_en(data_t *data)
>  {
> -	char file_name[128] = {0};
> -
> -	force_dsc_en_orig = is_force_dsc_enabled(data);
> -	strcpy(file_name, data->conn_name);
> -	strcat(file_name, "/i915_dsc_fec_support");
> -	force_dsc_restore_fd = openat(igt_debugfs_dir(data->drm_fd),
> -				      file_name, O_WRONLY);
> +	force_dsc_en_orig =
> +		igt_is_force_dsc_enabled(data->drm_fd,
> +					 data->output->config.connector);
> +	force_dsc_restore_fd =
> +		igt_get_dp_dsc_debugfs_fd(data->drm_fd,
> +					  data->output->config.connector);
>  	igt_assert(force_dsc_restore_fd >= 0);
>  }
>  
> @@ -211,13 +155,13 @@ static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
>  		kmstest_connector_type_str(connector->connector_type),
>  		connector->connector_type_id);
>  
> -	if (!is_dp_dsc_supported(data)) {
> +	if (!igt_is_dp_dsc_supported(data->drm_fd, connector)) {
>  		igt_debug("DSC not supported on connector %s\n",
>  			  data->conn_name);
>  		return false;
>  	}
>  	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
> -	    !is_dp_fec_supported(data)) {
> +	    !igt_is_dp_fec_supported(data->drm_fd, connector)) {
>  		igt_debug("DSC cannot be enabled without FEC on %s\n",
>  			  data->conn_name);
>  		return false;
> @@ -263,7 +207,8 @@ static void update_display(data_t *data, enum dsc_test_type test_type)
>  	 */
>  	manual("RGB test pattern without corruption");
>  
> -	enabled = is_dp_dsc_enabled(data);
> +	enabled = igt_is_dp_dsc_enabled(data->drm_fd,
> +					data->output->config.connector);
>  	restore_force_dsc_en();
>  
>  	igt_assert_f(enabled,
> @@ -320,7 +265,6 @@ igt_main
>  		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
>  		igt_require_intel(data.drm_fd);
>  		data.devid = intel_get_drm_devid(data.drm_fd);
> -		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
>  		kmstest_set_vt_graphics_mode();
>  		igt_install_exit_handler(kms_dp_dsc_exit_handler);
>  		igt_display_require(&data.display, data.drm_fd);
> @@ -356,7 +300,6 @@ igt_main
>  		test_cleanup(&data);
>  		drmModeFreeConnector(connector);
>  		drmModeFreeResources(res);
> -		close(data.debugfs_fd);
>  		close(data.drm_fd);
>  		igt_display_fini(&data.display);
>  	}
> -- 
> 2.25.1
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t v2 12/17] tests/kms_dp_dsc: Add a subtest to force DSC output BPP
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 12/17] tests/kms_dp_dsc: Add a subtest to force DSC output BPP venkata.sai.patnana
@ 2021-06-15 15:25   ` venkata.sai.patnana
  0 siblings, 0 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-15 15:25 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

From: Patnana Venkata Sai <venkata.sai.patnana@intel.com>

This subtest uses the accepted DSC BPPs and tries to
force a modeset by setting a certain BPP as the output
BPP for a connector.

Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
Signed-off-by: Karthik B S <karthik.b.s@intel.com>
Cc: Karthik B S <karthik.b.s@intel.com>
Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Navare Manasi D <manasi.d.navare@intel.com>
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Patnana Venkata Sai <venkata.sai.patnana@intel.com>
---
 tests/kms_dp_dsc.c | 181 ++++++++++++++++++++++++++++-----------------
 1 file changed, 113 insertions(+), 68 deletions(-)

diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c
index 8bd2102447..71d655af70 100644
--- a/tests/kms_dp_dsc.c
+++ b/tests/kms_dp_dsc.c
@@ -44,15 +44,19 @@
 #include <fcntl.h>
 #include <termios.h>
 
+/* currently dsc compression is verifying on 8bpc frame only */
+#define DRM_FORMAT_BPC	8
+
 enum dsc_test_type
 {
-	test_basic_dsc_enable
+	test_basic_dsc_enable,
+	test_dsc_compression_bpp
 };
 
 typedef struct {
 	int drm_fd;
 	int debugfs_fd;
-	uint32_t id;
+	uint32_t devid;
 	igt_display_t display;
 	struct igt_fb fb_test_pattern;
 	igt_output_t *output;
@@ -61,6 +65,7 @@ typedef struct {
 	drmModeConnector *connector;
 	drmModeEncoder *encoder;
 	int crtc;
+	int compression_bpp;
 	enum pipe pipe;
 	char conn_name[128];
 } data_t;
@@ -121,6 +126,22 @@ static void force_dp_dsc_enable(data_t *data)
 	igt_assert_f(ret > 0, "debugfs_write failed");
 }
 
+static void force_dp_dsc_enable_bpp(data_t *data)
+{
+	int ret;
+	char file_name[128] = {0};
+	char buffer[20];
+
+	sprintf(buffer, "%d", data->compression_bpp);
+	strcpy(file_name, data->conn_name);
+	strcat(file_name, "/i915_dsc_bpp_support");
+	igt_debug("Forcing DSC BPP to %d on %s\n",
+		  data->compression_bpp, data->conn_name);
+	ret = igt_sysfs_write(data->debugfs_fd, file_name,
+			      buffer, sizeof(buffer));
+	igt_assert_f(ret > 0, "debugfs_write failed");
+}
+
 static bool is_force_dsc_enabled(data_t *data)
 {
 	char file_name[128] = {0};
@@ -174,6 +195,37 @@ static void kms_dp_dsc_exit_handler(int sig)
 	restore_force_dsc_en();
 }
 
+static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
+{
+	drmModeConnector *connector;
+	igt_output_t *output;
+
+	connector = drmModeGetConnectorCurrent(data->drm_fd,
+					       drmConnector);
+	if (connector->connection != DRM_MODE_CONNECTED ||
+	    ((connector->connector_type != DRM_MODE_CONNECTOR_eDP) &&
+	    (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)))
+		return false;
+
+	output = igt_output_from_connector(&data->display, connector);
+	sprintf(data->conn_name, "%s-%d",
+		kmstest_connector_type_str(connector->connector_type),
+		connector->connector_type_id);
+
+	if (!is_dp_dsc_supported(data)) {
+		igt_debug("DSC not supported on connector %s\n",
+			  data->conn_name);
+		return false;
+	}
+	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
+	    !is_dp_fec_supported(data)) {
+		igt_debug("DSC cannot be enabled without FEC on %s\n",
+			  data->conn_name);
+		return false;
+	}
+	data->output = output;
+	return true;
+}
 
 /*
  * Re-probe connectors and do a modeset with DSC
@@ -181,6 +233,7 @@ static void kms_dp_dsc_exit_handler(int sig)
  */
 static void update_display(data_t *data, enum dsc_test_type test_type)
 {
+	bool enabled;
 	igt_plane_t *primary;
 	data->connector = data->output->config.connector;
 
@@ -188,37 +241,35 @@ static void update_display(data_t *data, enum dsc_test_type test_type)
 	igt_output_set_pipe(data->output, PIPE_NONE);
 	igt_display_commit(&data->display);
 
-	if (test_type == test_basic_dsc_enable) {
-		bool enabled;
+	igt_debug("DSC is supported on %s\n", data->conn_name);
+	save_force_dsc_en(data);
+	force_dp_dsc_enable(data);
+	if (test_type == test_dsc_compression_bpp) {
+		igt_debug("Trying to set BPP to %d\n", data->compression_bpp);
+		force_dp_dsc_enable_bpp(data);
+	}
 
-		igt_debug("DSC is supported on %s\n", data->conn_name);
-		save_force_dsc_en(data);
-		force_dp_dsc_enable(data);
+	igt_output_set_pipe(data->output, data->pipe);
+	primary = igt_output_get_plane_type(data->output,
+					    DRM_PLANE_TYPE_PRIMARY);
 
-		igt_output_set_pipe(data->output, data->pipe);
-		primary = igt_output_get_plane_type(data->output,
-						    DRM_PLANE_TYPE_PRIMARY);
+	/* Now set the output to the desired mode */
+	igt_plane_set_fb(primary, &data->fb_test_pattern);
+	igt_display_commit(&data->display);
 
-		/* Now set the output to the desired mode */
-		igt_plane_set_fb(primary, &data->fb_test_pattern);
-		igt_display_commit(&data->display);
+	/*
+	 * Until we have CRC check support, manually check if RGB test
+	 * pattern has no corruption.
+	 */
+	manual("RGB test pattern without corruption");
 
-		/*
-		 * Until we have CRC check support, manually check if RGB test
-		 * pattern has no corruption.
-		 */
-		manual("RGB test pattern without corruption");
-
-		enabled = is_dp_dsc_enabled(data);
-		restore_force_dsc_en();
-
-		igt_assert_f(enabled,
-			     "Default DSC enable failed on Connector: %s Pipe: %s\n",
-			     data->conn_name,
-			     kmstest_pipe_name(data->pipe));
-	} else {
-		igt_assert(!"Unknown test type\n");
-	}
+	enabled = is_dp_dsc_enabled(data);
+	restore_force_dsc_en();
+
+	igt_assert_f(enabled,
+		     "Default DSC enable failed on Connector: %s Pipe: %s\n",
+		     data->conn_name,
+		     kmstest_pipe_name(data->pipe));
 }
 
 static void run_test(data_t *data, igt_output_t *output,
@@ -244,12 +295,16 @@ static void run_test(data_t *data, igt_output_t *output,
 			}
 		}
 
-		if (igt_pipe_connector_valid(pipe, output)) {
-			data->pipe = pipe;
-			data->output = output;
-			update_display(data, test_type);
-			test_cleanup(data);
-		}
+		igt_dynamic_f("%s-pipe-%s", output->name, kmstest_pipe_name(pipe))
+			if (igt_pipe_connector_valid(pipe, output)) {
+				data->pipe = pipe;
+				data->output = output;
+				update_display(data, test_type);
+				test_cleanup(data);
+			}
+
+		if (test_type == test_dsc_compression_bpp)
+			break;
 	}
 
 	igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
@@ -258,57 +313,47 @@ static void run_test(data_t *data, igt_output_t *output,
 igt_main
 {
 	data_t data = {};
-	igt_output_t *output;
 	drmModeRes *res;
 	drmModeConnector *connector;
-	int i, test_conn_cnt, test_cnt;
-	int tests[] = {DRM_MODE_CONNECTOR_eDP, DRM_MODE_CONNECTOR_DisplayPort};
-
+	int i, j, test_conn_cnt;
 	igt_fixture {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
+		igt_require_intel(data.drm_fd);
+		data.devid = intel_get_drm_devid(data.drm_fd);
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
 		igt_install_exit_handler(kms_dp_dsc_exit_handler);
 		igt_display_require(&data.display, data.drm_fd);
 		igt_require(res = drmModeGetResources(data.drm_fd));
 	}
-
-	for (test_cnt = 0; test_cnt < ARRAY_SIZE(tests); test_cnt++) {
-		igt_describe("Validate display stream compression functionality if supported on "
-			       "DP/eDP connector");
-		igt_subtest_f("basic-dsc-enable-%s",
-			      kmstest_connector_type_str(tests[test_cnt])) {
+	igt_subtest_with_dynamic("basic-dsc-enable") {
+		test_conn_cnt = 0;
+		for (j = 0; j < res->count_connectors; j++) {
+			if (!check_dsc_on_connector(&data, res->connectors[j]))
+				continue;
+			test_conn_cnt++;
+			run_test(&data, data.output, test_basic_dsc_enable);
+		}
+		igt_skip_on_f(test_conn_cnt == 0, "DSC not supported on any connector\n");
+	}
+	/* currently we are validating compression bpp on XRGB8888 format only */
+	for (i = DRM_FORMAT_BPC; i <= ((DRM_FORMAT_BPC*3)-1); i++) {
+		igt_subtest_with_dynamic_f("dsc-%dbpp-compression-XRGB8888", i) {
 			test_conn_cnt = 0;
-			for (i = 0; i < res->count_connectors; i++) {
-				connector = drmModeGetConnectorCurrent(data.drm_fd,
-								       res->connectors[i]);
-				if (connector->connection != DRM_MODE_CONNECTED ||
-				    connector->connector_type !=
-				    tests[test_cnt])
-					continue;
-				output = igt_output_from_connector(&data.display, connector);
-				sprintf(data.conn_name, "%s-%d",
-					kmstest_connector_type_str(connector->connector_type),
-					connector->connector_type_id);
-				if(!is_dp_dsc_supported(&data)) {
-					igt_debug("DSC not supported on connector %s \n",
-						  data.conn_name);
-					continue;
-				}
-				if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
-				    !is_dp_fec_supported(&data)) {
-					igt_debug("DSC cannot be enabled without FEC on %s\n",
-						  data.conn_name);
+			data.compression_bpp = i;
+			igt_require(intel_display_ver(data.devid) >= 13);
+			for (j = 0; j < res->count_connectors; j++) {
+				if (!check_dsc_on_connector(&data, res->connectors[j]))
 					continue;
-				}
 				test_conn_cnt++;
-				run_test(&data, output, test_basic_dsc_enable);
+				run_test(&data, data.output, test_dsc_compression_bpp);
 			}
-			igt_skip_on(test_conn_cnt == 0);
+			igt_skip_on_f(test_conn_cnt == 0, "DSC not supported on any connector\n");
 		}
 	}
 
 	igt_fixture {
+		test_cleanup(&data);
 		drmModeFreeConnector(connector);
 		drmModeFreeResources(res);
 		close(data.debugfs_fd);
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] [PATCH i-g-t v2 15/17] tests/kms_dp_dsc: Use helper functions to read/write dsc debugfs
  2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 15/17] tests/kms_dp_dsc: Use helper functions to read/write dsc debugfs venkata.sai.patnana
  2021-06-15  9:15   ` Petri Latvala
@ 2021-06-15 15:25   ` venkata.sai.patnana
  1 sibling, 0 replies; 46+ messages in thread
From: venkata.sai.patnana @ 2021-06-15 15:25 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

Remove funtions for reading different dsc parameters from dsc debugfs.
Use the helper functions for reading and writing dsc debugfs.

Cc: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 tests/kms_dp_dsc.c | 87 ++++++++--------------------------------------
 1 file changed, 15 insertions(+), 72 deletions(-)

diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c
index eecb9e45da..f87112e6e7 100644
--- a/tests/kms_dp_dsc.c
+++ b/tests/kms_dp_dsc.c
@@ -55,7 +55,6 @@ enum dsc_test_type
 
 typedef struct {
 	int drm_fd;
-	int debugfs_fd;
 	uint32_t devid;
 	igt_display_t display;
 	struct igt_fb fb_test_pattern;
@@ -77,91 +76,36 @@ static inline void manual(const char *expected)
 	igt_debug_manual_check("all", expected);
 }
 
-static bool is_dp_dsc_supported(data_t *data)
-{
-	char file_name[128] = {0};
-	char buf[512];
-
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
-	igt_debugfs_read(data->drm_fd, file_name, buf);
-
-	return strstr(buf, "DSC_Sink_Support: yes");
-}
-
-static bool is_dp_fec_supported(data_t *data)
-{
-	char file_name[128] = {0};
-	char buf[512];
-
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
-	igt_debugfs_read(data->drm_fd, file_name, buf);
-
-	return strstr(buf, "FEC_Sink_Support: yes");
-}
-
-static bool is_dp_dsc_enabled(data_t *data)
-{
-	char file_name[128] = {0};
-	char buf[512];
-
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
-	igt_debugfs_read(data->drm_fd, file_name, buf);
-
-	return strstr(buf, "DSC_Enabled: yes");
-}
-
 static void force_dp_dsc_enable(data_t *data)
 {
-	char file_name[128] = {0};
 	int ret;
 
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
 	igt_debug ("Forcing DSC enable on %s\n", data->conn_name);
-	ret = igt_sysfs_write(data->debugfs_fd, file_name, "1", 1);
+	ret = igt_force_dp_dsc_enable(data->drm_fd,
+				      data->output->config.connector);
 	igt_assert_f(ret > 0, "debugfs_write failed");
 }
 
 static void force_dp_dsc_enable_bpp(data_t *data)
 {
 	int ret;
-	char file_name[128] = {0};
-	char buffer[20];
 
-	sprintf(buffer, "%d", data->compression_bpp);
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_bpp_support");
 	igt_debug("Forcing DSC BPP to %d on %s\n",
 		  data->compression_bpp, data->conn_name);
-	ret = igt_sysfs_write(data->debugfs_fd, file_name,
-			      buffer, sizeof(buffer));
+	ret = igt_force_dp_dsc_enable_bpp(data->drm_fd,
+					  data->output->config.connector,
+					  data->compression_bpp);
 	igt_assert_f(ret > 0, "debugfs_write failed");
 }
 
-static bool is_force_dsc_enabled(data_t *data)
-{
-	char file_name[128] = {0};
-	char buf[512];
-
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
-	igt_debugfs_read(data->drm_fd, file_name, buf);
-
-	return strstr(buf, "Force_DSC_Enable: yes");
-}
-
 static void save_force_dsc_en(data_t *data)
 {
-	char file_name[128] = {0};
-
-	force_dsc_en_orig = is_force_dsc_enabled(data);
-	strcpy(file_name, data->conn_name);
-	strcat(file_name, "/i915_dsc_fec_support");
-	force_dsc_restore_fd = openat(igt_debugfs_dir(data->drm_fd),
-				      file_name, O_WRONLY);
+	force_dsc_en_orig =
+		igt_is_force_dsc_enabled(data->drm_fd,
+					 data->output->config.connector);
+	force_dsc_restore_fd =
+		igt_get_dp_dsc_debugfs_fd(data->drm_fd,
+					  data->output->config.connector);
 	igt_assert(force_dsc_restore_fd >= 0);
 }
 
@@ -211,13 +155,13 @@ static bool check_dsc_on_connector(data_t *data, uint32_t drmConnector)
 		kmstest_connector_type_str(connector->connector_type),
 		connector->connector_type_id);
 
-	if (!is_dp_dsc_supported(data)) {
+	if (!igt_is_dp_dsc_supported(data->drm_fd, connector)) {
 		igt_debug("DSC not supported on connector %s\n",
 			  data->conn_name);
 		return false;
 	}
 	if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort &&
-	    !is_dp_fec_supported(data)) {
+	    !igt_is_dp_fec_supported(data->drm_fd, connector)) {
 		igt_debug("DSC cannot be enabled without FEC on %s\n",
 			  data->conn_name);
 		return false;
@@ -263,7 +207,8 @@ static void update_display(data_t *data, enum dsc_test_type test_type)
 	 */
 	manual("RGB test pattern without corruption");
 
-	enabled = is_dp_dsc_enabled(data);
+	enabled = igt_is_dp_dsc_enabled(data->drm_fd,
+					data->output->config.connector);
 	restore_force_dsc_en();
 
 	igt_assert_f(enabled,
@@ -320,7 +265,6 @@ igt_main
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 		igt_require_intel(data.drm_fd);
 		data.devid = intel_get_drm_devid(data.drm_fd);
-		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
 		igt_install_exit_handler(kms_dp_dsc_exit_handler);
 		igt_display_require(&data.display, data.drm_fd);
@@ -356,7 +300,6 @@ igt_main
 		test_cleanup(&data);
 		drmModeFreeConnector(connector);
 		drmModeFreeResources(res);
-		close(data.debugfs_fd);
 		close(data.drm_fd);
 		igt_display_fini(&data.display);
 	}
-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev8)
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (23 preceding siblings ...)
  2021-06-15  5:54 ` [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering Shankar, Uma
@ 2021-06-15 16:18 ` Patchwork
  2021-06-16  0:10 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  25 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2021-06-15 16:18 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev


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

== Series Details ==

Series: series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev8)
URL   : https://patchwork.freedesktop.org/series/91371/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10225 -> IGTPW_5927
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_5927 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_5927, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

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

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

### IGT changes ###

#### Warnings ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-hsw-4770:        [WARN][1] ([i915#2283]) -> [WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html
    - fi-bdw-5557u:       [WARN][3] ([i915#2283]) -> [WARN][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/fi-bdw-5557u/igt@core_hotunplug@unbind-rebind.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/fi-bdw-5557u/igt@core_hotunplug@unbind-rebind.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@core_hotunplug@unbind-rebind:
    - {fi-hsw-gt1}:       [WARN][5] ([i915#2283]) -> [WARN][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/fi-hsw-gt1/igt@core_hotunplug@unbind-rebind.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/fi-hsw-gt1/igt@core_hotunplug@unbind-rebind.html

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

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

### IGT changes ###

#### Possible fixes ####

  * igt@i915_selftest@live@hangcheck:
    - {fi-hsw-gt1}:       [DMESG-WARN][7] ([i915#3303]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/fi-hsw-gt1/igt@i915_selftest@live@hangcheck.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/fi-hsw-gt1/igt@i915_selftest@live@hangcheck.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#2283]: https://gitlab.freedesktop.org/drm/intel/issues/2283
  [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303


Participating hosts (48 -> 38)
------------------------------

  Missing    (10): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan bat-adlp-4 bat-adls-4 fi-ctg-p8600 bat-adls-3 fi-dg1-1 fi-bdw-samus bat-jsl-1 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6107 -> IGTPW_5927

  CI-20190529: 20190529
  CI_DRM_10225: 52beaf52657f49ffda64af3c46548fb0907cf66d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5927: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/index.html
  IGT_6107: 2bec4e7619f04d2ca86006917acd3b5c86fb73a0 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git



== Testlist changes ==

+igt@kms_addfb_basic@invalid-smem-bo-on-discrete
+igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip
+igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
+igt@kms_cdclk@basic
+igt@kms_cdclk@mode-transition
+igt@kms_cdclk@plane-scaling
+igt@kms_dither@fb-8bpc-vs-panel-6bpc
+igt@kms_dither@fb-8bpc-vs-panel-8bpc
+igt@kms_dither@fb-16bpc-vs-panel-12bpc
+igt@kms_dp_dsc@basic-dsc-enable
+igt@kms_dp_dsc@dsc-8bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-10bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-11bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-12bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-13bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-14bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-16bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-17bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-18bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-19bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-20bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-21bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-22bpp-compression-xrgb8888
+igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888
-igt@kms_dp_dsc@basic-dsc-enable-dp
-igt@kms_dp_dsc@basic-dsc-enable-edp

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 9101 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] 46+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev8)
  2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
                   ` (24 preceding siblings ...)
  2021-06-15 16:18 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev8) Patchwork
@ 2021-06-16  0:10 ` Patchwork
  25 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2021-06-16  0:10 UTC (permalink / raw)
  To: venkata.sai.patnana; +Cc: igt-dev


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

== Series Details ==

Series: series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev8)
URL   : https://patchwork.freedesktop.org/series/91371/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10225_full -> IGTPW_5927_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_addfb_basic@invalid-smem-bo-on-discrete} (NEW):
    - shard-tglb:         NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-kbl:          NOTRUN -> [FAIL][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-kbl3/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-iclb:         NOTRUN -> [FAIL][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb5/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * {igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip} (NEW):
    - shard-snb:          NOTRUN -> [FAIL][4] +2 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-snb2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * {igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip} (NEW):
    - shard-apl:          NOTRUN -> [FAIL][5] +4 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-apl1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
    - shard-glk:          NOTRUN -> [FAIL][6] +9 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-glk1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * {igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a} (NEW):
    - shard-iclb:         NOTRUN -> [SKIP][7] +30 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb5/igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a.html

  * {igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888} (NEW):
    - shard-tglb:         NOTRUN -> [SKIP][8] +37 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb3/igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888.html

  
New tests
---------

  New tests have been introduced between CI_DRM_10225_full and IGTPW_5927_full:

### New IGT tests (88) ###

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - Statuses : 5 fail(s)
    - Exec time: [0.01, 0.04] s

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0:
    - Statuses : 5 pass(s)
    - Exec time: [0.81, 1.71] s

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180:
    - Statuses : 6 pass(s)
    - Exec time: [0.81, 1.70] s

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0:
    - Statuses : 6 pass(s)
    - Exec time: [0.96, 1.99] s

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [0.89, 1.81] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 6 pass(s)
    - Exec time: [0.79, 1.67] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 4 pass(s)
    - Exec time: [0.44, 1.35] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.01, 1.16] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.07, 0.57] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 6 pass(s)
    - Exec time: [0.81, 1.62] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 5 pass(s)
    - Exec time: [0.51, 1.41] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.01, 1.15] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 4 fail(s) 2 pass(s)
    - Exec time: [0.04, 0.47] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 3 pass(s)
    - Exec time: [0.91, 1.47] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 6 pass(s)
    - Exec time: [0.71, 2.61] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.08, 1.38] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 2 fail(s) 2 pass(s)
    - Exec time: [0.07, 1.68] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [0.97, 1.87] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 4 pass(s)
    - Exec time: [0.69, 2.19] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.06, 1.28] s

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 2 pass(s)
    - Exec time: [0.02, 1.29] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 1.69] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 5 pass(s)
    - Exec time: [0.60, 1.55] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.0, 0.85] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 2 fail(s) 2 pass(s)
    - Exec time: [0.04, 0.79] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 4 pass(s)
    - Exec time: [0.88, 1.86] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 1.50] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 3 skip(s)
    - Exec time: [0.0, 1.18] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 2 fail(s) 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.74] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 1.74] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.77] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.00, 0.94] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 2 fail(s) 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.35] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 5 pass(s)
    - Exec time: [0.80, 1.80] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 5 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.75] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 2 pass(s) 4 skip(s)
    - Exec time: [0.0, 1.18] s

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 2 fail(s) 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.34] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
    - Statuses : 4 pass(s) 2 skip(s)
    - Exec time: [0.0, 1.82] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - Statuses : 3 pass(s) 2 skip(s)
    - Exec time: [0.0, 1.95] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - Statuses : 1 pass(s) 5 skip(s)
    - Exec time: [0.0, 1.21] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - Statuses : 2 fail(s) 1 pass(s) 2 skip(s)
    - Exec time: [0.0, 0.85] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - Statuses : 3 pass(s) 2 skip(s)
    - Exec time: [0.0, 1.65] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - Statuses : 4 pass(s) 2 skip(s)
    - Exec time: [0.0, 2.09] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - Statuses : 1 pass(s) 5 skip(s)
    - Exec time: [0.0, 0.79] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - Statuses : 3 fail(s) 1 pass(s) 2 skip(s)
    - Exec time: [0.0, 0.82] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - Statuses : 3 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - Statuses : 4 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@basic:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@mode-transition:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_cdclk@plane-scaling:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.05, 0.09] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.05] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@hdmi-a-1-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.24] s

  * igt@kms_dither@fb-16bpc-vs-panel-12bpc@hdmi-a-2-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.24] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - Statuses : 2 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@dp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [0.15, 0.19] s

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [1.15, 1.20] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@dp-1-pipe-a:
    - Statuses : 1 skip(s)
    - Exec time: [0.21] s

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc@edp-1-pipe-a:
    - Statuses : 2 skip(s)
    - Exec time: [1.15, 1.20] s

  * igt@kms_dp_dsc@basic-dsc-enable:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-a:
    - Statuses : 1 pass(s)
    - Exec time: [1.49] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-b:
    - Statuses : 1 pass(s)
    - Exec time: [1.16] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-c:
    - Statuses : 1 pass(s)
    - Exec time: [1.15] s

  * igt@kms_dp_dsc@basic-dsc-enable@edp-1-pipe-d:
    - Statuses : 1 pass(s)
    - Exec time: [1.15] s

  * igt@kms_dp_dsc@dsc-10bpp-compression-xrgb8888:
    - Statuses : 3 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-11bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-12bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-13bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-14bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-15bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-16bpp-compression-xrgb8888:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-17bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-18bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-19bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-20bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-21bpp-compression-xrgb8888:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-22bpp-compression-xrgb8888:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-23bpp-compression-xrgb8888:
    - Statuses : 3 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-8bpp-compression-xrgb8888:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_dp_dsc@dsc-9bpp-compression-xrgb8888:
    - Statuses : 3 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_create@create-clear:
    - shard-glk:          [PASS][9] -> [FAIL][10] ([i915#1888] / [i915#3160])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-glk1/igt@gem_create@create-clear.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-glk8/igt@gem_create@create-clear.html

  * igt@gem_create@create-massive:
    - shard-snb:          NOTRUN -> [DMESG-WARN][11] ([i915#3002])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-snb6/igt@gem_create@create-massive.html

  * igt@gem_ctx_persistence@legacy-engines-mixed:
    - shard-snb:          NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#1099]) +4 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-snb2/igt@gem_ctx_persistence@legacy-engines-mixed.html

  * igt@gem_ctx_persistence@many-contexts:
    - shard-tglb:         [PASS][13] -> [FAIL][14] ([i915#2410])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-tglb8/igt@gem_ctx_persistence@many-contexts.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb3/igt@gem_ctx_persistence@many-contexts.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-kbl:          [PASS][15] -> [FAIL][16] ([i915#2846])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-kbl7/igt@gem_exec_fair@basic-deadline.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-kbl3/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-apl:          [PASS][17] -> [SKIP][18] ([fdo#109271])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-apl7/igt@gem_exec_fair@basic-none-share@rcs0.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-apl2/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-kbl:          NOTRUN -> [FAIL][19] ([i915#2842])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-kbl7/igt@gem_exec_fair@basic-none-solo@rcs0.html
    - shard-glk:          NOTRUN -> [FAIL][20] ([i915#2842])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-glk2/igt@gem_exec_fair@basic-none-solo@rcs0.html
    - shard-tglb:         NOTRUN -> [FAIL][21] ([i915#2842])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb3/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-kbl:          [PASS][22] -> [SKIP][23] ([fdo#109271])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-kbl6/igt@gem_exec_fair@basic-pace@vcs0.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-kbl4/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_fair@basic-pace@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][24] ([i915#2842]) +1 similar issue
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb2/igt@gem_exec_fair@basic-pace@vcs1.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-kbl:          [PASS][25] -> [FAIL][26] ([i915#2842])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-kbl6/igt@gem_exec_fair@basic-pace@vecs0.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-kbl4/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_params@rsvd2-dirt:
    - shard-tglb:         NOTRUN -> [SKIP][27] ([fdo#109283])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb1/igt@gem_exec_params@rsvd2-dirt.html
    - shard-iclb:         NOTRUN -> [SKIP][28] ([fdo#109283])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb6/igt@gem_exec_params@rsvd2-dirt.html

  * igt@gem_mmap_gtt@big-copy:
    - shard-glk:          [PASS][29] -> [FAIL][30] ([i915#307])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-glk8/igt@gem_mmap_gtt@big-copy.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-glk9/igt@gem_mmap_gtt@big-copy.html

  * igt@gem_mmap_gtt@cpuset-big-copy-xy:
    - shard-iclb:         [PASS][31] -> [FAIL][32] ([i915#307]) +2 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-iclb2/igt@gem_mmap_gtt@cpuset-big-copy-xy.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb3/igt@gem_mmap_gtt@cpuset-big-copy-xy.html

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

  * igt@gem_render_copy@y-tiled-mc-ccs-to-y-tiled-ccs:
    - shard-iclb:         NOTRUN -> [SKIP][35] ([i915#768]) +1 similar issue
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb2/igt@gem_render_copy@y-tiled-mc-ccs-to-y-tiled-ccs.html

  * igt@gem_userptr_blits@readonly-unsync:
    - shard-tglb:         NOTRUN -> [SKIP][36] ([i915#3297])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb7/igt@gem_userptr_blits@readonly-unsync.html
    - shard-iclb:         NOTRUN -> [SKIP][37] ([i915#3297])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb5/igt@gem_userptr_blits@readonly-unsync.html

  * igt@gem_vm_create@destroy-race:
    - shard-tglb:         [PASS][38] -> [TIMEOUT][39] ([i915#2795])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-tglb2/igt@gem_vm_create@destroy-race.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb8/igt@gem_vm_create@destroy-race.html

  * igt@gen9_exec_parse@batch-zero-length:
    - shard-iclb:         NOTRUN -> [SKIP][40] ([fdo#112306])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb2/igt@gen9_exec_parse@batch-zero-length.html
    - shard-tglb:         NOTRUN -> [SKIP][41] ([fdo#112306])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb7/igt@gen9_exec_parse@batch-zero-length.html

  * igt@i915_pm_backlight@bad-brightness:
    - shard-glk:          NOTRUN -> [SKIP][42] ([fdo#109271]) +120 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-glk1/igt@i915_pm_backlight@bad-brightness.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
    - shard-apl:          NOTRUN -> [SKIP][43] ([fdo#109271] / [i915#1937])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-apl3/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-tglb:         NOTRUN -> [WARN][44] ([i915#2681])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb2/igt@i915_pm_rc6_residency@rc6-fence.html
    - shard-iclb:         NOTRUN -> [WARN][45] ([i915#1804] / [i915#2684])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb7/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@i915_pm_rpm@modeset-pc8-residency-stress:
    - shard-tglb:         NOTRUN -> [SKIP][46] ([fdo#109506] / [i915#2411])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb7/igt@i915_pm_rpm@modeset-pc8-residency-stress.html
    - shard-iclb:         NOTRUN -> [SKIP][47] ([fdo#109293] / [fdo#109506])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb3/igt@i915_pm_rpm@modeset-pc8-residency-stress.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-180:
    - shard-glk:          [PASS][48] -> [DMESG-WARN][49] ([i915#118] / [i915#95])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-glk4/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-glk6/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][50] ([fdo#111615])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb3/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html
    - shard-iclb:         NOTRUN -> [SKIP][51] ([fdo#110723])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb8/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html

  * {igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip} (NEW):
    - shard-kbl:          NOTRUN -> [FAIL][52] ([fdo#109052]) +8 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-kbl4/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * {igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0} (NEW):
    - shard-apl:          NOTRUN -> [SKIP][53] ([fdo#109271]) +280 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-apl6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_chamelium@hdmi-audio:
    - shard-iclb:         NOTRUN -> [SKIP][54] ([fdo#109284] / [fdo#111827]) +7 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb3/igt@kms_chamelium@hdmi-audio.html

  * igt@kms_chamelium@vga-frame-dump:
    - shard-tglb:         NOTRUN -> [SKIP][55] ([fdo#109284] / [fdo#111827]) +7 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb2/igt@kms_chamelium@vga-frame-dump.html

  * igt@kms_chamelium@vga-hpd:
    - shard-apl:          NOTRUN -> [SKIP][56] ([fdo#109271] / [fdo#111827]) +23 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-apl3/igt@kms_chamelium@vga-hpd.html

  * igt@kms_color@pipe-d-ctm-red-to-blue:
    - shard-iclb:         NOTRUN -> [SKIP][57] ([fdo#109278] / [i915#1149])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb6/igt@kms_color@pipe-d-ctm-red-to-blue.html

  * igt@kms_color_chamelium@pipe-a-ctm-0-25:
    - shard-snb:          NOTRUN -> [SKIP][58] ([fdo#109271] / [fdo#111827]) +20 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-snb7/igt@kms_color_chamelium@pipe-a-ctm-0-25.html

  * igt@kms_color_chamelium@pipe-b-ctm-red-to-blue:
    - shard-glk:          NOTRUN -> [SKIP][59] ([fdo#109271] / [fdo#111827]) +10 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-glk1/igt@kms_color_chamelium@pipe-b-ctm-red-to-blue.html

  * igt@kms_color_chamelium@pipe-b-degamma:
    - shard-kbl:          NOTRUN -> [SKIP][60] ([fdo#109271] / [fdo#111827]) +14 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-kbl7/igt@kms_color_chamelium@pipe-b-degamma.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-kbl:          NOTRUN -> [TIMEOUT][61] ([i915#1319])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-kbl2/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@mei_interface:
    - shard-iclb:         NOTRUN -> [SKIP][62] ([fdo#109300] / [fdo#111066])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb2/igt@kms_content_protection@mei_interface.html
    - shard-tglb:         NOTRUN -> [SKIP][63] ([fdo#111828])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb6/igt@kms_content_protection@mei_interface.html

  * igt@kms_content_protection@uevent:
    - shard-apl:          NOTRUN -> [FAIL][64] ([i915#2105])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-apl1/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-random:
    - shard-tglb:         NOTRUN -> [SKIP][65] ([i915#3319]) +1 similar issue
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb6/igt@kms_cursor_crc@pipe-a-cursor-32x32-random.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [PASS][66] -> [DMESG-WARN][67] ([i915#180]) +5 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-b-cursor-32x10-sliding:
    - shard-tglb:         NOTRUN -> [SKIP][68] ([i915#3359]) +2 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb3/igt@kms_cursor_crc@pipe-b-cursor-32x10-sliding.html

  * igt@kms_cursor_crc@pipe-b-cursor-512x512-onscreen:
    - shard-iclb:         NOTRUN -> [SKIP][69] ([fdo#109278] / [fdo#109279])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb2/igt@kms_cursor_crc@pipe-b-cursor-512x512-onscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x512-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][70] ([fdo#109279] / [i915#3359]) +2 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb6/igt@kms_cursor_crc@pipe-d-cursor-512x512-offscreen.html

  * igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge:
    - shard-snb:          NOTRUN -> [SKIP][71] ([fdo#109271]) +434 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-snb7/igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge.html

  * igt@kms_cursor_edge_walk@pipe-d-256x256-left-edge:
    - shard-iclb:         NOTRUN -> [SKIP][72] ([fdo#109278]) +14 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb7/igt@kms_cursor_edge_walk@pipe-d-256x256-left-edge.html

  * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
    - shard-iclb:         NOTRUN -> [SKIP][73] ([fdo#109274] / [fdo#109278]) +2 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb6/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-kbl:          [PASS][74] -> [INCOMPLETE][75] ([i915#155] / [i915#180] / [i915#636])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10225/shard-kbl6/igt@kms_fbcon_fbt@fbc-suspend.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-kbl4/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
    - shard-iclb:         NOTRUN -> [SKIP][76] ([fdo#109274])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb7/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html

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

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs:
    - shard-apl:          NOTRUN -> [SKIP][79] ([fdo#109271] / [i915#2672])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-apl3/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][80] ([fdo#109271] / [i915#2642])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-apl3/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile:
    - shard-glk:          NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#2642])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-glk1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-tglb:         NOTRUN -> [SKIP][82] ([fdo#111825]) +19 similar issues
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite:
    - shard-iclb:         NOTRUN -> [SKIP][83] ([fdo#109280]) +15 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite.html

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

  * igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c:
    - shard-iclb:         NOTRUN -> [SKIP][85] ([fdo#109289])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-iclb2/igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c.html
    - shard-tglb:         NOTRUN -> [SKIP][86] ([fdo#109289])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5927/shard-tglb7/igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c.html

  * igt@kms_pipe_crc_basic@disable-crc-aft

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 35536 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] 46+ messages in thread

end of thread, other threads:[~2021-06-16  0:10 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-11  5:19 [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering venkata.sai.patnana
2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 02/17] tests/kms_dither: Validate dither after CC blocks venkata.sai.patnana
2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 03/17] tests/device_reset: Unload snd driver before i915 unbind venkata.sai.patnana
2021-06-11 15:49   ` Kai Vehmanen
2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 04/17] tests/core_hotunplug: " venkata.sai.patnana
2021-06-11 15:50   ` Kai Vehmanen
2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 05/17] tests/kms_force_connector_basic: Skip prune stale mode venkata.sai.patnana
2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 06/17] tests/kms: Create buffer object from LMEM for discrete venkata.sai.patnana
2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 07/17] tests/kms_addfb_basic: Add invalid buffer object test " venkata.sai.patnana
2021-06-11 11:40   ` Petri Latvala
2021-06-11 11:49   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
2021-06-11 12:09     ` Petri Latvala
2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 08/17] tests/kms_dp_dsc: Read the debugfs only once venkata.sai.patnana
2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 09/17] tests/kms_big_fb: Add max HW stride length tests venkata.sai.patnana
2021-06-15  6:00   ` Shankar, Uma
2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 10/17] tests/kms_big_fb: Add max hw stride lenght async flip test venkata.sai.patnana
2021-06-11  5:19 ` [igt-dev] [PATCH i-g-t 11/17] tests/kms_big_fb: Optimize setup_fb function venkata.sai.patnana
2021-06-11  9:59   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
2021-06-11 11:32     ` Karthik B S
2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 12/17] tests/kms_dp_dsc: Add a subtest to force DSC output BPP venkata.sai.patnana
2021-06-15 15:25   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 13/17] lib: Add helper functions to read/write dsc debugfs venkata.sai.patnana
2021-06-15  9:13   ` Petri Latvala
2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 14/17] tests/kms_dp_dsc: Assign all related data members together venkata.sai.patnana
2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 15/17] tests/kms_dp_dsc: Use helper functions to read/write dsc debugfs venkata.sai.patnana
2021-06-15  9:15   ` Petri Latvala
2021-06-15 15:25   ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 16/17] tests/kms_invalid_dotclock: Modify the test for bigjoiner venkata.sai.patnana
2021-06-11  5:20 ` [igt-dev] [PATCH i-g-t 17/17] tests/kms_cdclk : Add test to validate cdclk crawling venkata.sai.patnana
2021-06-11  9:59   ` venkata.sai.patnana
2021-06-11 11:49     ` [igt-dev] [PATCH i-g-t v2 " venkata.sai.patnana
2021-06-11 14:11       ` [igt-dev] [PATCH i-g-t v3 " venkata.sai.patnana
2021-06-11  6:15 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering Patchwork
2021-06-11  9:15 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2021-06-11 12:17   ` Petri Latvala
2021-06-11 10:56 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev3) Patchwork
2021-06-11 12:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2021-06-11 13:01 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev5) Patchwork
2021-06-11 15:05 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2021-06-11 15:23 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev6) Patchwork
2021-06-15  5:54 ` [igt-dev] [PATCH i-g-t 01/17] tests/kms_dither: New IGT to validate crtc Dithering Shankar, Uma
2021-06-15  5:58   ` Modem, Bhanuprakash
2021-06-15  6:11     ` Shankar, Uma
2021-06-15  9:04       ` Jani Nikula
2021-06-15 16:18 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/17] tests/kms_dither: New IGT to validate crtc Dithering (rev8) Patchwork
2021-06-16  0:10 ` [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.