All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 0/5] DC states igt tests patch series v9
@ 2019-03-18 12:27 ` Anshuman Gupta
  0 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev

This patch series adds new tests to validate Display C states.
DC states like DC5 and DC6 are validated during PSR entry/exit
and during DPMS on/off cycle.

Sending new revision of patch series after addressing review comments and
other relevant changes.

1. Changing the name of test from "pm_dc" to "i915_pm_dc" alinged to other PM tests.
2. Changing the DC5/6 counter check timeout from 1 sec to 3 sec,
   as in case of PSR  it requires more than 2 second to disable DC
   power wells after vblank event.
3. Changed the test name from tests/pm_dc to tests tests/i915/i915_pm_dc in
   name of individual patch.
4. Addressed the review comment by saving POWER_DIR values in igt_disable_runtime_pm().

Jyoti Yadav (5):
  lib/igt_pm: igt lib helper routines to support DC5/6 tests
  tests/i915/i915_pm_dc: Added new test to verify Display C States
  tests/i915/i915_pm_dc: Added test for DC6 during PSR
  tests/i915/i915_pm_dc: Added test for DC5 during DPMS
  tests/i915/i915_pm_dc: Added test for DC6 during DPMS

 lib/igt_pm.c             |  82 ++++++++++++++
 lib/igt_pm.h             |   2 +
 tests/Makefile.sources   |   3 +
 tests/i915/i915_pm_dc.c  | 274 +++++++++++++++++++++++++++++++++++++++++++++++
 tests/i915/i915_pm_rpm.c |  17 +--
 tests/meson.build        |   1 +
 6 files changed, 363 insertions(+), 16 deletions(-)
 create mode 100644 tests/i915/i915_pm_dc.c

-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [igt-dev] [PATCH i-g-t 0/5] DC states igt tests patch series v9
@ 2019-03-18 12:27 ` Anshuman Gupta
  0 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev; +Cc: jyoti.r.yadav

This patch series adds new tests to validate Display C states.
DC states like DC5 and DC6 are validated during PSR entry/exit
and during DPMS on/off cycle.

Sending new revision of patch series after addressing review comments and
other relevant changes.

1. Changing the name of test from "pm_dc" to "i915_pm_dc" alinged to other PM tests.
2. Changing the DC5/6 counter check timeout from 1 sec to 3 sec,
   as in case of PSR  it requires more than 2 second to disable DC
   power wells after vblank event.
3. Changed the test name from tests/pm_dc to tests tests/i915/i915_pm_dc in
   name of individual patch.
4. Addressed the review comment by saving POWER_DIR values in igt_disable_runtime_pm().

Jyoti Yadav (5):
  lib/igt_pm: igt lib helper routines to support DC5/6 tests
  tests/i915/i915_pm_dc: Added new test to verify Display C States
  tests/i915/i915_pm_dc: Added test for DC6 during PSR
  tests/i915/i915_pm_dc: Added test for DC5 during DPMS
  tests/i915/i915_pm_dc: Added test for DC6 during DPMS

 lib/igt_pm.c             |  82 ++++++++++++++
 lib/igt_pm.h             |   2 +
 tests/Makefile.sources   |   3 +
 tests/i915/i915_pm_dc.c  | 274 +++++++++++++++++++++++++++++++++++++++++++++++
 tests/i915/i915_pm_rpm.c |  17 +--
 tests/meson.build        |   1 +
 6 files changed, 363 insertions(+), 16 deletions(-)
 create mode 100644 tests/i915/i915_pm_dc.c

-- 
2.7.4

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

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

* [PATCH i-g-t 1/5] lib/igt_pm: igt lib helper routines to support DC5/6 tests
  2019-03-18 12:27 ` [igt-dev] " Anshuman Gupta
@ 2019-03-18 12:27   ` Anshuman Gupta
  -1 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

dmc_loaded() will be used by new test i915_pm_dc.c which will validate
Display C States. So moving the same to igt_pm library.
Introduced igt_disable_runtime_pm() inorder to disable runtime suspend
for the function which support dc9.

v2: Simplify the comment section.
v3: Remove . from the subject line.
v4: Rebased, resolve conflicts in pm_rpm.c
    Included patch set version change log.
v5: Listing actual change in patch set changelog to make review easier.
v6: igt's lib added support for disabling runtime suspend, change in commit log.
    rebased due to test name pm_rpm changed to i915_pm_rpm.
v7: Addressed review comment by saving POWER_DIR values in igt_disable_runtime_pm().

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 lib/igt_pm.c             | 82 ++++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_pm.h             |  2 ++
 tests/i915/i915_pm_rpm.c | 17 +---------
 3 files changed, 85 insertions(+), 16 deletions(-)

diff --git a/lib/igt_pm.c b/lib/igt_pm.c
index 4902723..0e999b0 100644
--- a/lib/igt_pm.c
+++ b/lib/igt_pm.c
@@ -38,6 +38,7 @@
 #include "drmtest.h"
 #include "igt_pm.h"
 #include "igt_aux.h"
+#include "igt_sysfs.h"
 
 /**
  * SECTION:igt_pm
@@ -577,6 +578,60 @@ bool igt_setup_runtime_pm(void)
 	return true;
 }
 
+bool igt_disable_runtime_pm(void)
+{
+	int fd;
+	ssize_t size;
+	char buf[6];
+
+	if (pm_status_fd < 0) {
+		fd = open(POWER_DIR "/autosuspend_delay_ms", O_RDWR);
+		if (fd < 0)
+			return false;
+
+		size = read(fd, __igt_pm_runtime_autosuspend,
+			    sizeof(__igt_pm_runtime_autosuspend));
+
+		if (size <= 0) {
+			close(fd);
+			return false;
+		}
+
+		strchomp(__igt_pm_runtime_autosuspend);
+		igt_install_exit_handler(__igt_pm_runtime_exit_handler);
+		close(fd);
+	}
+
+	/* We know we support runtime PM, let's try to disable it now. */
+	fd = open(POWER_DIR "/control", O_RDWR);
+	igt_assert_f(fd >= 0, "Can't open " POWER_DIR "/control\n");
+
+	if (pm_status_fd < 0) {
+		igt_assert(read(fd, __igt_pm_runtime_control,
+				sizeof(__igt_pm_runtime_control)) > 0);
+		strchomp(__igt_pm_runtime_control);
+
+		igt_debug("Saved runtime power management as '%s' and '%s'\n",
+			  __igt_pm_runtime_autosuspend, __igt_pm_runtime_control);
+	}
+
+	size = write(fd, "on\n", 3);
+	igt_assert(size == 3);
+	lseek(fd, 0, SEEK_SET);
+	size = read(fd, buf, ARRAY_SIZE(buf));
+	igt_assert(size == 3);
+	igt_assert(strncmp(buf, "on\n", 3) == 0);
+	close(fd);
+
+	if (pm_status_fd < 0) {
+		pm_status_fd = open(POWER_DIR "/runtime_status", O_RDONLY);
+		igt_assert_f(pm_status_fd >= 0,
+			     "Can't open " POWER_DIR "/runtime_status\n");
+	}
+
+	return true;
+}
+
 /**
  * igt_get_runtime_pm_status:
  *
@@ -620,3 +675,30 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status)
 {
 	return igt_wait(igt_get_runtime_pm_status() == status, 10000, 100);
 }
+
+/**
+ * dmc_loaded:
+ * @debugfs: fd to the debugfs dir.
+
+ * Check whether DMC FW is loaded or not. DMC FW is require for few Display C
+ * states like DC5 and DC6. FW does the Context Save and Restore during Display
+ * C States entry and exit.
+ *
+ * Returns:
+ * True if DMC FW is loaded otherwise false.
+ */
+bool igt_pm_dmc_loaded(int debugfs)
+{
+	igt_require(debugfs != -1);
+	char buf[15];
+	int len;
+
+	len = igt_sysfs_read(debugfs, "i915_dmc_info", buf, sizeof(buf) - 1);
+	if (len < 0)
+		return true; /* no CSR support, no DMC requirement */
+
+	buf[len] = '\0';
+
+	igt_info("DMC: %s\n", buf);
+	return strstr(buf, "fw loaded: yes");
+}
diff --git a/lib/igt_pm.h b/lib/igt_pm.h
index 10cc679..6c4617a 100644
--- a/lib/igt_pm.h
+++ b/lib/igt_pm.h
@@ -47,8 +47,10 @@ enum igt_runtime_pm_status {
 };
 
 bool igt_setup_runtime_pm(void);
+bool igt_disable_runtime_pm(void);
 void igt_restore_runtime_pm(void);
 enum igt_runtime_pm_status igt_get_runtime_pm_status(void);
 bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
+bool igt_pm_dmc_loaded(int debugfs);
 
 #endif /* IGT_PM_H */
diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
index be296f5..2d7cb5e 100644
--- a/tests/i915/i915_pm_rpm.c
+++ b/tests/i915/i915_pm_rpm.c
@@ -710,21 +710,6 @@ static void setup_pc8(void)
 	has_pc8 = true;
 }
 
-static bool dmc_loaded(void)
-{
-	char buf[15];
-	int len;
-
-	len = igt_sysfs_read(debugfs, "i915_dmc_info", buf, sizeof(buf) - 1);
-	if (len < 0)
-	    return true; /* no CSR support, no DMC requirement */
-
-	buf[len] = '\0';
-
-	igt_info("DMC: %s\n", buf);
-	return strstr(buf, "fw loaded: yes");
-}
-
 static void dump_file(int dir, const char *filename)
 {
 	char *contents;
@@ -761,7 +746,7 @@ static bool setup_environment(void)
 	igt_info("Runtime PM support: %d\n", has_runtime_pm);
 	igt_info("PC8 residency support: %d\n", has_pc8);
 	igt_require(has_runtime_pm);
-	igt_require(dmc_loaded());
+	igt_require(igt_pm_dmc_loaded(debugfs));
 
 out:
 	disable_all_screens(&ms_data);
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [igt-dev] [PATCH i-g-t 1/5] lib/igt_pm: igt lib helper routines to support DC5/6 tests
@ 2019-03-18 12:27   ` Anshuman Gupta
  0 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev; +Cc: jyoti.r.yadav

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

dmc_loaded() will be used by new test i915_pm_dc.c which will validate
Display C States. So moving the same to igt_pm library.
Introduced igt_disable_runtime_pm() inorder to disable runtime suspend
for the function which support dc9.

v2: Simplify the comment section.
v3: Remove . from the subject line.
v4: Rebased, resolve conflicts in pm_rpm.c
    Included patch set version change log.
v5: Listing actual change in patch set changelog to make review easier.
v6: igt's lib added support for disabling runtime suspend, change in commit log.
    rebased due to test name pm_rpm changed to i915_pm_rpm.
v7: Addressed review comment by saving POWER_DIR values in igt_disable_runtime_pm().

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 lib/igt_pm.c             | 82 ++++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_pm.h             |  2 ++
 tests/i915/i915_pm_rpm.c | 17 +---------
 3 files changed, 85 insertions(+), 16 deletions(-)

diff --git a/lib/igt_pm.c b/lib/igt_pm.c
index 4902723..0e999b0 100644
--- a/lib/igt_pm.c
+++ b/lib/igt_pm.c
@@ -38,6 +38,7 @@
 #include "drmtest.h"
 #include "igt_pm.h"
 #include "igt_aux.h"
+#include "igt_sysfs.h"
 
 /**
  * SECTION:igt_pm
@@ -577,6 +578,60 @@ bool igt_setup_runtime_pm(void)
 	return true;
 }
 
+bool igt_disable_runtime_pm(void)
+{
+	int fd;
+	ssize_t size;
+	char buf[6];
+
+	if (pm_status_fd < 0) {
+		fd = open(POWER_DIR "/autosuspend_delay_ms", O_RDWR);
+		if (fd < 0)
+			return false;
+
+		size = read(fd, __igt_pm_runtime_autosuspend,
+			    sizeof(__igt_pm_runtime_autosuspend));
+
+		if (size <= 0) {
+			close(fd);
+			return false;
+		}
+
+		strchomp(__igt_pm_runtime_autosuspend);
+		igt_install_exit_handler(__igt_pm_runtime_exit_handler);
+		close(fd);
+	}
+
+	/* We know we support runtime PM, let's try to disable it now. */
+	fd = open(POWER_DIR "/control", O_RDWR);
+	igt_assert_f(fd >= 0, "Can't open " POWER_DIR "/control\n");
+
+	if (pm_status_fd < 0) {
+		igt_assert(read(fd, __igt_pm_runtime_control,
+				sizeof(__igt_pm_runtime_control)) > 0);
+		strchomp(__igt_pm_runtime_control);
+
+		igt_debug("Saved runtime power management as '%s' and '%s'\n",
+			  __igt_pm_runtime_autosuspend, __igt_pm_runtime_control);
+	}
+
+	size = write(fd, "on\n", 3);
+	igt_assert(size == 3);
+	lseek(fd, 0, SEEK_SET);
+	size = read(fd, buf, ARRAY_SIZE(buf));
+	igt_assert(size == 3);
+	igt_assert(strncmp(buf, "on\n", 3) == 0);
+	close(fd);
+
+	if (pm_status_fd < 0) {
+		pm_status_fd = open(POWER_DIR "/runtime_status", O_RDONLY);
+		igt_assert_f(pm_status_fd >= 0,
+			     "Can't open " POWER_DIR "/runtime_status\n");
+	}
+
+	return true;
+}
+
 /**
  * igt_get_runtime_pm_status:
  *
@@ -620,3 +675,30 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status)
 {
 	return igt_wait(igt_get_runtime_pm_status() == status, 10000, 100);
 }
+
+/**
+ * dmc_loaded:
+ * @debugfs: fd to the debugfs dir.
+
+ * Check whether DMC FW is loaded or not. DMC FW is require for few Display C
+ * states like DC5 and DC6. FW does the Context Save and Restore during Display
+ * C States entry and exit.
+ *
+ * Returns:
+ * True if DMC FW is loaded otherwise false.
+ */
+bool igt_pm_dmc_loaded(int debugfs)
+{
+	igt_require(debugfs != -1);
+	char buf[15];
+	int len;
+
+	len = igt_sysfs_read(debugfs, "i915_dmc_info", buf, sizeof(buf) - 1);
+	if (len < 0)
+		return true; /* no CSR support, no DMC requirement */
+
+	buf[len] = '\0';
+
+	igt_info("DMC: %s\n", buf);
+	return strstr(buf, "fw loaded: yes");
+}
diff --git a/lib/igt_pm.h b/lib/igt_pm.h
index 10cc679..6c4617a 100644
--- a/lib/igt_pm.h
+++ b/lib/igt_pm.h
@@ -47,8 +47,10 @@ enum igt_runtime_pm_status {
 };
 
 bool igt_setup_runtime_pm(void);
+bool igt_disable_runtime_pm(void);
 void igt_restore_runtime_pm(void);
 enum igt_runtime_pm_status igt_get_runtime_pm_status(void);
 bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
+bool igt_pm_dmc_loaded(int debugfs);
 
 #endif /* IGT_PM_H */
diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
index be296f5..2d7cb5e 100644
--- a/tests/i915/i915_pm_rpm.c
+++ b/tests/i915/i915_pm_rpm.c
@@ -710,21 +710,6 @@ static void setup_pc8(void)
 	has_pc8 = true;
 }
 
-static bool dmc_loaded(void)
-{
-	char buf[15];
-	int len;
-
-	len = igt_sysfs_read(debugfs, "i915_dmc_info", buf, sizeof(buf) - 1);
-	if (len < 0)
-	    return true; /* no CSR support, no DMC requirement */
-
-	buf[len] = '\0';
-
-	igt_info("DMC: %s\n", buf);
-	return strstr(buf, "fw loaded: yes");
-}
-
 static void dump_file(int dir, const char *filename)
 {
 	char *contents;
@@ -761,7 +746,7 @@ static bool setup_environment(void)
 	igt_info("Runtime PM support: %d\n", has_runtime_pm);
 	igt_info("PC8 residency support: %d\n", has_pc8);
 	igt_require(has_runtime_pm);
-	igt_require(dmc_loaded());
+	igt_require(igt_pm_dmc_loaded(debugfs));
 
 out:
 	disable_all_screens(&ms_data);
-- 
2.7.4

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

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

* [PATCH i-g-t 2/5] tests/i915/i915_pm_dc: Added new test to verify Display C States
  2019-03-18 12:27 ` [igt-dev] " Anshuman Gupta
@ 2019-03-18 12:27   ` Anshuman Gupta
  -1 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

Currently this test validates DC5 upon PSR entry for supported platforms.
Added new file for compilation inside Makefile and Meson.

v2: Used the debugfs entry for DC counters instead of Registers.
    Used shorter names for variables.
    Introduced timeout to read DC counters.
v3: one second timeout is introduced to read DC counters.
    Skip the subtest if counters are not available for that platform.
v4: Rebased, to fix compilation error in psr_enable(), psr_wait_entry()
    and replaced igt_display_init() by igt_display_require() in pm_rpm.c.
    Addressed the review comment by removing unused function display_init,
    removing redundant igt commit suggested by Imre.
    Fixed typo in read_dc_counter().
v5: Addressed the review comment by removing redundant read_dc_counter(),
    clubbed cleanup() function in test_dc_state_psr() suggested by Imre.
    Rearranged  preprocessor directives at one place.
    Fixed compilation warning by adding function prototype for
    dc_state_wait_entry() and check_dc_counter().
    Listing actual change in patch set changelog to make review easier.
v6: Fixed "i915_edp_psr_status" string to "Sink support: yes".
v7: Rebased since test name changed from "pm_dc" to "i915_pm_dc",
    this will align with other PM tests.
    also changed the DC5/6 counter check timeout to 3 second.

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/Makefile.sources  |   3 +
 tests/i915/i915_pm_dc.c | 209 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build       |   1 +
 3 files changed, 213 insertions(+)
 create mode 100644 tests/i915/i915_pm_dc.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 71ccf00..5d6c449 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -492,6 +492,9 @@ i915_pm_rc6_residency_SOURCES = i915/i915_pm_rc6_residency.c
 TESTS_progs += i915_pm_rpm
 i915_pm_rpm_SOURCES = i915/i915_pm_rpm.c
 
+TESTS_progs += i915_pm_dc
+i915_pm_dc_SOURCES = i915/i915_pm_dc.c
+
 TESTS_progs += i915_pm_rps
 i915_pm_rps_SOURCES = i915/i915_pm_rps.c
 
diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
new file mode 100644
index 0000000..004a5c1
--- /dev/null
+++ b/tests/i915/i915_pm_dc.c
@@ -0,0 +1,209 @@
+/*
+ * Copyright © 2018 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.
+ *
+ */
+
+#include "igt.h"
+#include "igt_sysfs.h"
+#include "igt_psr.h"
+#include <errno.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <string.h>
+#include "intel_bufmgr.h"
+#include "intel_io.h"
+#include "limits.h"
+
+/* DC State Flags */
+#define CHECK_DC5	1
+#define CHECK_DC6	2
+
+typedef struct {
+	int drm_fd;
+	int debugfs_fd;
+	uint32_t devid;
+	igt_display_t display;
+	struct igt_fb fb_white;
+	enum psr_mode op_psr_mode;
+	drmModeModeInfo *mode;
+	igt_output_t *output;
+} data_t;
+
+bool dc_state_wait_entry(int drm_fd, int dc_flag, int prev_dc_count);
+void check_dc_counter(int drm_fd, int dc_flag, uint32_t prev_dc_count);
+
+static void setup_output(data_t *data)
+{
+	igt_display_t *display = &data->display;
+	igt_output_t *output;
+	enum pipe pipe;
+
+	for_each_pipe_with_valid_output(display, pipe, output) {
+		drmModeConnectorPtr c = output->config.connector;
+
+		if (c->connector_type != DRM_MODE_CONNECTOR_eDP)
+			continue;
+
+		igt_output_set_pipe(output, pipe);
+		data->output = output;
+		data->mode = igt_output_get_mode(output);
+
+		return;
+	}
+}
+
+static void display_fini(data_t *data)
+{
+	igt_display_fini(&data->display);
+}
+
+static bool edp_psr_sink_support(data_t *data)
+{
+	char buf[512];
+
+	igt_debugfs_simple_read(data->debugfs_fd, "i915_edp_psr_status",
+			 buf, sizeof(buf));
+
+	return strstr(buf, "Sink support: yes");
+}
+
+static void cleanup(data_t *data)
+{
+	igt_plane_t *primary;
+
+	primary = igt_output_get_plane_type(data->output,
+					    DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_set_fb(primary, NULL);
+	igt_display_commit(&data->display);
+	igt_remove_fb(data->drm_fd, &data->fb_white);
+}
+
+static void setup_primary(data_t *data)
+{
+	igt_plane_t *primary;
+
+	primary = igt_output_get_plane_type(data->output,
+					    DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_set_fb(primary, NULL);
+	igt_create_color_fb(data->drm_fd,
+			    data->mode->hdisplay, data->mode->vdisplay,
+			    DRM_FORMAT_XRGB8888,
+			    LOCAL_I915_FORMAT_MOD_X_TILED,
+			    1.0, 1.0, 1.0,
+			    &data->fb_white);
+	igt_plane_set_fb(primary, &data->fb_white);
+	igt_display_commit(&data->display);
+}
+
+static uint32_t get_dc_counter(char *dc_data)
+{
+	char *e;
+	long ret;
+	char *s = strchr(dc_data, ':');
+
+	assert(s);
+	s++;
+	ret = strtol(s, &e, 10);
+	assert(((ret != LONG_MIN && ret != LONG_MAX) || errno != ERANGE) &&
+	       e > s && *e == '\n' && ret >= 0);
+	return ret;
+}
+
+static uint32_t read_dc_counter(uint32_t drm_fd, int dc_flag)
+{
+	char buf[4096];
+	char *str;
+
+	igt_debugfs_read(drm_fd, "i915_dmc_info", buf);
+
+	if (dc_flag & CHECK_DC5)
+		str = strstr(buf, "DC3 -> DC5 count");
+	else if (dc_flag & CHECK_DC6)
+		str = strstr(buf, "DC5 -> DC6 count");
+
+	/* Check DC5/DC6 counter is available for the platform.
+	 * Skip the test if counter is not available.
+	 */
+	igt_skip_on_f(str == NULL, "DC%d counter is not available\n",
+		      dc_flag & CHECK_DC5 ? 5 : 6);
+	return get_dc_counter(str);
+}
+
+bool dc_state_wait_entry(int drm_fd, int dc_flag, int prev_dc_count)
+{
+	return igt_wait(read_dc_counter(drm_fd, dc_flag) > prev_dc_count, 3000, 100);
+}
+
+void check_dc_counter(int drm_fd, int dc_flag, uint32_t prev_dc_count)
+{
+	igt_assert_f(dc_state_wait_entry(drm_fd, dc_flag, prev_dc_count),
+		     "DC%d state is not achieved\n",
+		     dc_flag & CHECK_DC5 ? 5 : 6);
+}
+
+static void test_dc_state_psr(data_t *data, int dc_flag)
+{
+	uint32_t dc_counter_before_psr;
+
+	dc_counter_before_psr = read_dc_counter(data->drm_fd, dc_flag);
+	setup_output(data);
+	setup_primary(data);
+	igt_assert(psr_wait_entry(data->debugfs_fd, data->op_psr_mode));
+	check_dc_counter(data->drm_fd, dc_flag, dc_counter_before_psr);
+	cleanup(data);
+}
+
+int main(int argc, char *argv[])
+{
+	bool has_runtime_pm;
+	data_t data = {};
+
+	igt_skip_on_simulation();
+	igt_subtest_init(argc, argv);
+	igt_fixture {
+		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
+		igt_require(data.debugfs_fd != -1);
+		kmstest_set_vt_graphics_mode();
+		data.devid = intel_get_drm_devid(data.drm_fd);
+		has_runtime_pm = igt_setup_runtime_pm();
+		igt_info("Runtime PM support: %d\n", has_runtime_pm);
+		igt_require(has_runtime_pm);
+		igt_require(igt_pm_dmc_loaded(data.debugfs_fd));
+		igt_display_require(&data.display, data.drm_fd);
+	}
+
+	igt_subtest("dc5-psr") {
+		data.op_psr_mode = PSR_MODE_1;
+		psr_enable(data.debugfs_fd, data.op_psr_mode);
+		igt_require_f(edp_psr_sink_support(&data),
+			      "Sink does not support PSR\n");
+		test_dc_state_psr(&data, CHECK_DC5);
+	}
+
+	igt_fixture {
+		close(data.debugfs_fd);
+		display_fini(&data);
+	}
+
+	igt_exit();
+}
diff --git a/tests/meson.build b/tests/meson.build
index 9015f80..9437fad 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -221,6 +221,7 @@ i915_progs = [
 	'i915_pm_lpsp',
 	'i915_pm_rc6_residency',
 	'i915_pm_rpm',
+	'i915_pm_dc',
 	'i915_pm_rps',
 	'i915_pm_sseu',
 	'i915_query',
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [igt-dev] [PATCH i-g-t 2/5] tests/i915/i915_pm_dc: Added new test to verify Display C States
@ 2019-03-18 12:27   ` Anshuman Gupta
  0 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev; +Cc: jyoti.r.yadav

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

Currently this test validates DC5 upon PSR entry for supported platforms.
Added new file for compilation inside Makefile and Meson.

v2: Used the debugfs entry for DC counters instead of Registers.
    Used shorter names for variables.
    Introduced timeout to read DC counters.
v3: one second timeout is introduced to read DC counters.
    Skip the subtest if counters are not available for that platform.
v4: Rebased, to fix compilation error in psr_enable(), psr_wait_entry()
    and replaced igt_display_init() by igt_display_require() in pm_rpm.c.
    Addressed the review comment by removing unused function display_init,
    removing redundant igt commit suggested by Imre.
    Fixed typo in read_dc_counter().
v5: Addressed the review comment by removing redundant read_dc_counter(),
    clubbed cleanup() function in test_dc_state_psr() suggested by Imre.
    Rearranged  preprocessor directives at one place.
    Fixed compilation warning by adding function prototype for
    dc_state_wait_entry() and check_dc_counter().
    Listing actual change in patch set changelog to make review easier.
v6: Fixed "i915_edp_psr_status" string to "Sink support: yes".
v7: Rebased since test name changed from "pm_dc" to "i915_pm_dc",
    this will align with other PM tests.
    also changed the DC5/6 counter check timeout to 3 second.

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/Makefile.sources  |   3 +
 tests/i915/i915_pm_dc.c | 209 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build       |   1 +
 3 files changed, 213 insertions(+)
 create mode 100644 tests/i915/i915_pm_dc.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 71ccf00..5d6c449 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -492,6 +492,9 @@ i915_pm_rc6_residency_SOURCES = i915/i915_pm_rc6_residency.c
 TESTS_progs += i915_pm_rpm
 i915_pm_rpm_SOURCES = i915/i915_pm_rpm.c
 
+TESTS_progs += i915_pm_dc
+i915_pm_dc_SOURCES = i915/i915_pm_dc.c
+
 TESTS_progs += i915_pm_rps
 i915_pm_rps_SOURCES = i915/i915_pm_rps.c
 
diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
new file mode 100644
index 0000000..004a5c1
--- /dev/null
+++ b/tests/i915/i915_pm_dc.c
@@ -0,0 +1,209 @@
+/*
+ * Copyright © 2018 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.
+ *
+ */
+
+#include "igt.h"
+#include "igt_sysfs.h"
+#include "igt_psr.h"
+#include <errno.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <string.h>
+#include "intel_bufmgr.h"
+#include "intel_io.h"
+#include "limits.h"
+
+/* DC State Flags */
+#define CHECK_DC5	1
+#define CHECK_DC6	2
+
+typedef struct {
+	int drm_fd;
+	int debugfs_fd;
+	uint32_t devid;
+	igt_display_t display;
+	struct igt_fb fb_white;
+	enum psr_mode op_psr_mode;
+	drmModeModeInfo *mode;
+	igt_output_t *output;
+} data_t;
+
+bool dc_state_wait_entry(int drm_fd, int dc_flag, int prev_dc_count);
+void check_dc_counter(int drm_fd, int dc_flag, uint32_t prev_dc_count);
+
+static void setup_output(data_t *data)
+{
+	igt_display_t *display = &data->display;
+	igt_output_t *output;
+	enum pipe pipe;
+
+	for_each_pipe_with_valid_output(display, pipe, output) {
+		drmModeConnectorPtr c = output->config.connector;
+
+		if (c->connector_type != DRM_MODE_CONNECTOR_eDP)
+			continue;
+
+		igt_output_set_pipe(output, pipe);
+		data->output = output;
+		data->mode = igt_output_get_mode(output);
+
+		return;
+	}
+}
+
+static void display_fini(data_t *data)
+{
+	igt_display_fini(&data->display);
+}
+
+static bool edp_psr_sink_support(data_t *data)
+{
+	char buf[512];
+
+	igt_debugfs_simple_read(data->debugfs_fd, "i915_edp_psr_status",
+			 buf, sizeof(buf));
+
+	return strstr(buf, "Sink support: yes");
+}
+
+static void cleanup(data_t *data)
+{
+	igt_plane_t *primary;
+
+	primary = igt_output_get_plane_type(data->output,
+					    DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_set_fb(primary, NULL);
+	igt_display_commit(&data->display);
+	igt_remove_fb(data->drm_fd, &data->fb_white);
+}
+
+static void setup_primary(data_t *data)
+{
+	igt_plane_t *primary;
+
+	primary = igt_output_get_plane_type(data->output,
+					    DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_set_fb(primary, NULL);
+	igt_create_color_fb(data->drm_fd,
+			    data->mode->hdisplay, data->mode->vdisplay,
+			    DRM_FORMAT_XRGB8888,
+			    LOCAL_I915_FORMAT_MOD_X_TILED,
+			    1.0, 1.0, 1.0,
+			    &data->fb_white);
+	igt_plane_set_fb(primary, &data->fb_white);
+	igt_display_commit(&data->display);
+}
+
+static uint32_t get_dc_counter(char *dc_data)
+{
+	char *e;
+	long ret;
+	char *s = strchr(dc_data, ':');
+
+	assert(s);
+	s++;
+	ret = strtol(s, &e, 10);
+	assert(((ret != LONG_MIN && ret != LONG_MAX) || errno != ERANGE) &&
+	       e > s && *e == '\n' && ret >= 0);
+	return ret;
+}
+
+static uint32_t read_dc_counter(uint32_t drm_fd, int dc_flag)
+{
+	char buf[4096];
+	char *str;
+
+	igt_debugfs_read(drm_fd, "i915_dmc_info", buf);
+
+	if (dc_flag & CHECK_DC5)
+		str = strstr(buf, "DC3 -> DC5 count");
+	else if (dc_flag & CHECK_DC6)
+		str = strstr(buf, "DC5 -> DC6 count");
+
+	/* Check DC5/DC6 counter is available for the platform.
+	 * Skip the test if counter is not available.
+	 */
+	igt_skip_on_f(str == NULL, "DC%d counter is not available\n",
+		      dc_flag & CHECK_DC5 ? 5 : 6);
+	return get_dc_counter(str);
+}
+
+bool dc_state_wait_entry(int drm_fd, int dc_flag, int prev_dc_count)
+{
+	return igt_wait(read_dc_counter(drm_fd, dc_flag) > prev_dc_count, 3000, 100);
+}
+
+void check_dc_counter(int drm_fd, int dc_flag, uint32_t prev_dc_count)
+{
+	igt_assert_f(dc_state_wait_entry(drm_fd, dc_flag, prev_dc_count),
+		     "DC%d state is not achieved\n",
+		     dc_flag & CHECK_DC5 ? 5 : 6);
+}
+
+static void test_dc_state_psr(data_t *data, int dc_flag)
+{
+	uint32_t dc_counter_before_psr;
+
+	dc_counter_before_psr = read_dc_counter(data->drm_fd, dc_flag);
+	setup_output(data);
+	setup_primary(data);
+	igt_assert(psr_wait_entry(data->debugfs_fd, data->op_psr_mode));
+	check_dc_counter(data->drm_fd, dc_flag, dc_counter_before_psr);
+	cleanup(data);
+}
+
+int main(int argc, char *argv[])
+{
+	bool has_runtime_pm;
+	data_t data = {};
+
+	igt_skip_on_simulation();
+	igt_subtest_init(argc, argv);
+	igt_fixture {
+		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
+		igt_require(data.debugfs_fd != -1);
+		kmstest_set_vt_graphics_mode();
+		data.devid = intel_get_drm_devid(data.drm_fd);
+		has_runtime_pm = igt_setup_runtime_pm();
+		igt_info("Runtime PM support: %d\n", has_runtime_pm);
+		igt_require(has_runtime_pm);
+		igt_require(igt_pm_dmc_loaded(data.debugfs_fd));
+		igt_display_require(&data.display, data.drm_fd);
+	}
+
+	igt_subtest("dc5-psr") {
+		data.op_psr_mode = PSR_MODE_1;
+		psr_enable(data.debugfs_fd, data.op_psr_mode);
+		igt_require_f(edp_psr_sink_support(&data),
+			      "Sink does not support PSR\n");
+		test_dc_state_psr(&data, CHECK_DC5);
+	}
+
+	igt_fixture {
+		close(data.debugfs_fd);
+		display_fini(&data);
+	}
+
+	igt_exit();
+}
diff --git a/tests/meson.build b/tests/meson.build
index 9015f80..9437fad 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -221,6 +221,7 @@ i915_progs = [
 	'i915_pm_lpsp',
 	'i915_pm_rc6_residency',
 	'i915_pm_rpm',
+	'i915_pm_dc',
 	'i915_pm_rps',
 	'i915_pm_sseu',
 	'i915_query',
-- 
2.7.4

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

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

* [PATCH i-g-t 3/5] tests/i915/i915_pm_dc: Added test for DC6 during PSR
  2019-03-18 12:27 ` [igt-dev] " Anshuman Gupta
@ 2019-03-18 12:27   ` Anshuman Gupta
  -1 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

This patch add subtest to check DC6 entry on PSR for the supported
platforms.

v2: Rename the subtest with more meaningful name.
v3: Rebased.
v4: Rebased, to fix compilation error in psr_enable().
    Addressed review comment by fixing typo in comment description
    of DC6 PSR subtest.
v5: Addressed the review comment by removing redundant read_dc_counter(),
    clubbed cleanup() function in test_dc_state_psr() suggested by Imre.
    Listing actual change in patch set changelog to make review easier.
v6: Rebased due to test name pm_dc changed to i915_pm_dc, aligning to
    other PM tests.

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_dc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 004a5c1..66e3e8f 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -200,6 +200,14 @@ int main(int argc, char *argv[])
 		test_dc_state_psr(&data, CHECK_DC5);
 	}
 
+	igt_subtest("dc6-psr") {
+		data.op_psr_mode = PSR_MODE_1;
+		psr_enable(data.debugfs_fd, data.op_psr_mode);
+		igt_require_f(edp_psr_sink_support(&data),
+			      "Sink does not support PSR\n");
+		test_dc_state_psr(&data, CHECK_DC6);
+	}
+
 	igt_fixture {
 		close(data.debugfs_fd);
 		display_fini(&data);
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH i-g-t 3/5] tests/i915/i915_pm_dc: Added test for DC6 during PSR
@ 2019-03-18 12:27   ` Anshuman Gupta
  0 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

This patch add subtest to check DC6 entry on PSR for the supported
platforms.

v2: Rename the subtest with more meaningful name.
v3: Rebased.
v4: Rebased, to fix compilation error in psr_enable().
    Addressed review comment by fixing typo in comment description
    of DC6 PSR subtest.
v5: Addressed the review comment by removing redundant read_dc_counter(),
    clubbed cleanup() function in test_dc_state_psr() suggested by Imre.
    Listing actual change in patch set changelog to make review easier.
v6: Rebased due to test name pm_dc changed to i915_pm_dc, aligning to
    other PM tests.

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_dc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 004a5c1..66e3e8f 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -200,6 +200,14 @@ int main(int argc, char *argv[])
 		test_dc_state_psr(&data, CHECK_DC5);
 	}
 
+	igt_subtest("dc6-psr") {
+		data.op_psr_mode = PSR_MODE_1;
+		psr_enable(data.debugfs_fd, data.op_psr_mode);
+		igt_require_f(edp_psr_sink_support(&data),
+			      "Sink does not support PSR\n");
+		test_dc_state_psr(&data, CHECK_DC6);
+	}
+
 	igt_fixture {
 		close(data.debugfs_fd);
 		display_fini(&data);
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t 4/5] tests/i915/i915_pm_dc: Added test for DC5 during DPMS
  2019-03-18 12:27 ` [igt-dev] " Anshuman Gupta
@ 2019-03-18 12:27   ` Anshuman Gupta
  -1 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

Added new subtest for DC5 entry during DPMS on/off cycle.
During DPMS on/off cycle DC5 counter is incremented.

v2: Rename the subtest with meaningful name.
v3: Rebased.
v4: Addressed review comments by removing leftover code
    cleanup().
v5: Addressed the review comment by removing redundant
    read_dc_counter() suggested by Imre.
    Listing actual change in patch set changelog to make review easier.
v6: Three way patch applied, no functional change.
v7: Disabling runtime suspend for the platfrom which support, DC9.
    rebased due to test name pm_dc changed to i915_pm_dc, aligning to
    other PM tests.
v8: Introduced setup_dc_dpms() in order to disable runtime pm, restoring
    POWER_DIR values to its original and enabling runtime pm  for other
    followed sub-tests.

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_dc.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 66e3e8f..1b14262 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -46,6 +46,7 @@ typedef struct {
 	enum psr_mode op_psr_mode;
 	drmModeModeInfo *mode;
 	igt_output_t *output;
+	bool runtime_suspend_disabled;
 } data_t;
 
 bool dc_state_wait_entry(int drm_fd, int dc_flag, int prev_dc_count);
@@ -172,6 +173,52 @@ static void test_dc_state_psr(data_t *data, int dc_flag)
 	cleanup(data);
 }
 
+static void setup_dc_dpms(data_t *data)
+{
+	if (IS_BROXTON(data->devid) || IS_GEMINILAKE(data->devid) || IS_ICELAKE(data->devid)) {
+		data->runtime_suspend_disabled = igt_disable_runtime_pm();
+		igt_require_f(data->runtime_suspend_disabled,
+			      "unable to disable runtime pm for i915\n");
+	} else {
+		data->runtime_suspend_disabled = false;
+	}
+}
+
+static void dpms_off_on(data_t *data)
+{
+	for (int i = 0; i < data->display.n_outputs; i++) {
+		kmstest_set_connector_dpms(data->drm_fd, data->display.outputs[i].config.connector,
+					   DRM_MODE_DPMS_OFF);
+	}
+
+	if (!data->runtime_suspend_disabled)
+		igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
+
+	for (int i = 0; i < data->display.n_outputs; i++) {
+		kmstest_set_connector_dpms(data->drm_fd, data->display.outputs[i].config.connector,
+				   DRM_MODE_DPMS_ON);
+	}
+
+	if (!data->runtime_suspend_disabled)
+		igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE));
+}
+
+static void test_dc_state_dpms(data_t *data, int dc_flag)
+{
+	uint32_t dc_counter;
+
+	dc_counter = read_dc_counter(data->drm_fd, dc_flag);
+	dpms_off_on(data);
+	check_dc_counter(data->drm_fd, dc_flag, dc_counter);
+
+	/* if runtime PM is disabled for i915 restore it,
+	 * so any other sub-test can use runtime-PM. */
+	if (data->runtime_suspend_disabled) {
+		igt_restore_runtime_pm();
+		igt_setup_runtime_pm();
+	}
+}
+
 int main(int argc, char *argv[])
 {
 	bool has_runtime_pm;
@@ -208,6 +255,11 @@ int main(int argc, char *argv[])
 		test_dc_state_psr(&data, CHECK_DC6);
 	}
 
+	igt_subtest("dc5-dpms") {
+		setup_dc_dpms(&data);
+		test_dc_state_dpms(&data, CHECK_DC5);
+	}
+
 	igt_fixture {
 		close(data.debugfs_fd);
 		display_fini(&data);
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH i-g-t 4/5] tests/i915/i915_pm_dc: Added test for DC5 during DPMS
@ 2019-03-18 12:27   ` Anshuman Gupta
  0 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

Added new subtest for DC5 entry during DPMS on/off cycle.
During DPMS on/off cycle DC5 counter is incremented.

v2: Rename the subtest with meaningful name.
v3: Rebased.
v4: Addressed review comments by removing leftover code
    cleanup().
v5: Addressed the review comment by removing redundant
    read_dc_counter() suggested by Imre.
    Listing actual change in patch set changelog to make review easier.
v6: Three way patch applied, no functional change.
v7: Disabling runtime suspend for the platfrom which support, DC9.
    rebased due to test name pm_dc changed to i915_pm_dc, aligning to
    other PM tests.
v8: Introduced setup_dc_dpms() in order to disable runtime pm, restoring
    POWER_DIR values to its original and enabling runtime pm  for other
    followed sub-tests.

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_dc.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 66e3e8f..1b14262 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -46,6 +46,7 @@ typedef struct {
 	enum psr_mode op_psr_mode;
 	drmModeModeInfo *mode;
 	igt_output_t *output;
+	bool runtime_suspend_disabled;
 } data_t;
 
 bool dc_state_wait_entry(int drm_fd, int dc_flag, int prev_dc_count);
@@ -172,6 +173,52 @@ static void test_dc_state_psr(data_t *data, int dc_flag)
 	cleanup(data);
 }
 
+static void setup_dc_dpms(data_t *data)
+{
+	if (IS_BROXTON(data->devid) || IS_GEMINILAKE(data->devid) || IS_ICELAKE(data->devid)) {
+		data->runtime_suspend_disabled = igt_disable_runtime_pm();
+		igt_require_f(data->runtime_suspend_disabled,
+			      "unable to disable runtime pm for i915\n");
+	} else {
+		data->runtime_suspend_disabled = false;
+	}
+}
+
+static void dpms_off_on(data_t *data)
+{
+	for (int i = 0; i < data->display.n_outputs; i++) {
+		kmstest_set_connector_dpms(data->drm_fd, data->display.outputs[i].config.connector,
+					   DRM_MODE_DPMS_OFF);
+	}
+
+	if (!data->runtime_suspend_disabled)
+		igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
+
+	for (int i = 0; i < data->display.n_outputs; i++) {
+		kmstest_set_connector_dpms(data->drm_fd, data->display.outputs[i].config.connector,
+				   DRM_MODE_DPMS_ON);
+	}
+
+	if (!data->runtime_suspend_disabled)
+		igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE));
+}
+
+static void test_dc_state_dpms(data_t *data, int dc_flag)
+{
+	uint32_t dc_counter;
+
+	dc_counter = read_dc_counter(data->drm_fd, dc_flag);
+	dpms_off_on(data);
+	check_dc_counter(data->drm_fd, dc_flag, dc_counter);
+
+	/* if runtime PM is disabled for i915 restore it,
+	 * so any other sub-test can use runtime-PM. */
+	if (data->runtime_suspend_disabled) {
+		igt_restore_runtime_pm();
+		igt_setup_runtime_pm();
+	}
+}
+
 int main(int argc, char *argv[])
 {
 	bool has_runtime_pm;
@@ -208,6 +255,11 @@ int main(int argc, char *argv[])
 		test_dc_state_psr(&data, CHECK_DC6);
 	}
 
+	igt_subtest("dc5-dpms") {
+		setup_dc_dpms(&data);
+		test_dc_state_dpms(&data, CHECK_DC5);
+	}
+
 	igt_fixture {
 		close(data.debugfs_fd);
 		display_fini(&data);
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t 5/5] tests/i915/i915_pm_dc: Added test for DC6 during DPMS
  2019-03-18 12:27 ` [igt-dev] " Anshuman Gupta
@ 2019-03-18 12:27   ` Anshuman Gupta
  -1 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

Added new subtest for DC6 entry during DPMS on/off cycle.
During DPMS on/off cycle DC6 counter is incremented.

v2: Renamed the subtest name.
v3: Rebased.
v4: Addressed review comment by replacing igt_display_init() to
    igt_display_require(), changes got done in patch set 2.
v5: Addressed the review comment by removing redundant read_dc_counter()
    suggested by Imre.
    Listing actual change in patch set changelog to make review easier.
v6: Rebased due to test name pm_dc changed to i915_pm_dc, aligning to
    other PM tests.
v7: Introduced setup_dc_dpms() inorder to disable i915 runtime PM for
    the platform supports DC9.

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_dc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 1b14262..8587f92 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -260,6 +260,11 @@ int main(int argc, char *argv[])
 		test_dc_state_dpms(&data, CHECK_DC5);
 	}
 
+	igt_subtest("dc6-dpms") {
+		setup_dc_dpms(&data);
+		test_dc_state_dpms(&data, CHECK_DC6);
+	}
+
 	igt_fixture {
 		close(data.debugfs_fd);
 		display_fini(&data);
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [igt-dev] [PATCH i-g-t 5/5] tests/i915/i915_pm_dc: Added test for DC6 during DPMS
@ 2019-03-18 12:27   ` Anshuman Gupta
  0 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-03-18 12:27 UTC (permalink / raw)
  To: intel-gfx, igt-dev; +Cc: jyoti.r.yadav

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

Added new subtest for DC6 entry during DPMS on/off cycle.
During DPMS on/off cycle DC6 counter is incremented.

v2: Renamed the subtest name.
v3: Rebased.
v4: Addressed review comment by replacing igt_display_init() to
    igt_display_require(), changes got done in patch set 2.
v5: Addressed the review comment by removing redundant read_dc_counter()
    suggested by Imre.
    Listing actual change in patch set changelog to make review easier.
v6: Rebased due to test name pm_dc changed to i915_pm_dc, aligning to
    other PM tests.
v7: Introduced setup_dc_dpms() inorder to disable i915 runtime PM for
    the platform supports DC9.

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_dc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 1b14262..8587f92 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -260,6 +260,11 @@ int main(int argc, char *argv[])
 		test_dc_state_dpms(&data, CHECK_DC5);
 	}
 
+	igt_subtest("dc6-dpms") {
+		setup_dc_dpms(&data);
+		test_dc_state_dpms(&data, CHECK_DC6);
+	}
+
 	igt_fixture {
 		close(data.debugfs_fd);
 		display_fini(&data);
-- 
2.7.4

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for DC states igt tests patch series (rev6)
  2019-03-18 12:27 ` [igt-dev] " Anshuman Gupta
                   ` (5 preceding siblings ...)
  (?)
@ 2019-03-18 14:26 ` Patchwork
  -1 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2019-03-18 14:26 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: igt-dev

== Series Details ==

Series: DC states igt tests patch series (rev6)
URL   : https://patchwork.freedesktop.org/series/56713/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5765 -> IGTPW_2652
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56713/revisions/6/mbox/

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

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

### IGT changes ###

#### Suppressed ####

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

  * igt@kms_psr@primary_mmap_gtt:
    - {fi-icl-y}:         NOTRUN -> SKIP +3

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_cs_nop@sync-fork-compute0:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109315] +17

  * igt@gem_exec_basic@gtt-bsd1:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_exec_parse@basic-rejected:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109289] +1

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-icl-u3:          NOTRUN -> DMESG-WARN [fdo#109638]

  * igt@i915_selftest@live_contexts:
    - fi-icl-u3:          NOTRUN -> DMESG-FAIL [fdo#108569]

  * igt@kms_busy@basic-flip-c:
    - fi-byt-j1900:       NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chamelium@hdmi-crc-fast:
    - fi-byt-j1900:       NOTRUN -> SKIP [fdo#109271] +52

  * igt@kms_chamelium@hdmi-edid-read:
    - fi-hsw-peppy:       NOTRUN -> SKIP [fdo#109271] +46
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109284] +8

  * igt@kms_force_connector_basic@prune-stale-modes:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109285] +3

  * igt@kms_frontbuffer_tracking@basic:
    - fi-icl-u3:          NOTRUN -> FAIL [fdo#103167]
    - fi-hsw-peppy:       NOTRUN -> DMESG-FAIL [fdo#102614] / [fdo#107814]

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       PASS -> INCOMPLETE [fdo#107718]

  
#### Possible fixes ####

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - fi-bsw-kefka:       SKIP [fdo#109271] -> PASS

  * igt@i915_pm_rpm@basic-rte:
    - fi-bsw-kefka:       FAIL [fdo#108800] -> PASS

  * igt@i915_pm_rpm@module-reload:
    - fi-skl-6770hq:      FAIL [fdo#108511] -> PASS

  * igt@kms_frontbuffer_tracking@basic:
    - fi-byt-clapper:     FAIL [fdo#103167] -> PASS

  * igt@prime_vgem@basic-fence-flip:
    - fi-gdg-551:         DMESG-FAIL [fdo#103182] -> PASS

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107814]: https://bugs.freedesktop.org/show_bug.cgi?id=107814
  [fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108800]: https://bugs.freedesktop.org/show_bug.cgi?id=108800
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109294]: https://bugs.freedesktop.org/show_bug.cgi?id=109294
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109638]: https://bugs.freedesktop.org/show_bug.cgi?id=109638


Participating hosts (45 -> 41)
------------------------------

  Additional (4): fi-icl-y fi-byt-j1900 fi-hsw-peppy fi-icl-u3 
  Missing    (8): fi-kbl-soraka fi-kbl-7567u fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus 


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

    * IGT: IGT_4888 -> IGTPW_2652

  CI_DRM_5765: b9d98b738e711c5f3d6b3f6d73ad388571cfc316 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2652: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2652/
  IGT_4888: 71ad19eb8fe4f0eecae3bf063e107293b90b9abc @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@i915_pm_dc@dc5-dpms
+igt@i915_pm_dc@dc5-psr
+igt@i915_pm_dc@dc6-dpms
+igt@i915_pm_dc@dc6-psr

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2652/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ Fi.CI.IGT: failure for DC states igt tests patch series (rev6)
  2019-03-18 12:27 ` [igt-dev] " Anshuman Gupta
                   ` (6 preceding siblings ...)
  (?)
@ 2019-03-18 20:23 ` Patchwork
  2019-03-27 10:21   ` Gupta, Anshuman
  -1 siblings, 1 reply; 23+ messages in thread
From: Patchwork @ 2019-03-18 20:23 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: igt-dev

== Series Details ==

Series: DC states igt tests patch series (rev6)
URL   : https://patchwork.freedesktop.org/series/56713/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5765_full -> IGTPW_2652_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_2652_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2652_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://patchwork.freedesktop.org/api/1.0/series/56713/revisions/6/mbox/

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_tiled_swapping@non-threaded:
    - shard-hsw:          PASS -> DMESG-WARN

  * {igt@i915_pm_dc@dc5-dpms} (NEW):
    - shard-apl:          NOTRUN -> FAIL

  * {igt@i915_pm_dc@dc6-dpms} (NEW):
    - shard-kbl:          NOTRUN -> FAIL

  
New tests
---------

  New tests have been introduced between CI_DRM_5765_full and IGTPW_2652_full:

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

  * igt@i915_pm_dc@dc5-dpms:
    - Statuses : 1 fail(s) 2 pass(s) 2 skip(s)
    - Exec time: [0.0, 19.73] s

  * igt@i915_pm_dc@dc5-psr:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@i915_pm_dc@dc6-dpms:
    - Statuses : 1 fail(s) 4 skip(s)
    - Exec time: [0.0, 3.59] s

  * igt@i915_pm_dc@dc6-psr:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@bcs0-s3:
    - shard-kbl:          PASS -> INCOMPLETE [fdo#103665]

  * igt@gem_partial_pwrite_pread@writes-after-reads:
    - shard-apl:          PASS -> INCOMPLETE [fdo#103927]

  * {igt@i915_pm_dc@dc5-dpms} (NEW):
    - shard-hsw:          NOTRUN -> SKIP [fdo#109271] +3

  * {igt@i915_pm_dc@dc6-psr} (NEW):
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] +7
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] +3

  * igt@kms_atomic_transition@4x-modeset-transitions-nonblocking-fencing:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
    - shard-apl:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
    - shard-hsw:          PASS -> DMESG-WARN [fdo#107956]
    - shard-kbl:          PASS -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-pageflip-hang-newfb-render-b:
    - shard-glk:          PASS -> DMESG-WARN [fdo#107956]

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
    - shard-glk:          PASS -> FAIL [fdo#108145]

  * igt@kms_color@pipe-b-ctm-max:
    - shard-apl:          PASS -> FAIL [fdo#108147]

  * igt@kms_cursor_crc@cursor-256x256-suspend:
    - shard-apl:          PASS -> FAIL [fdo#103191] / [fdo#103232]

  * igt@kms_cursor_crc@cursor-64x64-random:
    - shard-kbl:          PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-size-change:
    - shard-apl:          PASS -> FAIL [fdo#103232] +1

  * igt@kms_flip@dpms-vs-vblank-race-interruptible:
    - shard-glk:          PASS -> FAIL [fdo#103060]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-snb:          PASS -> SKIP [fdo#109271] +2

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
    - shard-kbl:          PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-apl:          PASS -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
    - shard-glk:          PASS -> FAIL [fdo#103167] +5

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
    - shard-apl:          PASS -> FAIL [fdo#108145]

  * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
    - shard-glk:          PASS -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_psr@sprite_plane_onoff:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] +13

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-glk:          PASS -> DMESG-FAIL [fdo#105763] / [fdo#106538]

  * igt@kms_setmode@basic:
    - shard-apl:          PASS -> FAIL [fdo#99912]

  * igt@kms_universal_plane@disable-primary-vs-flip-pipe-d:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1

  * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
    - shard-kbl:          PASS -> FAIL [fdo#104894]
    - shard-apl:          PASS -> FAIL [fdo#104894]

  * igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] +28

  
#### Possible fixes ####

  * igt@kms_busy@extended-modeset-hang-newfb-render-b:
    - shard-hsw:          DMESG-WARN [fdo#107956] -> PASS +1

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
    - shard-snb:          DMESG-WARN [fdo#107956] -> PASS +1

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
    - shard-kbl:          DMESG-WARN [fdo#107956] -> PASS +1

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-glk:          FAIL [fdo#108145] -> PASS +1

  * igt@kms_cursor_crc@cursor-64x21-random:
    - shard-apl:          FAIL [fdo#103232] -> PASS +3

  * igt@kms_cursor_crc@cursor-64x64-suspend:
    - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS
    - shard-kbl:          FAIL [fdo#103191] / [fdo#103232] -> PASS

  * igt@kms_flip@blocking-absolute-wf_vblank-interruptible:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-apl:          FAIL [fdo#103167] -> PASS +3

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
    - shard-glk:          FAIL [fdo#103167] -> PASS +1
    - shard-kbl:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
    - shard-kbl:          INCOMPLETE [fdo#103665] -> PASS

  * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
    - shard-apl:          FAIL [fdo#110033] -> PASS
    - shard-kbl:          FAIL [fdo#110127] -> PASS

  * {igt@kms_plane_multiple@atomic-pipe-c-tiling-none}:
    - shard-glk:          FAIL [fdo#110037] -> PASS +1

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-kbl:          DMESG-FAIL [fdo#105763] -> PASS

  * igt@kms_vblank@pipe-c-ts-continuation-modeset:
    - shard-kbl:          FAIL [fdo#104894] -> PASS
    - shard-apl:          FAIL [fdo#104894] -> PASS

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-hsw:          FAIL [fdo#104894] -> PASS

  
#### Warnings ####

  * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
    - shard-glk:          FAIL [fdo#110098] -> SKIP [fdo#109271] / [fdo#109278]

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

  [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#110033]: https://bugs.freedesktop.org/show_bug.cgi?id=110033
  [fdo#110037]: https://bugs.freedesktop.org/show_bug.cgi?id=110037
  [fdo#110038]: https://bugs.freedesktop.org/show_bug.cgi?id=110038
  [fdo#110098]: https://bugs.freedesktop.org/show_bug.cgi?id=110098
  [fdo#110127]: https://bugs.freedesktop.org/show_bug.cgi?id=110127
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (10 -> 5)
------------------------------

  Missing    (5): shard-skl pig-hsw-4770r pig-glk-j5005 shard-iclb pig-skl-6260u 


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

    * IGT: IGT_4888 -> IGTPW_2652
    * Piglit: piglit_4509 -> None

  CI_DRM_5765: b9d98b738e711c5f3d6b3f6d73ad388571cfc316 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2652: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2652/
  IGT_4888: 71ad19eb8fe4f0eecae3bf063e107293b90b9abc @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2652/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] ✗ Fi.CI.IGT: failure for DC states igt tests patch series (rev6)
  2019-03-18 20:23 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2019-03-27 10:21   ` Gupta, Anshuman
  2019-03-27 11:12     ` Imre Deak
  0 siblings, 1 reply; 23+ messages in thread
From: Gupta, Anshuman @ 2019-03-27 10:21 UTC (permalink / raw)
  To: Deak, Imre; +Cc: igt-dev

Hi Imre ,
Few failures dc5-dpms on apl and dc6-dpms on kbl seems to be genuine 
failures, at my local setup there were no such failures on KBL and GLK.
How to proceed with these failures, shall i send a test version of 
series with debug logs for DC counters in order to move these failures
as known failures.
Thanks,
Anshuman Gupta.
On 3/19/2019 1:53 AM, Patchwork wrote:
> == Series Details ==
> 
> Series: DC states igt tests patch series (rev6)
> URL   : https://patchwork.freedesktop.org/series/56713/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_5765_full -> IGTPW_2652_full
> ====================================================
> 
> Summary
> -------
> 
>    **FAILURE**
> 
>    Serious unknown changes coming with IGTPW_2652_full absolutely need to be
>    verified manually.
>    
>    If you think the reported changes have nothing to do with the changes
>    introduced in IGTPW_2652_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://patchwork.freedesktop.org/api/1.0/series/56713/revisions/6/mbox/
> 
> Possible new issues
> -------------------
> 
>    Here are the unknown changes that may have been introduced in IGTPW_2652_full:
> 
> ### IGT changes ###
> 
> #### Possible regressions ####
> 
>    * igt@gem_tiled_swapping@non-threaded:
>      - shard-hsw:          PASS -> DMESG-WARN
> 
>    * {igt@i915_pm_dc@dc5-dpms} (NEW):
>      - shard-apl:          NOTRUN -> FAIL
> 
>    * {igt@i915_pm_dc@dc6-dpms} (NEW):
>      - shard-kbl:          NOTRUN -> FAIL
> 
>    
> New tests
> ---------
> 
>    New tests have been introduced between CI_DRM_5765_full and IGTPW_2652_full:
> 
> ### New IGT tests (4) ###
> 
>    * igt@i915_pm_dc@dc5-dpms:
>      - Statuses : 1 fail(s) 2 pass(s) 2 skip(s)
>      - Exec time: [0.0, 19.73] s
> 
>    * igt@i915_pm_dc@dc5-psr:
>      - Statuses : 4 skip(s)
>      - Exec time: [0.0] s
> 
>    * igt@i915_pm_dc@dc6-dpms:
>      - Statuses : 1 fail(s) 4 skip(s)
>      - Exec time: [0.0, 3.59] s
> 
>    * igt@i915_pm_dc@dc6-psr:
>      - Statuses : 5 skip(s)
>      - Exec time: [0.0] s
> 
>    
> 
> Known issues
> ------------
> 
>    Here are the changes found in IGTPW_2652_full that come from known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>    * igt@gem_ctx_isolation@bcs0-s3:
>      - shard-kbl:          PASS -> INCOMPLETE [fdo#103665]
> 
>    * igt@gem_partial_pwrite_pread@writes-after-reads:
>      - shard-apl:          PASS -> INCOMPLETE [fdo#103927]
> 
>    * {igt@i915_pm_dc@dc5-dpms} (NEW):
>      - shard-hsw:          NOTRUN -> SKIP [fdo#109271] +3
> 
>    * {igt@i915_pm_dc@dc6-psr} (NEW):
>      - shard-kbl:          NOTRUN -> SKIP [fdo#109271] +7
>      - shard-snb:          NOTRUN -> SKIP [fdo#109271] +3
> 
>    * igt@kms_atomic_transition@4x-modeset-transitions-nonblocking-fencing:
>      - shard-glk:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
> 
>    * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
>      - shard-apl:          NOTRUN -> DMESG-WARN [fdo#107956]
> 
>    * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
>      - shard-hsw:          PASS -> DMESG-WARN [fdo#107956]
>      - shard-kbl:          PASS -> DMESG-WARN [fdo#107956]
> 
>    * igt@kms_busy@extended-pageflip-hang-newfb-render-b:
>      - shard-glk:          PASS -> DMESG-WARN [fdo#107956]
> 
>    * igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
>      - shard-glk:          PASS -> FAIL [fdo#108145]
> 
>    * igt@kms_color@pipe-b-ctm-max:
>      - shard-apl:          PASS -> FAIL [fdo#108147]
> 
>    * igt@kms_cursor_crc@cursor-256x256-suspend:
>      - shard-apl:          PASS -> FAIL [fdo#103191] / [fdo#103232]
> 
>    * igt@kms_cursor_crc@cursor-64x64-random:
>      - shard-kbl:          PASS -> FAIL [fdo#103232] +1
> 
>    * igt@kms_cursor_crc@cursor-size-change:
>      - shard-apl:          PASS -> FAIL [fdo#103232] +1
> 
>    * igt@kms_flip@dpms-vs-vblank-race-interruptible:
>      - shard-glk:          PASS -> FAIL [fdo#103060]
> 
>    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
>      - shard-snb:          PASS -> SKIP [fdo#109271] +2
> 
>    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
>      - shard-kbl:          PASS -> FAIL [fdo#103167]
> 
>    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
>      - shard-apl:          PASS -> FAIL [fdo#103167] +2
> 
>    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
>      - shard-glk:          PASS -> FAIL [fdo#103167] +5
> 
>    * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
>      - shard-apl:          PASS -> FAIL [fdo#108145]
> 
>    * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
>      - shard-glk:          PASS -> SKIP [fdo#109271] / [fdo#109278]
> 
>    * igt@kms_psr@sprite_plane_onoff:
>      - shard-glk:          NOTRUN -> SKIP [fdo#109271] +13
> 
>    * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
>      - shard-glk:          PASS -> DMESG-FAIL [fdo#105763] / [fdo#106538]
> 
>    * igt@kms_setmode@basic:
>      - shard-apl:          PASS -> FAIL [fdo#99912]
> 
>    * igt@kms_universal_plane@disable-primary-vs-flip-pipe-d:
>      - shard-apl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1
> 
>    * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
>      - shard-kbl:          PASS -> FAIL [fdo#104894]
>      - shard-apl:          PASS -> FAIL [fdo#104894]
> 
>    * igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name:
>      - shard-apl:          NOTRUN -> SKIP [fdo#109271] +28
> 
>    
> #### Possible fixes ####
> 
>    * igt@kms_busy@extended-modeset-hang-newfb-render-b:
>      - shard-hsw:          DMESG-WARN [fdo#107956] -> PASS +1
> 
>    * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
>      - shard-snb:          DMESG-WARN [fdo#107956] -> PASS +1
> 
>    * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
>      - shard-kbl:          DMESG-WARN [fdo#107956] -> PASS +1
> 
>    * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
>      - shard-glk:          FAIL [fdo#108145] -> PASS +1
> 
>    * igt@kms_cursor_crc@cursor-64x21-random:
>      - shard-apl:          FAIL [fdo#103232] -> PASS +3
> 
>    * igt@kms_cursor_crc@cursor-64x64-suspend:
>      - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS
>      - shard-kbl:          FAIL [fdo#103191] / [fdo#103232] -> PASS
> 
>    * igt@kms_flip@blocking-absolute-wf_vblank-interruptible:
>      - shard-apl:          INCOMPLETE [fdo#103927] -> PASS
> 
>    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
>      - shard-apl:          FAIL [fdo#103167] -> PASS +3
> 
>    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
>      - shard-glk:          FAIL [fdo#103167] -> PASS +1
>      - shard-kbl:          FAIL [fdo#103167] -> PASS +1
> 
>    * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
>      - shard-kbl:          INCOMPLETE [fdo#103665] -> PASS
> 
>    * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
>      - shard-apl:          FAIL [fdo#110033] -> PASS
>      - shard-kbl:          FAIL [fdo#110127] -> PASS
> 
>    * {igt@kms_plane_multiple@atomic-pipe-c-tiling-none}:
>      - shard-glk:          FAIL [fdo#110037] -> PASS +1
> 
>    * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
>      - shard-kbl:          DMESG-FAIL [fdo#105763] -> PASS
> 
>    * igt@kms_vblank@pipe-c-ts-continuation-modeset:
>      - shard-kbl:          FAIL [fdo#104894] -> PASS
>      - shard-apl:          FAIL [fdo#104894] -> PASS
> 
>    * igt@kms_vblank@pipe-c-ts-continuation-suspend:
>      - shard-hsw:          FAIL [fdo#104894] -> PASS
> 
>    
> #### Warnings ####
> 
>    * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
>      - shard-glk:          FAIL [fdo#110098] -> SKIP [fdo#109271] / [fdo#109278]
> 
>    
>    {name}: This element is suppressed. This means it is ignored when computing
>            the status of the difference (SUCCESS, WARNING, or FAILURE).
> 
>    [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
>    [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
>    [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
>    [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
>    [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
>    [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
>    [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
>    [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
>    [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
>    [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
>    [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
>    [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
>    [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
>    [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
>    [fdo#110033]: https://bugs.freedesktop.org/show_bug.cgi?id=110033
>    [fdo#110037]: https://bugs.freedesktop.org/show_bug.cgi?id=110037
>    [fdo#110038]: https://bugs.freedesktop.org/show_bug.cgi?id=110038
>    [fdo#110098]: https://bugs.freedesktop.org/show_bug.cgi?id=110098
>    [fdo#110127]: https://bugs.freedesktop.org/show_bug.cgi?id=110127
>    [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
> 
> 
> Participating hosts (10 -> 5)
> ------------------------------
> 
>    Missing    (5): shard-skl pig-hsw-4770r pig-glk-j5005 shard-iclb pig-skl-6260u
> 
> 
> Build changes
> -------------
> 
>      * IGT: IGT_4888 -> IGTPW_2652
>      * Piglit: piglit_4509 -> None
> 
>    CI_DRM_5765: b9d98b738e711c5f3d6b3f6d73ad388571cfc316 @ git://anongit.freedesktop.org/gfx-ci/linux
>    IGTPW_2652: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2652/
>    IGT_4888: 71ad19eb8fe4f0eecae3bf063e107293b90b9abc @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>    piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
> 
> == Logs ==
> 
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2652/
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] ✗ Fi.CI.IGT: failure for DC states igt tests patch series (rev6)
  2019-03-27 10:21   ` Gupta, Anshuman
@ 2019-03-27 11:12     ` Imre Deak
  2019-03-27 16:49       ` Gupta, Anshuman
  0 siblings, 1 reply; 23+ messages in thread
From: Imre Deak @ 2019-03-27 11:12 UTC (permalink / raw)
  To: Gupta, Anshuman; +Cc: igt-dev

On Wed, Mar 27, 2019 at 03:51:20PM +0530, Gupta, Anshuman wrote:
> Hi Imre ,
> Few failures dc5-dpms on apl and dc6-dpms on kbl seems to be genuine
> failures, at my local setup there were no such failures on KBL and GLK.

For the APL fail, I can only think of the HDA driver holding a
power reference until it runtime suspends. So even if we disable runtime
PM for i915, we still need to wait for the HDA driver to runtime
suspend.

I'm not sure about the KBL failure. DC6 does get enabled, but AFAIR even
though DMC will go through its context save/restore sequence the DC6
counter will only increase if a deeper package state is actually
reached. So someone needs to check this machine (and any future machine
this CI test will run on) and make sure this deeper package state is
not blocked by some other peripheral. USB, network, SSD are likely
suspects.

> How to proceed with these failures, shall i send a test version of series
> with debug logs for DC counters in order to move these failures
> as known failures.
> Thanks,
> Anshuman Gupta.
> On 3/19/2019 1:53 AM, Patchwork wrote:
> > == Series Details ==
> > 
> > Series: DC states igt tests patch series (rev6)
> > URL   : https://patchwork.freedesktop.org/series/56713/
> > State : failure
> > 
> > == Summary ==
> > 
> > CI Bug Log - changes from CI_DRM_5765_full -> IGTPW_2652_full
> > ====================================================
> > 
> > Summary
> > -------
> > 
> >    **FAILURE**
> > 
> >    Serious unknown changes coming with IGTPW_2652_full absolutely need to be
> >    verified manually.
> >    If you think the reported changes have nothing to do with the changes
> >    introduced in IGTPW_2652_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://patchwork.freedesktop.org/api/1.0/series/56713/revisions/6/mbox/
> > 
> > Possible new issues
> > -------------------
> > 
> >    Here are the unknown changes that may have been introduced in IGTPW_2652_full:
> > 
> > ### IGT changes ###
> > 
> > #### Possible regressions ####
> > 
> >    * igt@gem_tiled_swapping@non-threaded:
> >      - shard-hsw:          PASS -> DMESG-WARN
> > 
> >    * {igt@i915_pm_dc@dc5-dpms} (NEW):
> >      - shard-apl:          NOTRUN -> FAIL
> > 
> >    * {igt@i915_pm_dc@dc6-dpms} (NEW):
> >      - shard-kbl:          NOTRUN -> FAIL
> > 
> > New tests
> > ---------
> > 
> >    New tests have been introduced between CI_DRM_5765_full and IGTPW_2652_full:
> > 
> > ### New IGT tests (4) ###
> > 
> >    * igt@i915_pm_dc@dc5-dpms:
> >      - Statuses : 1 fail(s) 2 pass(s) 2 skip(s)
> >      - Exec time: [0.0, 19.73] s
> > 
> >    * igt@i915_pm_dc@dc5-psr:
> >      - Statuses : 4 skip(s)
> >      - Exec time: [0.0] s
> > 
> >    * igt@i915_pm_dc@dc6-dpms:
> >      - Statuses : 1 fail(s) 4 skip(s)
> >      - Exec time: [0.0, 3.59] s
> > 
> >    * igt@i915_pm_dc@dc6-psr:
> >      - Statuses : 5 skip(s)
> >      - Exec time: [0.0] s
> > 
> > 
> > Known issues
> > ------------
> > 
> >    Here are the changes found in IGTPW_2652_full that come from known issues:
> > 
> > ### IGT changes ###
> > 
> > #### Issues hit ####
> > 
> >    * igt@gem_ctx_isolation@bcs0-s3:
> >      - shard-kbl:          PASS -> INCOMPLETE [fdo#103665]
> > 
> >    * igt@gem_partial_pwrite_pread@writes-after-reads:
> >      - shard-apl:          PASS -> INCOMPLETE [fdo#103927]
> > 
> >    * {igt@i915_pm_dc@dc5-dpms} (NEW):
> >      - shard-hsw:          NOTRUN -> SKIP [fdo#109271] +3
> > 
> >    * {igt@i915_pm_dc@dc6-psr} (NEW):
> >      - shard-kbl:          NOTRUN -> SKIP [fdo#109271] +7
> >      - shard-snb:          NOTRUN -> SKIP [fdo#109271] +3
> > 
> >    * igt@kms_atomic_transition@4x-modeset-transitions-nonblocking-fencing:
> >      - shard-glk:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
> > 
> >    * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
> >      - shard-apl:          NOTRUN -> DMESG-WARN [fdo#107956]
> > 
> >    * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
> >      - shard-hsw:          PASS -> DMESG-WARN [fdo#107956]
> >      - shard-kbl:          PASS -> DMESG-WARN [fdo#107956]
> > 
> >    * igt@kms_busy@extended-pageflip-hang-newfb-render-b:
> >      - shard-glk:          PASS -> DMESG-WARN [fdo#107956]
> > 
> >    * igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
> >      - shard-glk:          PASS -> FAIL [fdo#108145]
> > 
> >    * igt@kms_color@pipe-b-ctm-max:
> >      - shard-apl:          PASS -> FAIL [fdo#108147]
> > 
> >    * igt@kms_cursor_crc@cursor-256x256-suspend:
> >      - shard-apl:          PASS -> FAIL [fdo#103191] / [fdo#103232]
> > 
> >    * igt@kms_cursor_crc@cursor-64x64-random:
> >      - shard-kbl:          PASS -> FAIL [fdo#103232] +1
> > 
> >    * igt@kms_cursor_crc@cursor-size-change:
> >      - shard-apl:          PASS -> FAIL [fdo#103232] +1
> > 
> >    * igt@kms_flip@dpms-vs-vblank-race-interruptible:
> >      - shard-glk:          PASS -> FAIL [fdo#103060]
> > 
> >    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
> >      - shard-snb:          PASS -> SKIP [fdo#109271] +2
> > 
> >    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
> >      - shard-kbl:          PASS -> FAIL [fdo#103167]
> > 
> >    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
> >      - shard-apl:          PASS -> FAIL [fdo#103167] +2
> > 
> >    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
> >      - shard-glk:          PASS -> FAIL [fdo#103167] +5
> > 
> >    * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
> >      - shard-apl:          PASS -> FAIL [fdo#108145]
> > 
> >    * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
> >      - shard-glk:          PASS -> SKIP [fdo#109271] / [fdo#109278]
> > 
> >    * igt@kms_psr@sprite_plane_onoff:
> >      - shard-glk:          NOTRUN -> SKIP [fdo#109271] +13
> > 
> >    * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
> >      - shard-glk:          PASS -> DMESG-FAIL [fdo#105763] / [fdo#106538]
> > 
> >    * igt@kms_setmode@basic:
> >      - shard-apl:          PASS -> FAIL [fdo#99912]
> > 
> >    * igt@kms_universal_plane@disable-primary-vs-flip-pipe-d:
> >      - shard-apl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1
> > 
> >    * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
> >      - shard-kbl:          PASS -> FAIL [fdo#104894]
> >      - shard-apl:          PASS -> FAIL [fdo#104894]
> > 
> >    * igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name:
> >      - shard-apl:          NOTRUN -> SKIP [fdo#109271] +28
> > 
> > #### Possible fixes ####
> > 
> >    * igt@kms_busy@extended-modeset-hang-newfb-render-b:
> >      - shard-hsw:          DMESG-WARN [fdo#107956] -> PASS +1
> > 
> >    * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
> >      - shard-snb:          DMESG-WARN [fdo#107956] -> PASS +1
> > 
> >    * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
> >      - shard-kbl:          DMESG-WARN [fdo#107956] -> PASS +1
> > 
> >    * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
> >      - shard-glk:          FAIL [fdo#108145] -> PASS +1
> > 
> >    * igt@kms_cursor_crc@cursor-64x21-random:
> >      - shard-apl:          FAIL [fdo#103232] -> PASS +3
> > 
> >    * igt@kms_cursor_crc@cursor-64x64-suspend:
> >      - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS
> >      - shard-kbl:          FAIL [fdo#103191] / [fdo#103232] -> PASS
> > 
> >    * igt@kms_flip@blocking-absolute-wf_vblank-interruptible:
> >      - shard-apl:          INCOMPLETE [fdo#103927] -> PASS
> > 
> >    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
> >      - shard-apl:          FAIL [fdo#103167] -> PASS +3
> > 
> >    * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
> >      - shard-glk:          FAIL [fdo#103167] -> PASS +1
> >      - shard-kbl:          FAIL [fdo#103167] -> PASS +1
> > 
> >    * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
> >      - shard-kbl:          INCOMPLETE [fdo#103665] -> PASS
> > 
> >    * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
> >      - shard-apl:          FAIL [fdo#110033] -> PASS
> >      - shard-kbl:          FAIL [fdo#110127] -> PASS
> > 
> >    * {igt@kms_plane_multiple@atomic-pipe-c-tiling-none}:
> >      - shard-glk:          FAIL [fdo#110037] -> PASS +1
> > 
> >    * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
> >      - shard-kbl:          DMESG-FAIL [fdo#105763] -> PASS
> > 
> >    * igt@kms_vblank@pipe-c-ts-continuation-modeset:
> >      - shard-kbl:          FAIL [fdo#104894] -> PASS
> >      - shard-apl:          FAIL [fdo#104894] -> PASS
> > 
> >    * igt@kms_vblank@pipe-c-ts-continuation-suspend:
> >      - shard-hsw:          FAIL [fdo#104894] -> PASS
> > 
> > #### Warnings ####
> > 
> >    * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
> >      - shard-glk:          FAIL [fdo#110098] -> SKIP [fdo#109271] / [fdo#109278]
> > 
> >    {name}: This element is suppressed. This means it is ignored when computing
> >            the status of the difference (SUCCESS, WARNING, or FAILURE).
> > 
> >    [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
> >    [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
> >    [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
> >    [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
> >    [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
> >    [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
> >    [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
> >    [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
> >    [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
> >    [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
> >    [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
> >    [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
> >    [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
> >    [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
> >    [fdo#110033]: https://bugs.freedesktop.org/show_bug.cgi?id=110033
> >    [fdo#110037]: https://bugs.freedesktop.org/show_bug.cgi?id=110037
> >    [fdo#110038]: https://bugs.freedesktop.org/show_bug.cgi?id=110038
> >    [fdo#110098]: https://bugs.freedesktop.org/show_bug.cgi?id=110098
> >    [fdo#110127]: https://bugs.freedesktop.org/show_bug.cgi?id=110127
> >    [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
> > 
> > 
> > Participating hosts (10 -> 5)
> > ------------------------------
> > 
> >    Missing    (5): shard-skl pig-hsw-4770r pig-glk-j5005 shard-iclb pig-skl-6260u
> > 
> > 
> > Build changes
> > -------------
> > 
> >      * IGT: IGT_4888 -> IGTPW_2652
> >      * Piglit: piglit_4509 -> None
> > 
> >    CI_DRM_5765: b9d98b738e711c5f3d6b3f6d73ad388571cfc316 @ git://anongit.freedesktop.org/gfx-ci/linux
> >    IGTPW_2652: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2652/
> >    IGT_4888: 71ad19eb8fe4f0eecae3bf063e107293b90b9abc @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
> >    piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
> > 
> > == Logs ==
> > 
> > For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2652/
> > 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] ✗ Fi.CI.IGT: failure for DC states igt tests patch series (rev6)
  2019-03-27 11:12     ` Imre Deak
@ 2019-03-27 16:49       ` Gupta, Anshuman
  0 siblings, 0 replies; 23+ messages in thread
From: Gupta, Anshuman @ 2019-03-27 16:49 UTC (permalink / raw)
  To: imre.deak, jani.saarinen; +Cc: igt-dev

Hi,

On 3/27/2019 4:42 PM, Imre Deak wrote:
> On Wed, Mar 27, 2019 at 03:51:20PM +0530, Gupta, Anshuman wrote:
>> Hi Imre ,
>> Few failures dc5-dpms on apl and dc6-dpms on kbl seems to be genuine
>> failures, at my local setup there were no such failures on KBL and GLK.
> 
> For the APL fail, I can only think of the HDA driver holding a
> power reference until it runtime suspends. So even if we disable runtime
> PM for i915, we still need to wait for the HDA driver to runtime
> suspend.
> 
> I'm not sure about the KBL failure. DC6 does get enabled, but AFAIR even
> though DMC will go through its context save/restore sequence the DC6
> counter will only increase if a deeper package state is actually
> reached. So someone needs to check this machine (and any future machine
> this CI test will run on) and make sure this deeper package state is
> not blocked by some other peripheral. USB, network, SSD are likely
> suspects.
PC8+ residency test failure also observed on KBL.
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2709/shard-kbl5/igt@i915_pm_rpm@pc8-residency.html 

>Jani,
Whom to reach out to make sure KBL CI machine and other ICL,SKL
reaches deeper package states.
Thanks,
Anshuman Gupta.
>> How to proceed with these failures, shall i send a test version of series
>> with debug logs for DC counters in order to move these failures
>> as known failures.
>> Thanks,
>> Anshuman Gupta.
>> On 3/19/2019 1:53 AM, Patchwork wrote:
>>> == Series Details ==
>>>
>>> Series: DC states igt tests patch series (rev6)
>>> URL   : https://patchwork.freedesktop.org/series/56713/
>>> State : failure
>>>
>>> == Summary ==
>>>
>>> CI Bug Log - changes from CI_DRM_5765_full -> IGTPW_2652_full
>>> ====================================================
>>>
>>> Summary
>>> -------
>>>
>>>     **FAILURE**
>>>
>>>     Serious unknown changes coming with IGTPW_2652_full absolutely need to be
>>>     verified manually.
>>>     If you think the reported changes have nothing to do with the changes
>>>     introduced in IGTPW_2652_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://patchwork.freedesktop.org/api/1.0/series/56713/revisions/6/mbox/
>>>
>>> Possible new issues
>>> -------------------
>>>
>>>     Here are the unknown changes that may have been introduced in IGTPW_2652_full:
>>>
>>> ### IGT changes ###
>>>
>>> #### Possible regressions ####
>>>
>>>     * igt@gem_tiled_swapping@non-threaded:
>>>       - shard-hsw:          PASS -> DMESG-WARN
>>>
>>>     * {igt@i915_pm_dc@dc5-dpms} (NEW):
>>>       - shard-apl:          NOTRUN -> FAIL
>>>
>>>     * {igt@i915_pm_dc@dc6-dpms} (NEW):
>>>       - shard-kbl:          NOTRUN -> FAIL
>>>
>>> New tests
>>> ---------
>>>
>>>     New tests have been introduced between CI_DRM_5765_full and IGTPW_2652_full:
>>>
>>> ### New IGT tests (4) ###
>>>
>>>     * igt@i915_pm_dc@dc5-dpms:
>>>       - Statuses : 1 fail(s) 2 pass(s) 2 skip(s)
>>>       - Exec time: [0.0, 19.73] s
>>>
>>>     * igt@i915_pm_dc@dc5-psr:
>>>       - Statuses : 4 skip(s)
>>>       - Exec time: [0.0] s
>>>
>>>     * igt@i915_pm_dc@dc6-dpms:
>>>       - Statuses : 1 fail(s) 4 skip(s)
>>>       - Exec time: [0.0, 3.59] s
>>>
>>>     * igt@i915_pm_dc@dc6-psr:
>>>       - Statuses : 5 skip(s)
>>>       - Exec time: [0.0] s
>>>
>>>
>>> Known issues
>>> ------------
>>>
>>>     Here are the changes found in IGTPW_2652_full that come from known issues:
>>>
>>> ### IGT changes ###
>>>
>>> #### Issues hit ####
>>>
>>>     * igt@gem_ctx_isolation@bcs0-s3:
>>>       - shard-kbl:          PASS -> INCOMPLETE [fdo#103665]
>>>
>>>     * igt@gem_partial_pwrite_pread@writes-after-reads:
>>>       - shard-apl:          PASS -> INCOMPLETE [fdo#103927]
>>>
>>>     * {igt@i915_pm_dc@dc5-dpms} (NEW):
>>>       - shard-hsw:          NOTRUN -> SKIP [fdo#109271] +3
>>>
>>>     * {igt@i915_pm_dc@dc6-psr} (NEW):
>>>       - shard-kbl:          NOTRUN -> SKIP [fdo#109271] +7
>>>       - shard-snb:          NOTRUN -> SKIP [fdo#109271] +3
>>>
>>>     * igt@kms_atomic_transition@4x-modeset-transitions-nonblocking-fencing:
>>>       - shard-glk:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
>>>
>>>     * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
>>>       - shard-apl:          NOTRUN -> DMESG-WARN [fdo#107956]
>>>
>>>     * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
>>>       - shard-hsw:          PASS -> DMESG-WARN [fdo#107956]
>>>       - shard-kbl:          PASS -> DMESG-WARN [fdo#107956]
>>>
>>>     * igt@kms_busy@extended-pageflip-hang-newfb-render-b:
>>>       - shard-glk:          PASS -> DMESG-WARN [fdo#107956]
>>>
>>>     * igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
>>>       - shard-glk:          PASS -> FAIL [fdo#108145]
>>>
>>>     * igt@kms_color@pipe-b-ctm-max:
>>>       - shard-apl:          PASS -> FAIL [fdo#108147]
>>>
>>>     * igt@kms_cursor_crc@cursor-256x256-suspend:
>>>       - shard-apl:          PASS -> FAIL [fdo#103191] / [fdo#103232]
>>>
>>>     * igt@kms_cursor_crc@cursor-64x64-random:
>>>       - shard-kbl:          PASS -> FAIL [fdo#103232] +1
>>>
>>>     * igt@kms_cursor_crc@cursor-size-change:
>>>       - shard-apl:          PASS -> FAIL [fdo#103232] +1
>>>
>>>     * igt@kms_flip@dpms-vs-vblank-race-interruptible:
>>>       - shard-glk:          PASS -> FAIL [fdo#103060]
>>>
>>>     * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
>>>       - shard-snb:          PASS -> SKIP [fdo#109271] +2
>>>
>>>     * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
>>>       - shard-kbl:          PASS -> FAIL [fdo#103167]
>>>
>>>     * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
>>>       - shard-apl:          PASS -> FAIL [fdo#103167] +2
>>>
>>>     * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
>>>       - shard-glk:          PASS -> FAIL [fdo#103167] +5
>>>
>>>     * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
>>>       - shard-apl:          PASS -> FAIL [fdo#108145]
>>>
>>>     * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
>>>       - shard-glk:          PASS -> SKIP [fdo#109271] / [fdo#109278]
>>>
>>>     * igt@kms_psr@sprite_plane_onoff:
>>>       - shard-glk:          NOTRUN -> SKIP [fdo#109271] +13
>>>
>>>     * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
>>>       - shard-glk:          PASS -> DMESG-FAIL [fdo#105763] / [fdo#106538]
>>>
>>>     * igt@kms_setmode@basic:
>>>       - shard-apl:          PASS -> FAIL [fdo#99912]
>>>
>>>     * igt@kms_universal_plane@disable-primary-vs-flip-pipe-d:
>>>       - shard-apl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1
>>>
>>>     * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
>>>       - shard-kbl:          PASS -> FAIL [fdo#104894]
>>>       - shard-apl:          PASS -> FAIL [fdo#104894]
>>>
>>>     * igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name:
>>>       - shard-apl:          NOTRUN -> SKIP [fdo#109271] +28
>>>
>>> #### Possible fixes ####
>>>
>>>     * igt@kms_busy@extended-modeset-hang-newfb-render-b:
>>>       - shard-hsw:          DMESG-WARN [fdo#107956] -> PASS +1
>>>
>>>     * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
>>>       - shard-snb:          DMESG-WARN [fdo#107956] -> PASS +1
>>>
>>>     * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
>>>       - shard-kbl:          DMESG-WARN [fdo#107956] -> PASS +1
>>>
>>>     * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
>>>       - shard-glk:          FAIL [fdo#108145] -> PASS +1
>>>
>>>     * igt@kms_cursor_crc@cursor-64x21-random:
>>>       - shard-apl:          FAIL [fdo#103232] -> PASS +3
>>>
>>>     * igt@kms_cursor_crc@cursor-64x64-suspend:
>>>       - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS
>>>       - shard-kbl:          FAIL [fdo#103191] / [fdo#103232] -> PASS
>>>
>>>     * igt@kms_flip@blocking-absolute-wf_vblank-interruptible:
>>>       - shard-apl:          INCOMPLETE [fdo#103927] -> PASS
>>>
>>>     * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
>>>       - shard-apl:          FAIL [fdo#103167] -> PASS +3
>>>
>>>     * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
>>>       - shard-glk:          FAIL [fdo#103167] -> PASS +1
>>>       - shard-kbl:          FAIL [fdo#103167] -> PASS +1
>>>
>>>     * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
>>>       - shard-kbl:          INCOMPLETE [fdo#103665] -> PASS
>>>
>>>     * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
>>>       - shard-apl:          FAIL [fdo#110033] -> PASS
>>>       - shard-kbl:          FAIL [fdo#110127] -> PASS
>>>
>>>     * {igt@kms_plane_multiple@atomic-pipe-c-tiling-none}:
>>>       - shard-glk:          FAIL [fdo#110037] -> PASS +1
>>>
>>>     * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
>>>       - shard-kbl:          DMESG-FAIL [fdo#105763] -> PASS
>>>
>>>     * igt@kms_vblank@pipe-c-ts-continuation-modeset:
>>>       - shard-kbl:          FAIL [fdo#104894] -> PASS
>>>       - shard-apl:          FAIL [fdo#104894] -> PASS
>>>
>>>     * igt@kms_vblank@pipe-c-ts-continuation-suspend:
>>>       - shard-hsw:          FAIL [fdo#104894] -> PASS
>>>
>>> #### Warnings ####
>>>
>>>     * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
>>>       - shard-glk:          FAIL [fdo#110098] -> SKIP [fdo#109271] / [fdo#109278]
>>>
>>>     {name}: This element is suppressed. This means it is ignored when computing
>>>             the status of the difference (SUCCESS, WARNING, or FAILURE).
>>>
>>>     [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
>>>     [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
>>>     [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
>>>     [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
>>>     [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
>>>     [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
>>>     [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
>>>     [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
>>>     [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
>>>     [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
>>>     [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
>>>     [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
>>>     [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
>>>     [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
>>>     [fdo#110033]: https://bugs.freedesktop.org/show_bug.cgi?id=110033
>>>     [fdo#110037]: https://bugs.freedesktop.org/show_bug.cgi?id=110037
>>>     [fdo#110038]: https://bugs.freedesktop.org/show_bug.cgi?id=110038
>>>     [fdo#110098]: https://bugs.freedesktop.org/show_bug.cgi?id=110098
>>>     [fdo#110127]: https://bugs.freedesktop.org/show_bug.cgi?id=110127
>>>     [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
>>>
>>>
>>> Participating hosts (10 -> 5)
>>> ------------------------------
>>>
>>>     Missing    (5): shard-skl pig-hsw-4770r pig-glk-j5005 shard-iclb pig-skl-6260u
>>>
>>>
>>> Build changes
>>> -------------
>>>
>>>       * IGT: IGT_4888 -> IGTPW_2652
>>>       * Piglit: piglit_4509 -> None
>>>
>>>     CI_DRM_5765: b9d98b738e711c5f3d6b3f6d73ad388571cfc316 @ git://anongit.freedesktop.org/gfx-ci/linux
>>>     IGTPW_2652: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2652/
>>>     IGT_4888: 71ad19eb8fe4f0eecae3bf063e107293b90b9abc @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>>>     piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
>>>
>>> == Logs ==
>>>
>>> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2652/
>>>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9
  2019-03-18 12:27 ` [igt-dev] " Anshuman Gupta
                   ` (7 preceding siblings ...)
  (?)
@ 2019-04-09  9:36 ` Anshuman Gupta
  2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 1/5] lib/igt_pm: igt lib helper routines to support DC5/6 tests Anshuman Gupta
                     ` (4 more replies)
  -1 siblings, 5 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-04-09  9:36 UTC (permalink / raw)
  To: igt-dev

This patch series adds new tests to validate Display C states.
DC states like DC5 and DC6 are validated during PSR entry/exit and during DPMS on/off cycle.

Sending new revision of patch series after addressing review comments and other relevant changes.

1. Changing the name of test from "pm_dc" to "i915_pm_dc" alinged to other PM tests.
2. Changing the DC5/6 counter check timeout from 1 sec to 3 sec,
   as in case of PSR  it requires more than 2 second to disable DC
   power wells after vblank event.
3. Changed the test name from tests/pm_dc to tests tests/i915/i915_pm_dc in
   name of individual patch.
4. Addressed the review comment by saving POWER_DIR values in igt_disable_runtime_pm().
5. CI fixures for dc5-dpms failure. 
   Checking DC5 counter value after DPMS off, broke the dpms_on_off
   function to dpms_on and dpms_off.

Jyoti Yadav (5):
  lib/igt_pm: igt lib helper routines to support DC5/6 tests
  tests/i915/i915_pm_dc: Added new test to verify Display C States
  tests/i915/i915_pm_dc: Added test for DC6 during PSR
  tests/i915/i915_pm_dc: Added test for DC5 during DPMS
  tests/i915/i915_pm_dc: Added test for DC6 during DPMS

 lib/igt_pm.c             |  83 ++++++++++++++
 lib/igt_pm.h             |   2 +
 tests/Makefile.sources   |   3 +
 tests/i915/i915_pm_dc.c  | 285 +++++++++++++++++++++++++++++++++++++++++++++++
 tests/i915/i915_pm_rpm.c |  17 +--
 tests/meson.build        |   1 +
 6 files changed, 375 insertions(+), 16 deletions(-)
 create mode 100644 tests/i915/i915_pm_dc.c

-- 
2.7.4

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

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

* [igt-dev] [PATCH i-g-t v9 1/5] lib/igt_pm: igt lib helper routines to support DC5/6 tests
  2019-04-09  9:36 ` [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9 Anshuman Gupta
@ 2019-04-09  9:36   ` Anshuman Gupta
  2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 3/5] tests/i915/i915_pm_dc: Added test for DC6 during PSR Anshuman Gupta
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-04-09  9:36 UTC (permalink / raw)
  To: igt-dev; +Cc: Jyoti Yadav

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

dmc_loaded() will be used by new test i915_pm_dc.c which will validate
Display C States. So moving the same to igt_pm library.
Introduced igt_disable_runtime_pm() in order to disable runtime suspend
for the function which support dc9.

v2: Simplify the comment section.
v3: Remove . from the subject line.
v4: Rebased, resolve conflicts in pm_rpm.c
    Included patch set version change log.
v5: Listing actual change in patch set changelog to make review easier.
v6: igt's lib added support for disabling runtime suspend,
    change in commit log. rebased due to test name pm_rpm changed
    to i915_pm_rpm.
v7: Addressed review comment by saving POWER_DIR values in
    igt_disable_runtime_pm(). [Imre]

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 lib/igt_pm.c             | 83 ++++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_pm.h             |  2 ++
 tests/i915/i915_pm_rpm.c | 17 +---------
 3 files changed, 86 insertions(+), 16 deletions(-)

diff --git a/lib/igt_pm.c b/lib/igt_pm.c
index fd22273..6539428 100644
--- a/lib/igt_pm.c
+++ b/lib/igt_pm.c
@@ -38,6 +38,7 @@
 #include "drmtest.h"
 #include "igt_pm.h"
 #include "igt_aux.h"
+#include "igt_sysfs.h"
 
 /**
  * SECTION:igt_pm
@@ -585,6 +586,61 @@ bool igt_setup_runtime_pm(void)
 	return true;
 }
 
+bool igt_disable_runtime_pm(void)
+{
+	int fd;
+	ssize_t size;
+	char buf[6];
+
+	if (pm_status_fd < 0) {
+		fd = open(POWER_DIR "/autosuspend_delay_ms", O_RDWR);
+		if (fd < 0)
+			return false;
+
+		size = read(fd, __igt_pm_runtime_autosuspend,
+			    sizeof(__igt_pm_runtime_autosuspend));
+
+		if (size <= 0) {
+			close(fd);
+			return false;
+		}
+
+		strchomp(__igt_pm_runtime_autosuspend);
+		igt_install_exit_handler(__igt_pm_runtime_exit_handler);
+		close(fd);
+	}
+
+	/* We know we support runtime PM, let's try to disable it now. */
+	fd = open(POWER_DIR "/control", O_RDWR);
+	igt_assert_f(fd >= 0, "Can't open " POWER_DIR "/control\n");
+
+	if (pm_status_fd < 0) {
+		igt_assert(read(fd, __igt_pm_runtime_control,
+				sizeof(__igt_pm_runtime_control)) > 0);
+		strchomp(__igt_pm_runtime_control);
+
+		igt_debug("Saved runtime power management as '%s' and '%s'\n",
+			  __igt_pm_runtime_autosuspend,
+			  __igt_pm_runtime_control);
+	}
+
+	size = write(fd, "on\n", 3);
+	igt_assert(size == 3);
+	lseek(fd, 0, SEEK_SET);
+	size = read(fd, buf, ARRAY_SIZE(buf));
+	igt_assert(size == 3);
+	igt_assert(strncmp(buf, "on\n", 3) == 0);
+	close(fd);
+
+	if (pm_status_fd < 0) {
+		pm_status_fd = open(POWER_DIR "/runtime_status", O_RDONLY);
+		igt_assert_f(pm_status_fd >= 0,
+			     "Can't open " POWER_DIR "/runtime_status\n");
+	}
+
+	return true;
+}
+
 /**
  * igt_get_runtime_pm_status:
  *
@@ -628,3 +684,30 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status)
 {
 	return igt_wait(igt_get_runtime_pm_status() == status, 10000, 100);
 }
+
+/**
+ * dmc_loaded:
+ * @debugfs: fd to the debugfs dir.
+
+ * Check whether DMC FW is loaded or not. DMC FW is require for few Display C
+ * states like DC5 and DC6. FW does the Context Save and Restore during Display
+ * C States entry and exit.
+ *
+ * Returns:
+ * True if DMC FW is loaded otherwise false.
+ */
+bool igt_pm_dmc_loaded(int debugfs)
+{
+	igt_require(debugfs != -1);
+	char buf[15];
+	int len;
+
+	len = igt_sysfs_read(debugfs, "i915_dmc_info", buf, sizeof(buf) - 1);
+	if (len < 0)
+		return true; /* no CSR support, no DMC requirement */
+
+	buf[len] = '\0';
+
+	igt_info("DMC: %s\n", buf);
+	return strstr(buf, "fw loaded: yes");
+}
diff --git a/lib/igt_pm.h b/lib/igt_pm.h
index 10cc679..6c4617a 100644
--- a/lib/igt_pm.h
+++ b/lib/igt_pm.h
@@ -47,8 +47,10 @@ enum igt_runtime_pm_status {
 };
 
 bool igt_setup_runtime_pm(void);
+bool igt_disable_runtime_pm(void);
 void igt_restore_runtime_pm(void);
 enum igt_runtime_pm_status igt_get_runtime_pm_status(void);
 bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
+bool igt_pm_dmc_loaded(int debugfs);
 
 #endif /* IGT_PM_H */
diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
index a2c9d0e..0c3b4e5 100644
--- a/tests/i915/i915_pm_rpm.c
+++ b/tests/i915/i915_pm_rpm.c
@@ -710,21 +710,6 @@ static void setup_pc8(void)
 	has_pc8 = true;
 }
 
-static bool dmc_loaded(void)
-{
-	char buf[15];
-	int len;
-
-	len = igt_sysfs_read(debugfs, "i915_dmc_info", buf, sizeof(buf) - 1);
-	if (len < 0)
-	    return true; /* no CSR support, no DMC requirement */
-
-	buf[len] = '\0';
-
-	igt_info("DMC: %s\n", buf);
-	return strstr(buf, "fw loaded: yes");
-}
-
 static void dump_file(int dir, const char *filename)
 {
 	char *contents;
@@ -759,7 +744,7 @@ static bool setup_environment(void)
 	igt_info("Runtime PM support: %d\n", has_runtime_pm);
 	igt_info("PC8 residency support: %d\n", has_pc8);
 	igt_require(has_runtime_pm);
-	igt_require(dmc_loaded());
+	igt_require(igt_pm_dmc_loaded(debugfs));
 
 out:
 	disable_all_screens(&ms_data);
-- 
2.7.4

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

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

* [igt-dev] [PATCH i-g-t v9 3/5] tests/i915/i915_pm_dc: Added test for DC6 during PSR
  2019-04-09  9:36 ` [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9 Anshuman Gupta
  2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 1/5] lib/igt_pm: igt lib helper routines to support DC5/6 tests Anshuman Gupta
@ 2019-04-09  9:36   ` Anshuman Gupta
  2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 4/5] tests/i915/i915_pm_dc: Added test for DC5 during DPMS Anshuman Gupta
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-04-09  9:36 UTC (permalink / raw)
  To: igt-dev; +Cc: Jyoti Yadav

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

This patch add subtest to check DC6 entry on PSR for the supported
platforms.

v2: Rename the subtest with more meaningful name.
v3: Rebased.
v4: Rebased, to fix compilation error in psr_enable().
    Addressed review comment by fixing typo in comment description
    of DC6 PSR subtest.
v5: Addressed the review comment by removing redundant read_dc_counter(),
    clubbed cleanup() function in test_dc_state_psr() suggested by Imre.
    Listing actual change in patch set changelog to make review easier.
v6: Rebased due to test name pm_dc changed to i915_pm_dc, aligning to
    other PM tests.

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_dc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 6c2b4c1..c458b1e 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -201,6 +201,14 @@ int main(int argc, char *argv[])
 		test_dc_state_psr(&data, CHECK_DC5);
 	}
 
+	igt_subtest("dc6-psr") {
+		data.op_psr_mode = PSR_MODE_1;
+		psr_enable(data.debugfs_fd, data.op_psr_mode);
+		igt_require_f(edp_psr_sink_support(&data),
+			      "Sink does not support PSR\n");
+		test_dc_state_psr(&data, CHECK_DC6);
+	}
+
 	igt_fixture {
 		close(data.debugfs_fd);
 		display_fini(&data);
-- 
2.7.4

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

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

* [igt-dev] [PATCH i-g-t v9 4/5] tests/i915/i915_pm_dc: Added test for DC5 during DPMS
  2019-04-09  9:36 ` [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9 Anshuman Gupta
  2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 1/5] lib/igt_pm: igt lib helper routines to support DC5/6 tests Anshuman Gupta
  2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 3/5] tests/i915/i915_pm_dc: Added test for DC6 during PSR Anshuman Gupta
@ 2019-04-09  9:36   ` Anshuman Gupta
  2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 5/5] tests/i915/i915_pm_dc: Added test for DC6 " Anshuman Gupta
  2019-04-11  8:40   ` [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9 Gupta, Anshuman
  4 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-04-09  9:36 UTC (permalink / raw)
  To: igt-dev; +Cc: Jyoti Yadav

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

Added new subtest for DC5 entry during DPMS on/off cycle.
During DPMS on/off cycle DC5 counter is incremented.

v2: Rename the subtest with meaningful name.
v3: Rebased.
v4: Addressed review comments by removing leftover code
    cleanup().
v5: Addressed the review comment by removing redundant
    read_dc_counter() suggested by Imre.
    Listing actual change in patch set changelog to make review easier.
v6: Three way patch applied, no functional change.
v7: Disabling runtime suspend for the platform which support, DC9.
    rebased due to test name pm_dc changed to i915_pm_dc, aligning to
    other PM tests.
v8: Introduced setup_dc_dpms() in order to disable runtime pm, restoring
    POWER_DIR values to its original and enabling runtime pm  for other
    followed sub-tests.
v9: Check DC5 counter value after DPMS off, broke the dpms_on_off
    function to dpms_on and dpms_off. [Imre]

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_dc.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index c458b1e..338ed70 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -46,6 +46,7 @@ typedef struct {
 	enum psr_mode op_psr_mode;
 	drmModeModeInfo *mode;
 	igt_output_t *output;
+	bool runtime_suspend_disabled;
 } data_t;
 
 bool dc_state_wait_entry(int drm_fd, int dc_flag, int prev_dc_count);
@@ -173,6 +174,62 @@ static void test_dc_state_psr(data_t *data, int dc_flag)
 	cleanup(data);
 }
 
+static void setup_dc_dpms(data_t *data)
+{
+	if (IS_BROXTON(data->devid) || IS_GEMINILAKE(data->devid) ||
+		IS_ICELAKE(data->devid)) {
+		data->runtime_suspend_disabled = igt_disable_runtime_pm();
+		igt_require_f(data->runtime_suspend_disabled,
+			      "unable to disable runtime pm for i915\n");
+	} else {
+		data->runtime_suspend_disabled = false;
+	}
+}
+
+static void dpms_off(data_t *data)
+{
+	for (int i = 0; i < data->display.n_outputs; i++) {
+		kmstest_set_connector_dpms(data->drm_fd,
+					   data->display.outputs[i].config.connector,
+					   DRM_MODE_DPMS_OFF);
+	}
+
+	if (!data->runtime_suspend_disabled)
+		igt_assert(igt_wait_for_pm_status
+			   (IGT_RUNTIME_PM_STATUS_SUSPENDED));
+}
+
+static void dpms_on(data_t *data)
+{
+	for (int i = 0; i < data->display.n_outputs; i++) {
+		kmstest_set_connector_dpms(data->drm_fd,
+					   data->display.outputs[i].config.connector,
+					   DRM_MODE_DPMS_ON);
+	}
+
+	if (!data->runtime_suspend_disabled)
+		igt_assert(igt_wait_for_pm_status
+			   (IGT_RUNTIME_PM_STATUS_ACTIVE));
+}
+
+static void test_dc_state_dpms(data_t *data, int dc_flag)
+{
+	uint32_t dc_counter;
+
+	dc_counter = read_dc_counter(data->drm_fd, dc_flag);
+	dpms_off(data);
+	check_dc_counter(data->drm_fd, dc_flag, dc_counter);
+	dpms_on(data);
+
+	/* if runtime PM is disabled for i915 restore it,
+	 * so any other sub-test can use runtime-PM.
+	 */
+	if (data->runtime_suspend_disabled) {
+		igt_restore_runtime_pm();
+		igt_setup_runtime_pm();
+	}
+}
+
 int main(int argc, char *argv[])
 {
 	bool has_runtime_pm;
@@ -209,6 +266,11 @@ int main(int argc, char *argv[])
 		test_dc_state_psr(&data, CHECK_DC6);
 	}
 
+	igt_subtest("dc5-dpms") {
+		setup_dc_dpms(&data);
+		test_dc_state_dpms(&data, CHECK_DC5);
+	}
+
 	igt_fixture {
 		close(data.debugfs_fd);
 		display_fini(&data);
-- 
2.7.4

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

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

* [igt-dev] [PATCH i-g-t v9 5/5] tests/i915/i915_pm_dc: Added test for DC6 during DPMS
  2019-04-09  9:36 ` [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9 Anshuman Gupta
                     ` (2 preceding siblings ...)
  2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 4/5] tests/i915/i915_pm_dc: Added test for DC5 during DPMS Anshuman Gupta
@ 2019-04-09  9:36   ` Anshuman Gupta
  2019-04-11  8:40   ` [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9 Gupta, Anshuman
  4 siblings, 0 replies; 23+ messages in thread
From: Anshuman Gupta @ 2019-04-09  9:36 UTC (permalink / raw)
  To: igt-dev; +Cc: Jyoti Yadav

From: Jyoti Yadav <jyoti.r.yadav@intel.com>

Added new subtest for DC6 entry during DPMS on/off cycle.
During DPMS on/off cycle DC6 counter is incremented.

v2: Renamed the subtest name.
v3: Rebased.
v4: Addressed review comment by replacing igt_display_init() to
    igt_display_require(), changes got done in patch set 2.
v5: Addressed the review comment by removing redundant read_dc_counter()
    suggested by Imre.
    Listing actual change in patch set changelog to make review easier.
v6: Rebased due to test name pm_dc changed to i915_pm_dc, aligning to
    other PM tests.
v7: Introduced setup_dc_dpms() inorder to disable i915 runtime PM for
    the platform supports DC9.

Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/i915/i915_pm_dc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 338ed70..1a210df 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -271,6 +271,11 @@ int main(int argc, char *argv[])
 		test_dc_state_dpms(&data, CHECK_DC5);
 	}
 
+	igt_subtest("dc6-dpms") {
+		setup_dc_dpms(&data);
+		test_dc_state_dpms(&data, CHECK_DC6);
+	}
+
 	igt_fixture {
 		close(data.debugfs_fd);
 		display_fini(&data);
-- 
2.7.4

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

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

* Re: [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9
  2019-04-09  9:36 ` [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9 Anshuman Gupta
                     ` (3 preceding siblings ...)
  2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 5/5] tests/i915/i915_pm_dc: Added test for DC6 " Anshuman Gupta
@ 2019-04-11  8:40   ` Gupta, Anshuman
  4 siblings, 0 replies; 23+ messages in thread
From: Gupta, Anshuman @ 2019-04-11  8:40 UTC (permalink / raw)
  To: igt-dev

Need to resend this series, as patchwork 
https://patchwork.freedesktop.org/series/56713/
is not updated with this series. please ignore this one.

On 4/9/2019 3:06 PM, Anshuman Gupta wrote:
> This patch series adds new tests to validate Display C states.
> DC states like DC5 and DC6 are validated during PSR entry/exit and during DPMS on/off cycle.
> 
> Sending new revision of patch series after addressing review comments and other relevant changes.
> 
> 1. Changing the name of test from "pm_dc" to "i915_pm_dc" alinged to other PM tests.
> 2. Changing the DC5/6 counter check timeout from 1 sec to 3 sec,
>     as in case of PSR  it requires more than 2 second to disable DC
>     power wells after vblank event.
> 3. Changed the test name from tests/pm_dc to tests tests/i915/i915_pm_dc in
>     name of individual patch.
> 4. Addressed the review comment by saving POWER_DIR values in igt_disable_runtime_pm().
> 5. CI fixures for dc5-dpms failure.
>     Checking DC5 counter value after DPMS off, broke the dpms_on_off
>     function to dpms_on and dpms_off.
> 
> Jyoti Yadav (5):
>    lib/igt_pm: igt lib helper routines to support DC5/6 tests
>    tests/i915/i915_pm_dc: Added new test to verify Display C States
>    tests/i915/i915_pm_dc: Added test for DC6 during PSR
>    tests/i915/i915_pm_dc: Added test for DC5 during DPMS
>    tests/i915/i915_pm_dc: Added test for DC6 during DPMS
> 
>   lib/igt_pm.c             |  83 ++++++++++++++
>   lib/igt_pm.h             |   2 +
>   tests/Makefile.sources   |   3 +
>   tests/i915/i915_pm_dc.c  | 285 +++++++++++++++++++++++++++++++++++++++++++++++
>   tests/i915/i915_pm_rpm.c |  17 +--
>   tests/meson.build        |   1 +
>   6 files changed, 375 insertions(+), 16 deletions(-)
>   create mode 100644 tests/i915/i915_pm_dc.c
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-04-11  8:40 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-18 12:27 [PATCH i-g-t 0/5] DC states igt tests patch series v9 Anshuman Gupta
2019-03-18 12:27 ` [igt-dev] " Anshuman Gupta
2019-03-18 12:27 ` [PATCH i-g-t 1/5] lib/igt_pm: igt lib helper routines to support DC5/6 tests Anshuman Gupta
2019-03-18 12:27   ` [igt-dev] " Anshuman Gupta
2019-03-18 12:27 ` [PATCH i-g-t 2/5] tests/i915/i915_pm_dc: Added new test to verify Display C States Anshuman Gupta
2019-03-18 12:27   ` [igt-dev] " Anshuman Gupta
2019-03-18 12:27 ` [PATCH i-g-t 3/5] tests/i915/i915_pm_dc: Added test for DC6 during PSR Anshuman Gupta
2019-03-18 12:27   ` [Intel-gfx] " Anshuman Gupta
2019-03-18 12:27 ` [PATCH i-g-t 4/5] tests/i915/i915_pm_dc: Added test for DC5 during DPMS Anshuman Gupta
2019-03-18 12:27   ` [Intel-gfx] " Anshuman Gupta
2019-03-18 12:27 ` [PATCH i-g-t 5/5] tests/i915/i915_pm_dc: Added test for DC6 " Anshuman Gupta
2019-03-18 12:27   ` [igt-dev] " Anshuman Gupta
2019-03-18 14:26 ` [igt-dev] ✓ Fi.CI.BAT: success for DC states igt tests patch series (rev6) Patchwork
2019-03-18 20:23 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2019-03-27 10:21   ` Gupta, Anshuman
2019-03-27 11:12     ` Imre Deak
2019-03-27 16:49       ` Gupta, Anshuman
2019-04-09  9:36 ` [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9 Anshuman Gupta
2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 1/5] lib/igt_pm: igt lib helper routines to support DC5/6 tests Anshuman Gupta
2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 3/5] tests/i915/i915_pm_dc: Added test for DC6 during PSR Anshuman Gupta
2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 4/5] tests/i915/i915_pm_dc: Added test for DC5 during DPMS Anshuman Gupta
2019-04-09  9:36   ` [igt-dev] [PATCH i-g-t v9 5/5] tests/i915/i915_pm_dc: Added test for DC6 " Anshuman Gupta
2019-04-11  8:40   ` [igt-dev] [PATCH i-g-t v9 0/5] DC states igt tests patch series v9 Gupta, Anshuman

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.