All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 00/14] PSR test improvements
@ 2018-05-09 17:37 Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 01/14] tests/psr: Print the reason for skipping when sink lacks PSR support Dhinakaran Pandiyan
                   ` (16 more replies)
  0 siblings, 17 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

I have separated out this series to only contain optimizations and minor
fixes. The rest of the original series that switches PSR tests to use
timestamps will be posted after this is merged.

Dhinakaran Pandiyan (14):
  tests/psr: Print the reason for skipping when sink lacks PSR support
  tests/psr: Remove "psr_" prefix from basic and drrs subtests
  tests/psr: Rename psr_active() to psr_enabled()
  tests/psr: Store the debugfs file descriptor
  tests/psr: Assert sink CRC length and make use of igt_sysfs_read()
  tests/psr: Optimize check for green frame.
  tests/psr: Kill MMAP_GTT_WAITING
  tests/psr: Merge PSR dpms and suspend variants.
  tests/psr: Remove delay between dpms toggle.
  tests/psr: Check for drrs status only after checking for PSR
  tests/sink_crc_basic: Debug print CRC values
  tests/psr: Get rid of global variable running_with_psr_disabled
  tests/psr: Eliminate storing pointers for igt_plane_type.
  tests/psr: Pass data_t pointer to dpms_off_on


Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>

 tests/intel-ci/fast-feedback.testlist |   2 +-
 tests/kms_psr_sink_crc.c              | 220 +++++++++++-----------------------
 tests/kms_sink_crc_basic.c            |   2 +
 3 files changed, 72 insertions(+), 152 deletions(-)

-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 01/14] tests/psr: Print the reason for skipping when sink lacks PSR support
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 02/14] tests/psr: Remove "psr_" prefix from basic and drrs subtests Dhinakaran Pandiyan
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

And rename the function to match what it does.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
---
 tests/kms_psr_sink_crc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index 98d29ba9..93807c03 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -193,7 +193,7 @@ static void fill_render(data_t *data, uint32_t handle, unsigned char color)
 	gem_bo_busy(data->drm_fd, handle);
 }
 
-static bool psr_possible(data_t *data)
+static bool sink_support(data_t *data)
 {
 	char buf[512];
 
@@ -513,8 +513,8 @@ int main(int argc, char *argv[])
 
 		igt_set_module_param_int("enable_psr", running_with_psr_disabled ?
 					 0 : 1);
-
-		igt_skip_on(!psr_possible(&data));
+		igt_require_f(sink_support(&data),
+			      "Sink does not support PSR\n");
 
 		data.bufmgr = drm_intel_bufmgr_gem_init(data.drm_fd, 4096);
 		igt_assert(data.bufmgr);
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 02/14] tests/psr: Remove "psr_" prefix from basic and drrs subtests
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 01/14] tests/psr: Print the reason for skipping when sink lacks PSR support Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 03/14] tests/psr: Rename psr_active() to psr_enabled() Dhinakaran Pandiyan
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

And rename psr_drrs to no_drrs.

Makes the name consistent with other tests.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
---
 tests/intel-ci/fast-feedback.testlist | 2 +-
 tests/kms_psr_sink_crc.c              | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 5bad8c79..b08ef770 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -243,7 +243,7 @@ igt@kms_pipe_crc_basic@read-crc-pipe-c-frame-sequence
 igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a
 igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b
 igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c
-igt@kms_psr_sink_crc@psr_basic
+igt@kms_psr_sink_crc@basic
 igt@kms_setmode@basic-clone-single-crtc
 igt@kms_sink_crc_basic
 igt@pm_backlight@basic-brightness
diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index 93807c03..e55d2576 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -523,13 +523,13 @@ int main(int argc, char *argv[])
 		display_init(&data);
 	}
 
-	igt_subtest("psr_basic") {
+	igt_subtest("basic") {
 		setup_test_plane(&data);
 		igt_assert(wait_psr_entry(&data));
 		test_cleanup(&data);
 	}
 
-	igt_subtest("psr_drrs") {
+	igt_subtest("no_drrs") {
 		setup_test_plane(&data);
 		igt_assert(drrs_disabled(&data));
 		test_cleanup(&data);
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 03/14] tests/psr: Rename psr_active() to psr_enabled()
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 01/14] tests/psr: Print the reason for skipping when sink lacks PSR support Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 02/14] tests/psr: Remove "psr_" prefix from basic and drrs subtests Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 04/14] tests/psr: Store the debugfs file descriptor Dhinakaran Pandiyan
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

psr_active() checks the debugfs flag "HW Enabled & Active bit", which only
tells us if PSR was enabled by the driver. The state of PSR - active
or inactive is different from this flag for DDI platforms, so rename the
function appropriately.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
---
 tests/kms_psr_sink_crc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index e55d2576..1657ee8a 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -203,7 +203,7 @@ static bool sink_support(data_t *data)
 		strstr(buf, "Sink_Support: yes\n");
 }
 
-static bool psr_active(data_t *data)
+static bool psr_enabled(data_t *data)
 {
 	char buf[512];
 
@@ -217,7 +217,7 @@ static bool wait_psr_entry(data_t *data)
 {
 	int timeout = 5;
 	while (timeout--) {
-		if (psr_active(data))
+		if (psr_enabled(data))
 			return true;
 		sleep(1);
 	}
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 04/14] tests/psr: Store the debugfs file descriptor
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (2 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 03/14] tests/psr: Rename psr_active() to psr_enabled() Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 05/14] tests/psr: Assert sink CRC length and make use of igt_sysfs_read() Dhinakaran Pandiyan
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

It will be reused to enable PSR debug in the later patches.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
---
 tests/kms_psr_sink_crc.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index 1657ee8a..35c7b845 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -65,6 +65,7 @@ static const char *op_str(enum operations op)
 
 typedef struct {
 	int drm_fd;
+	int debugfs_fd;
 	int test_plane;
 	enum operations op;
 	uint32_t devid;
@@ -224,16 +225,14 @@ static bool wait_psr_entry(data_t *data)
 	return false;
 }
 
-static void get_sink_crc(data_t *data, char *crc) {
-	int dir;
-
+static void get_sink_crc(data_t *data, char *crc)
+{
 	if (igt_interactive_debug)
 		return;
 
-	dir = igt_debugfs_dir(data->drm_fd);
-	igt_require_f(igt_sysfs_scanf(dir, "i915_sink_crc_eDP1", "%s\n", crc),
+	igt_require_f(igt_sysfs_scanf(data->debugfs_fd, "i915_sink_crc_eDP1",
+				      "%s\n", crc),
 		      "Sink CRC is unreliable on this machine. Try manual debug with --interactive-debug=no-crc\n");
-	close(dir);
 
 	igt_debug("%s\n", crc);
 
@@ -508,6 +507,7 @@ int main(int argc, char *argv[])
 
 	igt_fixture {
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
+		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
 		data.devid = intel_get_drm_devid(data.drm_fd);
 
@@ -619,6 +619,7 @@ int main(int argc, char *argv[])
 	}
 
 	igt_fixture {
+		close(data.debugfs_fd);
 		drm_intel_bufmgr_destroy(data.bufmgr);
 		display_fini(&data);
 	}
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 05/14] tests/psr: Assert sink CRC length and make use of igt_sysfs_read()
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (3 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 04/14] tests/psr: Store the debugfs file descriptor Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 06/14] tests/psr: Optimize check for green frame Dhinakaran Pandiyan
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

Include minor fomatting change too.
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
---
 tests/kms_psr_sink_crc.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index 35c7b845..af63e689 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -230,14 +230,13 @@ static void get_sink_crc(data_t *data, char *crc)
 	if (igt_interactive_debug)
 		return;
 
-	igt_require_f(igt_sysfs_scanf(data->debugfs_fd, "i915_sink_crc_eDP1",
-				      "%s\n", crc),
+	igt_require_f(igt_sysfs_read(data->debugfs_fd, "i915_sink_crc_eDP1",
+				     crc, CRC_LEN) == CRC_LEN,
 		      "Sink CRC is unreliable on this machine. Try manual debug with --interactive-debug=no-crc\n");
-
-	igt_debug("%s\n", crc);
+	igt_debug("sink CRC: %.*s\n", CRC_LEN, crc);
 
 	/* Black screen is always invalid */
-	igt_assert(strncmp(crc, CRC_BLACK, CRC_LEN) != 0);
+	igt_assert(strncmp(crc, CRC_BLACK, CRC_LEN));
 }
 
 static bool is_green(char *crc)
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 06/14] tests/psr: Optimize check for green frame.
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (4 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 05/14] tests/psr: Assert sink CRC length and make use of igt_sysfs_read() Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 07/14] tests/psr: Kill MMAP_GTT_WAITING Dhinakaran Pandiyan
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

Eliminate three memcpy's and four sscanf's.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
---
 tests/kms_psr_sink_crc.c | 30 +++++-------------------------
 1 file changed, 5 insertions(+), 25 deletions(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index af63e689..94134b7d 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -241,34 +241,14 @@ static void get_sink_crc(data_t *data, char *crc)
 
 static bool is_green(char *crc)
 {
-	char color_mask[5] = "FFFF\0";
-	char rs[5], gs[5], bs[5];
-	unsigned int rh, gh, bh, mask;
-	int ret;
-
+	const char *mask = "0000FFFF0000";
+	uint32_t *p = (uint32_t *)crc, *mask_p = (uint32_t *)mask;
 	if (igt_interactive_debug)
 		return false;
 
-	sscanf(color_mask, "%4x", &mask);
-
-	memcpy(rs, &crc[0], 4);
-	rs[4] = '\0';
-	ret = sscanf(rs, "%4x", &rh);
-	igt_require(ret > 0);
-
-	memcpy(gs, &crc[4], 4);
-	gs[4] = '\0';
-	ret = sscanf(gs, "%4x", &gh);
-	igt_require(ret > 0);
-
-	memcpy(bs, &crc[8], 4);
-	bs[4] = '\0';
-	ret = sscanf(bs, "%4x", &bh);
-	igt_require(ret > 0);
-
-	return ((rh & mask) == 0 &&
-		(gh & mask) != 0 &&
-		(bh & mask) == 0);
+	/* Check R and B components are 0 and G is non-zero */
+	return *p == *mask_p && *(p + 2) == *(mask_p + 2) &&
+	       (*(p + 1) & *(mask_p + 1)) != 0;
 }
 
 static void assert_or_manual(bool condition, const char *expected)
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 07/14] tests/psr: Kill MMAP_GTT_WAITING
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (5 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 06/14] tests/psr: Optimize check for green frame Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 08/14] tests/psr: Merge PSR dpms and suspend variants Dhinakaran Pandiyan
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

No PSR event should take 10s, don't see value in this test.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 tests/kms_psr_sink_crc.c | 25 -------------------------
 1 file changed, 25 deletions(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index 94134b7d..d9cce5ea 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -39,7 +39,6 @@ bool running_with_psr_disabled;
 enum operations {
 	PAGE_FLIP,
 	MMAP_GTT,
-	MMAP_GTT_WAITING,
 	MMAP_CPU,
 	BLT,
 	RENDER,
@@ -52,7 +51,6 @@ static const char *op_str(enum operations op)
 	static const char * const name[] = {
 		[PAGE_FLIP] = "page_flip",
 		[MMAP_GTT] = "mmap_gtt",
-		[MMAP_GTT_WAITING] = "mmap_gtt_waiting",
 		[MMAP_CPU] = "mmap_cpu",
 		[BLT] = "blt",
 		[RENDER] = "render",
@@ -319,29 +317,6 @@ static void run_test(data_t *data)
 		munmap(ptr, data->mod_size);
 		expected = "BLACK or TRANSPARENT mark on top of plane in test";
 		break;
-	case MMAP_GTT_WAITING:
-		ptr = gem_mmap__gtt(data->drm_fd, handle, data->mod_size,
-				    PROT_WRITE);
-		gem_set_domain(data->drm_fd, handle,
-			       I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
-
-		/* Printing white on white so the screen shouldn't change */
-		memset(ptr, 0xff, data->mod_size);
-		get_sink_crc(data, crc);
-		if (data->test_plane == DRM_PLANE_TYPE_PRIMARY)
-			assert_or_manual(strncmp(ref_crc, crc, CRC_LEN) == 0, "screen WHITE");
-		else
-			assert_or_manual(strncmp(ref_crc, crc, CRC_LEN) == 0,
-			       "GREEN background with WHITE box");
-
-		igt_info("Waiting 10s...\n");
-		sleep(10);
-
-		/* Now lets print black to change the screen */
-		memset(ptr, 0, data->mod_size);
-		munmap(ptr, data->mod_size);
-		expected = "BLACK or TRANSPARENT mark on top of plane in test";
-		break;
 	case MMAP_CPU:
 		ptr = gem_mmap__cpu(data->drm_fd, handle, 0, data->mod_size,
 				    PROT_WRITE);
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 08/14] tests/psr: Merge PSR dpms and suspend variants.
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (6 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 07/14] tests/psr: Kill MMAP_GTT_WAITING Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 09/14] tests/psr: Remove delay between dpms toggle Dhinakaran Pandiyan
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

I don't see a big difference in what {dpms,suspend}_psr_exit and
{dpms_off, suspend}_psr_active tests uniquely achieve. Combine them so
that we have one dpms and one suspend test.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 tests/kms_psr_sink_crc.c | 34 +++-------------------------------
 1 file changed, 3 insertions(+), 31 deletions(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index d9cce5ea..e04e0f6a 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -522,51 +522,23 @@ int main(int argc, char *argv[])
 		}
 	}
 
-	igt_subtest_f("dpms_off_psr_active") {
+	igt_subtest_f("dpms") {
 		data.test_plane = DRM_PLANE_TYPE_PRIMARY;
 		data.op = RENDER;
 		setup_test_plane(&data);
 		igt_assert(wait_psr_entry(&data));
-
 		dpms_off_on(data);
-
-		run_test(&data);
-		test_cleanup(&data);
-	}
-
-	igt_subtest_f("dpms_off_psr_exit") {
-		data.test_plane = DRM_PLANE_TYPE_OVERLAY;
-		data.op = PLANE_ONOFF;
-		setup_test_plane(&data);
-
-		dpms_off_on(data);
-
-		igt_assert(wait_psr_entry(&data));
-		run_test(&data);
-		test_cleanup(&data);
-	}
-
-	igt_subtest_f("suspend_psr_active") {
-		data.test_plane = DRM_PLANE_TYPE_PRIMARY;
-		data.op = PAGE_FLIP;
-		setup_test_plane(&data);
-		igt_assert(wait_psr_entry(&data));
-
-		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
-					      SUSPEND_TEST_NONE);
-
 		run_test(&data);
 		test_cleanup(&data);
 	}
 
-	igt_subtest_f("suspend_psr_exit") {
+	igt_subtest_f("suspend") {
 		data.test_plane = DRM_PLANE_TYPE_CURSOR;
 		data.op = PLANE_ONOFF;
 		setup_test_plane(&data);
-
+		igt_assert(wait_psr_entry(&data));
 		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
 					      SUSPEND_TEST_NONE);
-
 		igt_assert(wait_psr_entry(&data));
 		run_test(&data);
 		test_cleanup(&data);
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 09/14] tests/psr: Remove delay between dpms toggle.
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (7 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 08/14] tests/psr: Merge PSR dpms and suspend variants Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 10/14] tests/psr: Check for drrs status only after checking for PSR Dhinakaran Pandiyan
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

No reason for the delay between dpms off and on.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
---
 tests/kms_psr_sink_crc.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index e04e0f6a..af18d43e 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -426,7 +426,6 @@ static void dpms_off_on(data_t data)
 {
 	kmstest_set_connector_dpms(data.drm_fd, data.output->config.connector,
 				   DRM_MODE_DPMS_OFF);
-	sleep(1);
 	kmstest_set_connector_dpms(data.drm_fd, data.output->config.connector,
 				   DRM_MODE_DPMS_ON);
 }
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 10/14] tests/psr: Check for drrs status only after checking for PSR
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (8 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 09/14] tests/psr: Remove delay between dpms toggle Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 11/14] tests/sink_crc_basic: Debug print CRC values Dhinakaran Pandiyan
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

The goal of this test is (or should be) to verify DRRS is disabled if PSR
was enabled. There is no point in checking for DRRS status if PSR was not
enabled in the first place.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
---
 tests/kms_psr_sink_crc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index af18d43e..0f588d5f 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -484,6 +484,7 @@ int main(int argc, char *argv[])
 
 	igt_subtest("no_drrs") {
 		setup_test_plane(&data);
+		igt_assert(wait_psr_entry(&data));
 		igt_assert(drrs_disabled(&data));
 		test_cleanup(&data);
 	}
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 11/14] tests/sink_crc_basic: Debug print CRC values
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (9 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 10/14] tests/psr: Check for drrs status only after checking for PSR Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 23:46   ` Souza, Jose
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 12/14] tests/psr: Get rid of global variable running_with_psr_disabled Dhinakaran Pandiyan
                   ` (5 subsequent siblings)
  16 siblings, 1 reply; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

The CRC values are useful as a reference to compare them with values
generated from other feature (PSR) tests.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 tests/kms_sink_crc_basic.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/kms_sink_crc_basic.c b/tests/kms_sink_crc_basic.c
index 159683e2..1c31e30a 100644
--- a/tests/kms_sink_crc_basic.c
+++ b/tests/kms_sink_crc_basic.c
@@ -63,11 +63,13 @@ static void assert_color(int dir, enum color color)
 		igt_assert_lt(0, r);
 		igt_assert_eq(0, g);
 		igt_assert_eq(0, b);
+		igt_debug("sink CRC for red %.4x%.4x%.4x\n", r, g, b);
 		break;
 	case GREEN:
 		igt_assert_eq(0, r);
 		igt_assert_lt(0, g);
 		igt_assert_eq(0, b);
+		igt_debug("sink CRC for green %.4x%.4x%.4x\n", r, g, b);
 		break;
 	default:
 		igt_fail(IGT_EXIT_FAILURE);
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 12/14] tests/psr: Get rid of global variable running_with_psr_disabled
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (10 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 11/14] tests/sink_crc_basic: Debug print CRC values Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 23:12   ` Souza, Jose
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 13/14] tests/psr: Eliminate storing pointers for igt_plane_type Dhinakaran Pandiyan
                   ` (4 subsequent siblings)
  16 siblings, 1 reply; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 tests/kms_psr_sink_crc.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index 0f588d5f..de905d2e 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -31,8 +31,6 @@
 
 #include "intel_bufmgr.h"
 
-bool running_with_psr_disabled;
-
 #define CRC_BLACK "000000000000"
 #define CRC_LEN 12
 
@@ -76,6 +74,7 @@ typedef struct {
 	int mod_stride;
 	drmModeModeInfo *mode;
 	igt_output_t *output;
+	bool with_psr_disabled;
 } data_t;
 
 static void create_cursor_fb(data_t *data)
@@ -93,7 +92,6 @@ static void create_cursor_fb(data_t *data)
 	igt_put_cairo_ctx(data->drm_fd, &data->fb_white, cr);
 }
 
-
 static void setup_output(data_t *data)
 {
 	igt_display_t *display = &data->display;
@@ -198,7 +196,7 @@ static bool sink_support(data_t *data)
 
 	igt_debugfs_read(data->drm_fd, "i915_edp_psr_status", buf);
 
-	return running_with_psr_disabled ||
+	return data->with_psr_disabled ||
 		strstr(buf, "Sink_Support: yes\n");
 }
 
@@ -208,7 +206,7 @@ static bool psr_enabled(data_t *data)
 
 	igt_debugfs_read(data->drm_fd, "i915_edp_psr_status", buf);
 
-	return running_with_psr_disabled ||
+	return data->with_psr_disabled ||
 		strstr(buf, "HW Enabled & Active bit: yes\n");
 }
 
@@ -430,11 +428,13 @@ static void dpms_off_on(data_t data)
 				   DRM_MODE_DPMS_ON);
 }
 
-static int opt_handler(int opt, int opt_index, void *data)
+static int opt_handler(int opt, int opt_index, void *_data)
 {
+	data_t *data = _data;
+
 	switch (opt) {
 	case 'n':
-		running_with_psr_disabled = true;
+		data->with_psr_disabled = true;
 		break;
 	default:
 		igt_assert(0);
@@ -455,7 +455,7 @@ int main(int argc, char *argv[])
 	enum operations op;
 
 	igt_subtest_init_parse_opts(&argc, argv, "", long_options,
-				    help_str, opt_handler, NULL);
+				    help_str, opt_handler, &data);
 	igt_skip_on_simulation();
 
 	igt_fixture {
@@ -464,7 +464,7 @@ int main(int argc, char *argv[])
 		kmstest_set_vt_graphics_mode();
 		data.devid = intel_get_drm_devid(data.drm_fd);
 
-		igt_set_module_param_int("enable_psr", running_with_psr_disabled ?
+		igt_set_module_param_int("enable_psr", data.with_psr_disabled ?
 					 0 : 1);
 		igt_require_f(sink_support(&data),
 			      "Sink does not support PSR\n");
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 13/14] tests/psr: Eliminate storing pointers for igt_plane_type.
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (11 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 12/14] tests/psr: Get rid of global variable running_with_psr_disabled Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 23:46   ` Souza, Jose
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 14/14] tests/psr: Pass data_t pointer to dpms_off_on Dhinakaran Pandiyan
                   ` (3 subsequent siblings)
  16 siblings, 1 reply; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

After the initial plane setup, only the test plane is required. One
exception is clean_up where the primary is required, but a call to
igt_output_get_plane_type() can get us that.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 tests/kms_psr_sink_crc.c | 73 +++++++++++++++++++++---------------------------
 1 file changed, 32 insertions(+), 41 deletions(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index de905d2e..152ea045 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -62,14 +62,13 @@ static const char *op_str(enum operations op)
 typedef struct {
 	int drm_fd;
 	int debugfs_fd;
-	int test_plane;
 	enum operations op;
 	uint32_t devid;
 	uint32_t crtc_id;
 	igt_display_t display;
 	drm_intel_bufmgr *bufmgr;
 	struct igt_fb fb_green, fb_white;
-	igt_plane_t *primary, *sprite, *cursor;
+	igt_plane_t *test_plane;
 	int mod_size;
 	int mod_stride;
 	drmModeModeInfo *mode;
@@ -265,7 +264,7 @@ static bool drrs_disabled(data_t *data)
 static void run_test(data_t *data)
 {
 	uint32_t handle = data->fb_white.gem_handle;
-	igt_plane_t *test_plane;
+	igt_plane_t *test_plane = data->test_plane;
 	void *ptr;
 	char ref_crc[CRC_LEN];
 	char crc[CRC_LEN];
@@ -281,18 +280,13 @@ static void run_test(data_t *data)
 	assert_or_manual(is_green(ref_crc), "screen GREEN");
 
 	/* Setting a secondary fb/plane */
-	switch (data->test_plane) {
-	case DRM_PLANE_TYPE_PRIMARY: default: test_plane = data->primary; break;
-	case DRM_PLANE_TYPE_OVERLAY: test_plane = data->sprite; break;
-	case DRM_PLANE_TYPE_CURSOR: test_plane = data->cursor; break;
-	}
 	igt_plane_set_fb(test_plane, &data->fb_white);
 	igt_display_commit(&data->display);
 
 	/* Confirm it is not Green anymore */
 	igt_assert(wait_psr_entry(data));
 	get_sink_crc(data, ref_crc);
-	if (data->test_plane == DRM_PLANE_TYPE_PRIMARY)
+	if (test_plane->type == DRM_PLANE_TYPE_PRIMARY)
 		assert_or_manual(!is_green(ref_crc), "screen WHITE");
 	else
 		assert_or_manual(!is_green(ref_crc), "GREEN background with WHITE box");
@@ -351,21 +345,22 @@ static void run_test(data_t *data)
 }
 
 static void test_cleanup(data_t *data) {
-	igt_plane_set_fb(data->primary, NULL);
-	if (data->test_plane == DRM_PLANE_TYPE_OVERLAY)
-		igt_plane_set_fb(data->sprite, NULL);
-	if (data->test_plane == DRM_PLANE_TYPE_CURSOR)
-		igt_plane_set_fb(data->cursor, NULL);
+	igt_plane_t *primary;
 
+	primary = igt_output_get_plane_type(data->output,
+					    DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_set_fb(primary, NULL);
+	igt_plane_set_fb(data->test_plane, NULL);
 	igt_display_commit(&data->display);
 
 	igt_remove_fb(data->drm_fd, &data->fb_green);
 	igt_remove_fb(data->drm_fd, &data->fb_white);
 }
 
-static void setup_test_plane(data_t *data)
+static void setup_test_plane(data_t *data, int test_plane)
 {
 	uint32_t white_h, white_v;
+	igt_plane_t *primary, *sprite, *cursor;
 
 	igt_create_color_fb(data->drm_fd,
 			    data->mode->hdisplay, data->mode->vdisplay,
@@ -374,8 +369,10 @@ static void setup_test_plane(data_t *data)
 			    0.0, 1.0, 0.0,
 			    &data->fb_green);
 
-	data->primary = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
-	igt_plane_set_fb(data->primary, NULL);
+	primary = igt_output_get_plane_type(data->output,
+					    DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_set_fb(primary, NULL);
+	data->test_plane = primary;
 
 	white_h = data->mode->hdisplay;
 	white_v = data->mode->vdisplay;
@@ -384,16 +381,14 @@ static void setup_test_plane(data_t *data)
 	data->mod_size = white_h * white_v;
 	data->mod_stride = white_h * 4;
 
-	switch (data->test_plane) {
+	switch (test_plane) {
 	case DRM_PLANE_TYPE_OVERLAY:
-		data->sprite = igt_output_get_plane_type(data->output,
-						    DRM_PLANE_TYPE_OVERLAY);
-		igt_plane_set_fb(data->sprite, NULL);
-		/* To make it different for human eyes let's make
-		 * sprite visible in only one quarter of the primary
-		 */
+		sprite = igt_output_get_plane_type(data->output,
+						   DRM_PLANE_TYPE_OVERLAY);
+		igt_plane_set_fb(sprite, NULL);
 		white_h = white_h/2;
 		white_v = white_v/2;
+		data->test_plane = sprite;
 	case DRM_PLANE_TYPE_PRIMARY:
 		igt_create_color_fb(data->drm_fd,
 				    white_h, white_v,
@@ -403,20 +398,21 @@ static void setup_test_plane(data_t *data)
 				    &data->fb_white);
 		break;
 	case DRM_PLANE_TYPE_CURSOR:
-		data->cursor = igt_output_get_plane_type(data->output,
-						    DRM_PLANE_TYPE_CURSOR);
-		igt_plane_set_fb(data->cursor, NULL);
+		cursor = igt_output_get_plane_type(data->output,
+						   DRM_PLANE_TYPE_CURSOR);
+		igt_plane_set_fb(cursor, NULL);
 		create_cursor_fb(data);
-		igt_plane_set_position(data->cursor, 0, 0);
+		igt_plane_set_position(cursor, 0, 0);
 
 		/* Cursor is 64 x 64, ignoring pitch and bbp again */
 		data->mod_size = 64 * 64;
+		data->test_plane = cursor;
 		break;
 	}
 
 	igt_display_commit(&data->display);
 
-	igt_plane_set_fb(data->primary, &data->fb_green);
+	igt_plane_set_fb(primary, &data->fb_green);
 	igt_display_commit(&data->display);
 }
 
@@ -477,13 +473,13 @@ int main(int argc, char *argv[])
 	}
 
 	igt_subtest("basic") {
-		setup_test_plane(&data);
+		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
 		igt_assert(wait_psr_entry(&data));
 		test_cleanup(&data);
 	}
 
 	igt_subtest("no_drrs") {
-		setup_test_plane(&data);
+		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
 		igt_assert(wait_psr_entry(&data));
 		igt_assert(drrs_disabled(&data));
 		test_cleanup(&data);
@@ -491,9 +487,8 @@ int main(int argc, char *argv[])
 
 	for (op = PAGE_FLIP; op <= RENDER; op++) {
 		igt_subtest_f("primary_%s", op_str(op)) {
-			data.test_plane = DRM_PLANE_TYPE_PRIMARY;
 			data.op = op;
-			setup_test_plane(&data);
+			setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
 			igt_assert(wait_psr_entry(&data));
 			run_test(&data);
 			test_cleanup(&data);
@@ -502,9 +497,8 @@ int main(int argc, char *argv[])
 
 	for (op = MMAP_GTT; op <= PLANE_ONOFF; op++) {
 		igt_subtest_f("sprite_%s", op_str(op)) {
-			data.test_plane = DRM_PLANE_TYPE_OVERLAY;
 			data.op = op;
-			setup_test_plane(&data);
+			setup_test_plane(&data, DRM_PLANE_TYPE_OVERLAY);
 			igt_assert(wait_psr_entry(&data));
 			run_test(&data);
 			test_cleanup(&data);
@@ -513,9 +507,8 @@ int main(int argc, char *argv[])
 
 	for (op = MMAP_GTT; op <= PLANE_ONOFF; op++) {
 		igt_subtest_f("cursor_%s", op_str(op)) {
-			data.test_plane = DRM_PLANE_TYPE_CURSOR;
 			data.op = op;
-			setup_test_plane(&data);
+			setup_test_plane(&data, DRM_PLANE_TYPE_CURSOR);
 			igt_assert(wait_psr_entry(&data));
 			run_test(&data);
 			test_cleanup(&data);
@@ -523,9 +516,8 @@ int main(int argc, char *argv[])
 	}
 
 	igt_subtest_f("dpms") {
-		data.test_plane = DRM_PLANE_TYPE_PRIMARY;
 		data.op = RENDER;
-		setup_test_plane(&data);
+		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
 		igt_assert(wait_psr_entry(&data));
 		dpms_off_on(data);
 		run_test(&data);
@@ -533,9 +525,8 @@ int main(int argc, char *argv[])
 	}
 
 	igt_subtest_f("suspend") {
-		data.test_plane = DRM_PLANE_TYPE_CURSOR;
 		data.op = PLANE_ONOFF;
-		setup_test_plane(&data);
+		setup_test_plane(&data, DRM_PLANE_TYPE_CURSOR);
 		igt_assert(wait_psr_entry(&data));
 		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
 					      SUSPEND_TEST_NONE);
-- 
2.14.1

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

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

* [igt-dev] [PATCH i-g-t 14/14] tests/psr: Pass data_t pointer to dpms_off_on
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (12 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 13/14] tests/psr: Eliminate storing pointers for igt_plane_type Dhinakaran Pandiyan
@ 2018-05-09 17:37 ` Dhinakaran Pandiyan
  2018-05-09 23:34   ` Souza, Jose
  2018-05-09 19:24 ` [igt-dev] ✓ Fi.CI.BAT: success for PSR test improvements Patchwork
                   ` (2 subsequent siblings)
  16 siblings, 1 reply; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-09 17:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Dhinakaran Pandiyan, rodrigo.vivi

Consistent with other function signatures in the file.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
---
 tests/kms_psr_sink_crc.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index 152ea045..28818e25 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -416,11 +416,11 @@ static void setup_test_plane(data_t *data, int test_plane)
 	igt_display_commit(&data->display);
 }
 
-static void dpms_off_on(data_t data)
+static void dpms_off_on(data_t *data)
 {
-	kmstest_set_connector_dpms(data.drm_fd, data.output->config.connector,
+	kmstest_set_connector_dpms(data->drm_fd, data->output->config.connector,
 				   DRM_MODE_DPMS_OFF);
-	kmstest_set_connector_dpms(data.drm_fd, data.output->config.connector,
+	kmstest_set_connector_dpms(data->drm_fd, data->output->config.connector,
 				   DRM_MODE_DPMS_ON);
 }
 
@@ -519,7 +519,7 @@ int main(int argc, char *argv[])
 		data.op = RENDER;
 		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
 		igt_assert(wait_psr_entry(&data));
-		dpms_off_on(data);
+		dpms_off_on(&data);
 		run_test(&data);
 		test_cleanup(&data);
 	}
-- 
2.14.1

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for PSR test improvements
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (13 preceding siblings ...)
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 14/14] tests/psr: Pass data_t pointer to dpms_off_on Dhinakaran Pandiyan
@ 2018-05-09 19:24 ` Patchwork
  2018-05-09 22:32 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2018-05-14 17:38 ` [igt-dev] [PATCH i-g-t 00/14] " Dhinakaran Pandiyan
  16 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2018-05-09 19:24 UTC (permalink / raw)
  To: Dhinakaran Pandiyan; +Cc: igt-dev

== Series Details ==

Series: PSR test improvements
URL   : https://patchwork.freedesktop.org/series/42957/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4163 -> IGTPW_1335 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/42957/revisions/1/mbox/

== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@kms_psr_sink_crc@basic:
      fi-hsw-4200u:       NOTRUN -> FAIL (fdo#106346)

    
    ==== Possible fixes ====

    igt@drv_module_reload@basic-reload-inject:
      fi-glk-j4005:       DMESG-WARN (fdo#106248) -> PASS

    igt@kms_flip@basic-flip-vs-wf_vblank:
      fi-hsw-4770r:       FAIL (fdo#100368) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106346 https://bugs.freedesktop.org/show_bug.cgi?id=106346


== Participating hosts (41 -> 37) ==

  Missing    (4): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-skl-6700hq 


== Build changes ==

    * IGT: IGT_4468 -> IGTPW_1335
    * Piglit: piglit_4468 -> piglit_4472

  CI_DRM_4163: 8e1dab6e913be7d014eb9bc355ec65b6b56dcd56 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1335: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1335/
  IGT_4468: 548a894dc904c4628522dbbc77cb179a4c965ebc @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4468: 1e60f1499e5b71b6d5a747189d7c28f57359a87f @ git://anongit.freedesktop.org/piglit
  piglit_4472: c9cfb8512ad59ea20e63ae64f7229c055459b69f @ git://anongit.freedesktop.org/piglit



== Testlist changes ==

+igt@kms_psr_sink_crc@basic
+igt@kms_psr_sink_crc@dpms
+igt@kms_psr_sink_crc@no_drrs
+igt@kms_psr_sink_crc@suspend
-igt@kms_psr_sink_crc@cursor_mmap_gtt_waiting
-igt@kms_psr_sink_crc@dpms_off_psr_active
-igt@kms_psr_sink_crc@dpms_off_psr_exit
-igt@kms_psr_sink_crc@primary_mmap_gtt_waiting
-igt@kms_psr_sink_crc@psr_basic
-igt@kms_psr_sink_crc@psr_drrs
-igt@kms_psr_sink_crc@sprite_mmap_gtt_waiting
-igt@kms_psr_sink_crc@suspend_psr_active
-igt@kms_psr_sink_crc@suspend_psr_exit

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for PSR test improvements
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (14 preceding siblings ...)
  2018-05-09 19:24 ` [igt-dev] ✓ Fi.CI.BAT: success for PSR test improvements Patchwork
@ 2018-05-09 22:32 ` Patchwork
  2018-05-14 17:38 ` [igt-dev] [PATCH i-g-t 00/14] " Dhinakaran Pandiyan
  16 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2018-05-09 22:32 UTC (permalink / raw)
  To: Dhinakaran Pandiyan; +Cc: igt-dev

== Series Details ==

Series: PSR test improvements
URL   : https://patchwork.freedesktop.org/series/42957/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4468_full -> IGTPW_1335_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1335_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1335_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/42957/revisions/1/mbox/

== Possible new issues ==

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

  === IGT changes ===

    ==== Warnings ====

    igt@drv_selftest@live_execlists:
      shard-glk:          SKIP -> PASS +1
      shard-apl:          SKIP -> PASS +1

    igt@gem_exec_schedule@deep-blt:
      shard-kbl:          SKIP -> PASS +2

    igt@gem_mocs_settings@mocs-rc6-blt:
      shard-kbl:          PASS -> SKIP +1

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
      shard-hsw:          PASS -> FAIL (fdo#100368)

    igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu:
      shard-glk:          PASS -> FAIL (fdo#103167, fdo#104724)

    igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
      shard-snb:          PASS -> FAIL (fdo#103166, fdo#104724)

    igt@kms_setmode@basic:
      shard-glk:          PASS -> FAIL (fdo#99912)

    igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm:
      shard-kbl:          PASS -> DMESG-WARN (fdo#105602, fdo#103558) +5

    
    ==== Possible fixes ====

    igt@drv_selftest@live_hangcheck:
      shard-kbl:          DMESG-FAIL (fdo#106453) -> PASS
      shard-apl:          DMESG-FAIL (fdo#106453) -> PASS
      shard-glk:          DMESG-FAIL (fdo#106453) -> PASS

    igt@drv_selftest@mock_breadcrumbs:
      shard-hsw:          DMESG-WARN (fdo#106453) -> PASS +7

    igt@drv_selftest@mock_dmabuf:
      shard-glk:          DMESG-WARN (fdo#106453) -> PASS +7

    igt@drv_selftest@mock_evict:
      shard-snb:          DMESG-WARN (fdo#106453) -> PASS +7

    igt@drv_selftest@mock_requests:
      shard-kbl:          DMESG-WARN (fdo#106453) -> PASS +7

    igt@drv_selftest@mock_vma:
      shard-apl:          DMESG-WARN (fdo#106453) -> PASS +7

    igt@drv_suspend@debugfs-reader:
      shard-glk:          INCOMPLETE (k.org#198133, fdo#103359) -> PASS

    igt@kms_flip@flip-vs-wf_vblank-interruptible:
      shard-glk:          FAIL (fdo#100368) -> PASS

    igt@kms_flip@plain-flip-fb-recreate-interruptible:
      shard-hsw:          FAIL (fdo#100368) -> PASS

    igt@kms_setmode@basic:
      shard-kbl:          FAIL (fdo#99912) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
  fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#106453 https://bugs.freedesktop.org/show_bug.cgi?id=106453
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (9 -> 5) ==

  Missing    (4): pig-snb-2600 pig-glk-j5005 pig-skl-6600 pig-hsw-4770r 


== Build changes ==

    * IGT: IGT_4468 -> IGTPW_1335
    * Linux: CI_DRM_4160 -> CI_DRM_4163
    * Piglit: piglit_4468 -> piglit_4472

  CI_DRM_4160: 6d9a2ccf9fca7c006f24b7ff6193ee356b6d3503 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4163: 8e1dab6e913be7d014eb9bc355ec65b6b56dcd56 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1335: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1335/
  IGT_4468: 548a894dc904c4628522dbbc77cb179a4c965ebc @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4468: 1e60f1499e5b71b6d5a747189d7c28f57359a87f @ git://anongit.freedesktop.org/piglit
  piglit_4472: c9cfb8512ad59ea20e63ae64f7229c055459b69f @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

* Re: [igt-dev] [PATCH i-g-t 12/14] tests/psr: Get rid of global variable running_with_psr_disabled
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 12/14] tests/psr: Get rid of global variable running_with_psr_disabled Dhinakaran Pandiyan
@ 2018-05-09 23:12   ` Souza, Jose
  0 siblings, 0 replies; 25+ messages in thread
From: Souza, Jose @ 2018-05-09 23:12 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-05-09 at 10:37 -0700, Dhinakaran Pandiyan wrote:

Reviewed-by: Jose Roberto de Souza <jose.souza@intel.com>

> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
>  tests/kms_psr_sink_crc.c | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
> index 0f588d5f..de905d2e 100644
> --- a/tests/kms_psr_sink_crc.c
> +++ b/tests/kms_psr_sink_crc.c
> @@ -31,8 +31,6 @@
>  
>  #include "intel_bufmgr.h"
>  
> -bool running_with_psr_disabled;
> -
>  #define CRC_BLACK "000000000000"
>  #define CRC_LEN 12
>  
> @@ -76,6 +74,7 @@ typedef struct {
>  	int mod_stride;
>  	drmModeModeInfo *mode;
>  	igt_output_t *output;
> +	bool with_psr_disabled;
>  } data_t;
>  
>  static void create_cursor_fb(data_t *data)
> @@ -93,7 +92,6 @@ static void create_cursor_fb(data_t *data)
>  	igt_put_cairo_ctx(data->drm_fd, &data->fb_white, cr);
>  }
>  
> -
>  static void setup_output(data_t *data)
>  {
>  	igt_display_t *display = &data->display;
> @@ -198,7 +196,7 @@ static bool sink_support(data_t *data)
>  
>  	igt_debugfs_read(data->drm_fd, "i915_edp_psr_status", buf);
>  
> -	return running_with_psr_disabled ||
> +	return data->with_psr_disabled ||
>  		strstr(buf, "Sink_Support: yes\n");
>  }
>  
> @@ -208,7 +206,7 @@ static bool psr_enabled(data_t *data)
>  
>  	igt_debugfs_read(data->drm_fd, "i915_edp_psr_status", buf);
>  
> -	return running_with_psr_disabled ||
> +	return data->with_psr_disabled ||
>  		strstr(buf, "HW Enabled & Active bit: yes\n");
>  }
>  
> @@ -430,11 +428,13 @@ static void dpms_off_on(data_t data)
>  				   DRM_MODE_DPMS_ON);
>  }
>  
> -static int opt_handler(int opt, int opt_index, void *data)
> +static int opt_handler(int opt, int opt_index, void *_data)
>  {
> +	data_t *data = _data;
> +
>  	switch (opt) {
>  	case 'n':
> -		running_with_psr_disabled = true;
> +		data->with_psr_disabled = true;
>  		break;
>  	default:
>  		igt_assert(0);
> @@ -455,7 +455,7 @@ int main(int argc, char *argv[])
>  	enum operations op;
>  
>  	igt_subtest_init_parse_opts(&argc, argv, "", long_options,
> -				    help_str, opt_handler, NULL);
> +				    help_str, opt_handler, &data);
>  	igt_skip_on_simulation();
>  
>  	igt_fixture {
> @@ -464,7 +464,7 @@ int main(int argc, char *argv[])
>  		kmstest_set_vt_graphics_mode();
>  		data.devid = intel_get_drm_devid(data.drm_fd);
>  
> -		igt_set_module_param_int("enable_psr",
> running_with_psr_disabled ?
> +		igt_set_module_param_int("enable_psr",
> data.with_psr_disabled ?
>  					 0 : 1);
>  		igt_require_f(sink_support(&data),
>  			      "Sink does not support PSR\n");
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 14/14] tests/psr: Pass data_t pointer to dpms_off_on
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 14/14] tests/psr: Pass data_t pointer to dpms_off_on Dhinakaran Pandiyan
@ 2018-05-09 23:34   ` Souza, Jose
  0 siblings, 0 replies; 25+ messages in thread
From: Souza, Jose @ 2018-05-09 23:34 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-05-09 at 10:37 -0700, Dhinakaran Pandiyan wrote:
> Consistent with other function signatures in the file.
> 

Reviewed-by: Jose Roberto de Souza <jose.souza@intel.com>

> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
>  tests/kms_psr_sink_crc.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
> index 152ea045..28818e25 100644
> --- a/tests/kms_psr_sink_crc.c
> +++ b/tests/kms_psr_sink_crc.c
> @@ -416,11 +416,11 @@ static void setup_test_plane(data_t *data, int
> test_plane)
>  	igt_display_commit(&data->display);
>  }
>  
> -static void dpms_off_on(data_t data)
> +static void dpms_off_on(data_t *data)
>  {
> -	kmstest_set_connector_dpms(data.drm_fd, data.output-
> >config.connector,
> +	kmstest_set_connector_dpms(data->drm_fd, data->output-
> >config.connector,
>  				   DRM_MODE_DPMS_OFF);
> -	kmstest_set_connector_dpms(data.drm_fd, data.output-
> >config.connector,
> +	kmstest_set_connector_dpms(data->drm_fd, data->output-
> >config.connector,
>  				   DRM_MODE_DPMS_ON);
>  }
>  
> @@ -519,7 +519,7 @@ int main(int argc, char *argv[])
>  		data.op = RENDER;
>  		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
>  		igt_assert(wait_psr_entry(&data));
> -		dpms_off_on(data);
> +		dpms_off_on(&data);
>  		run_test(&data);
>  		test_cleanup(&data);
>  	}
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 13/14] tests/psr: Eliminate storing pointers for igt_plane_type.
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 13/14] tests/psr: Eliminate storing pointers for igt_plane_type Dhinakaran Pandiyan
@ 2018-05-09 23:46   ` Souza, Jose
  2018-05-10  0:30     ` Dhinakaran Pandiyan
  0 siblings, 1 reply; 25+ messages in thread
From: Souza, Jose @ 2018-05-09 23:46 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-05-09 at 10:37 -0700, Dhinakaran Pandiyan wrote:
> After the initial plane setup, only the test plane is required. One
> exception is clean_up where the primary is required, but a call to
> igt_output_get_plane_type() can get us that.
> 
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>

Reviewed-by: Jose Roberto de Souza <jose.souza@intel.com>

So we don't have a test that test at the same time changs in primary,
sprite and cursor!? =/

> ---
>  tests/kms_psr_sink_crc.c | 73 +++++++++++++++++++++-----------------
> ----------
>  1 file changed, 32 insertions(+), 41 deletions(-)
> 
> diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
> index de905d2e..152ea045 100644
> --- a/tests/kms_psr_sink_crc.c
> +++ b/tests/kms_psr_sink_crc.c
> @@ -62,14 +62,13 @@ static const char *op_str(enum operations op)
>  typedef struct {
>  	int drm_fd;
>  	int debugfs_fd;
> -	int test_plane;
>  	enum operations op;
>  	uint32_t devid;
>  	uint32_t crtc_id;
>  	igt_display_t display;
>  	drm_intel_bufmgr *bufmgr;
>  	struct igt_fb fb_green, fb_white;
> -	igt_plane_t *primary, *sprite, *cursor;
> +	igt_plane_t *test_plane;
>  	int mod_size;
>  	int mod_stride;
>  	drmModeModeInfo *mode;
> @@ -265,7 +264,7 @@ static bool drrs_disabled(data_t *data)
>  static void run_test(data_t *data)
>  {
>  	uint32_t handle = data->fb_white.gem_handle;
> -	igt_plane_t *test_plane;
> +	igt_plane_t *test_plane = data->test_plane;
>  	void *ptr;
>  	char ref_crc[CRC_LEN];
>  	char crc[CRC_LEN];
> @@ -281,18 +280,13 @@ static void run_test(data_t *data)
>  	assert_or_manual(is_green(ref_crc), "screen GREEN");
>  
>  	/* Setting a secondary fb/plane */
> -	switch (data->test_plane) {
> -	case DRM_PLANE_TYPE_PRIMARY: default: test_plane = data-
> >primary; break;
> -	case DRM_PLANE_TYPE_OVERLAY: test_plane = data->sprite;
> break;
> -	case DRM_PLANE_TYPE_CURSOR: test_plane = data->cursor;
> break;
> -	}
>  	igt_plane_set_fb(test_plane, &data->fb_white);
>  	igt_display_commit(&data->display);
>  
>  	/* Confirm it is not Green anymore */
>  	igt_assert(wait_psr_entry(data));
>  	get_sink_crc(data, ref_crc);
> -	if (data->test_plane == DRM_PLANE_TYPE_PRIMARY)
> +	if (test_plane->type == DRM_PLANE_TYPE_PRIMARY)
>  		assert_or_manual(!is_green(ref_crc), "screen
> WHITE");
>  	else
>  		assert_or_manual(!is_green(ref_crc), "GREEN
> background with WHITE box");
> @@ -351,21 +345,22 @@ static void run_test(data_t *data)
>  }
>  
>  static void test_cleanup(data_t *data) {
> -	igt_plane_set_fb(data->primary, NULL);
> -	if (data->test_plane == DRM_PLANE_TYPE_OVERLAY)
> -		igt_plane_set_fb(data->sprite, NULL);
> -	if (data->test_plane == DRM_PLANE_TYPE_CURSOR)
> -		igt_plane_set_fb(data->cursor, NULL);
> +	igt_plane_t *primary;
>  
> +	primary = igt_output_get_plane_type(data->output,
> +					    DRM_PLANE_TYPE_PRIMARY);
> +	igt_plane_set_fb(primary, NULL);
> +	igt_plane_set_fb(data->test_plane, NULL);
>  	igt_display_commit(&data->display);
>  
>  	igt_remove_fb(data->drm_fd, &data->fb_green);
>  	igt_remove_fb(data->drm_fd, &data->fb_white);
>  }
>  
> -static void setup_test_plane(data_t *data)
> +static void setup_test_plane(data_t *data, int test_plane)
>  {
>  	uint32_t white_h, white_v;
> +	igt_plane_t *primary, *sprite, *cursor;
>  
>  	igt_create_color_fb(data->drm_fd,
>  			    data->mode->hdisplay, data->mode-
> >vdisplay,
> @@ -374,8 +369,10 @@ static void setup_test_plane(data_t *data)
>  			    0.0, 1.0, 0.0,
>  			    &data->fb_green);
>  
> -	data->primary = igt_output_get_plane_type(data->output,
> DRM_PLANE_TYPE_PRIMARY);
> -	igt_plane_set_fb(data->primary, NULL);
> +	primary = igt_output_get_plane_type(data->output,
> +					    DRM_PLANE_TYPE_PRIMARY);
> +	igt_plane_set_fb(primary, NULL);
> +	data->test_plane = primary;
>  
>  	white_h = data->mode->hdisplay;
>  	white_v = data->mode->vdisplay;
> @@ -384,16 +381,14 @@ static void setup_test_plane(data_t *data)
>  	data->mod_size = white_h * white_v;
>  	data->mod_stride = white_h * 4;
>  
> -	switch (data->test_plane) {
> +	switch (test_plane) {
>  	case DRM_PLANE_TYPE_OVERLAY:
> -		data->sprite = igt_output_get_plane_type(data-
> >output,
> -						    DRM_PLANE_TYPE_O
> VERLAY);
> -		igt_plane_set_fb(data->sprite, NULL);
> -		/* To make it different for human eyes let's make
> -		 * sprite visible in only one quarter of the primary
> -		 */
> +		sprite = igt_output_get_plane_type(data->output,
> +						   DRM_PLANE_TYPE_OV
> ERLAY);
> +		igt_plane_set_fb(sprite, NULL);
>  		white_h = white_h/2;
>  		white_v = white_v/2;
> +		data->test_plane = sprite;
>  	case DRM_PLANE_TYPE_PRIMARY:
>  		igt_create_color_fb(data->drm_fd,
>  				    white_h, white_v,
> @@ -403,20 +398,21 @@ static void setup_test_plane(data_t *data)
>  				    &data->fb_white);
>  		break;
>  	case DRM_PLANE_TYPE_CURSOR:
> -		data->cursor = igt_output_get_plane_type(data-
> >output,
> -						    DRM_PLANE_TYPE_C
> URSOR);
> -		igt_plane_set_fb(data->cursor, NULL);
> +		cursor = igt_output_get_plane_type(data->output,
> +						   DRM_PLANE_TYPE_CU
> RSOR);
> +		igt_plane_set_fb(cursor, NULL);
>  		create_cursor_fb(data);
> -		igt_plane_set_position(data->cursor, 0, 0);
> +		igt_plane_set_position(cursor, 0, 0);
>  
>  		/* Cursor is 64 x 64, ignoring pitch and bbp again
> */
>  		data->mod_size = 64 * 64;
> +		data->test_plane = cursor;
>  		break;
>  	}
>  
>  	igt_display_commit(&data->display);
>  
> -	igt_plane_set_fb(data->primary, &data->fb_green);
> +	igt_plane_set_fb(primary, &data->fb_green);
>  	igt_display_commit(&data->display);
>  }
>  
> @@ -477,13 +473,13 @@ int main(int argc, char *argv[])
>  	}
>  
>  	igt_subtest("basic") {
> -		setup_test_plane(&data);
> +		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
>  		igt_assert(wait_psr_entry(&data));
>  		test_cleanup(&data);
>  	}
>  
>  	igt_subtest("no_drrs") {
> -		setup_test_plane(&data);
> +		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
>  		igt_assert(wait_psr_entry(&data));
>  		igt_assert(drrs_disabled(&data));
>  		test_cleanup(&data);
> @@ -491,9 +487,8 @@ int main(int argc, char *argv[])
>  
>  	for (op = PAGE_FLIP; op <= RENDER; op++) {
>  		igt_subtest_f("primary_%s", op_str(op)) {
> -			data.test_plane = DRM_PLANE_TYPE_PRIMARY;
>  			data.op = op;
> -			setup_test_plane(&data);
> +			setup_test_plane(&data,
> DRM_PLANE_TYPE_PRIMARY);
>  			igt_assert(wait_psr_entry(&data));
>  			run_test(&data);
>  			test_cleanup(&data);
> @@ -502,9 +497,8 @@ int main(int argc, char *argv[])
>  
>  	for (op = MMAP_GTT; op <= PLANE_ONOFF; op++) {
>  		igt_subtest_f("sprite_%s", op_str(op)) {
> -			data.test_plane = DRM_PLANE_TYPE_OVERLAY;
>  			data.op = op;
> -			setup_test_plane(&data);
> +			setup_test_plane(&data,
> DRM_PLANE_TYPE_OVERLAY);
>  			igt_assert(wait_psr_entry(&data));
>  			run_test(&data);
>  			test_cleanup(&data);
> @@ -513,9 +507,8 @@ int main(int argc, char *argv[])
>  
>  	for (op = MMAP_GTT; op <= PLANE_ONOFF; op++) {
>  		igt_subtest_f("cursor_%s", op_str(op)) {
> -			data.test_plane = DRM_PLANE_TYPE_CURSOR;
>  			data.op = op;
> -			setup_test_plane(&data);
> +			setup_test_plane(&data,
> DRM_PLANE_TYPE_CURSOR);
>  			igt_assert(wait_psr_entry(&data));
>  			run_test(&data);
>  			test_cleanup(&data);
> @@ -523,9 +516,8 @@ int main(int argc, char *argv[])
>  	}
>  
>  	igt_subtest_f("dpms") {
> -		data.test_plane = DRM_PLANE_TYPE_PRIMARY;
>  		data.op = RENDER;
> -		setup_test_plane(&data);
> +		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
>  		igt_assert(wait_psr_entry(&data));
>  		dpms_off_on(data);
>  		run_test(&data);
> @@ -533,9 +525,8 @@ int main(int argc, char *argv[])
>  	}
>  
>  	igt_subtest_f("suspend") {
> -		data.test_plane = DRM_PLANE_TYPE_CURSOR;
>  		data.op = PLANE_ONOFF;
> -		setup_test_plane(&data);
> +		setup_test_plane(&data, DRM_PLANE_TYPE_CURSOR);
>  		igt_assert(wait_psr_entry(&data));
>  		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
>  					      SUSPEND_TEST_NONE);
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 11/14] tests/sink_crc_basic: Debug print CRC values
  2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 11/14] tests/sink_crc_basic: Debug print CRC values Dhinakaran Pandiyan
@ 2018-05-09 23:46   ` Souza, Jose
  0 siblings, 0 replies; 25+ messages in thread
From: Souza, Jose @ 2018-05-09 23:46 UTC (permalink / raw)
  To: igt-dev, Pandiyan, Dhinakaran; +Cc: Vivi, Rodrigo

On Wed, 2018-05-09 at 10:37 -0700, Dhinakaran Pandiyan wrote:
> The CRC values are useful as a reference to compare them with values
> generated from other feature (PSR) tests.
> 

Reviewed-by: Jose Roberto de Souza <jose.souza@intel.com>

> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
>  tests/kms_sink_crc_basic.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tests/kms_sink_crc_basic.c b/tests/kms_sink_crc_basic.c
> index 159683e2..1c31e30a 100644
> --- a/tests/kms_sink_crc_basic.c
> +++ b/tests/kms_sink_crc_basic.c
> @@ -63,11 +63,13 @@ static void assert_color(int dir, enum color
> color)
>  		igt_assert_lt(0, r);
>  		igt_assert_eq(0, g);
>  		igt_assert_eq(0, b);
> +		igt_debug("sink CRC for red %.4x%.4x%.4x\n", r, g,
> b);
>  		break;
>  	case GREEN:
>  		igt_assert_eq(0, r);
>  		igt_assert_lt(0, g);
>  		igt_assert_eq(0, b);
> +		igt_debug("sink CRC for green %.4x%.4x%.4x\n", r, g,
> b);
>  		break;
>  	default:
>  		igt_fail(IGT_EXIT_FAILURE);
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 13/14] tests/psr: Eliminate storing pointers for igt_plane_type.
  2018-05-09 23:46   ` Souza, Jose
@ 2018-05-10  0:30     ` Dhinakaran Pandiyan
  0 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-10  0:30 UTC (permalink / raw)
  To: Souza, Jose, igt-dev; +Cc: Vivi, Rodrigo

On Wed, 2018-05-09 at 23:46 +0000, Souza, Jose wrote:
> On Wed, 2018-05-09 at 10:37 -0700, Dhinakaran Pandiyan wrote:
> > 
> > After the initial plane setup, only the test plane is required. One
> > exception is clean_up where the primary is required, but a call to
> > igt_output_get_plane_type() can get us that.
> > 
> > Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> Reviewed-by: Jose Roberto de Souza <jose.souza@intel.com>
> 
> So we don't have a test that test at the same time changs in primary,
> sprite and cursor!? =/

None as of now. I am thinking of extending the basic subtest to do a
flip and a cursor move.

Thanks for the reviews.

> 
> > 
> > ---
> >  tests/kms_psr_sink_crc.c | 73 +++++++++++++++++++++---------------
> > --
> > ----------
> >  1 file changed, 32 insertions(+), 41 deletions(-)
> > 
> > diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
> > index de905d2e..152ea045 100644
> > --- a/tests/kms_psr_sink_crc.c
> > +++ b/tests/kms_psr_sink_crc.c
> > @@ -62,14 +62,13 @@ static const char *op_str(enum operations op)
> >  typedef struct {
> >  	int drm_fd;
> >  	int debugfs_fd;
> > -	int test_plane;
> >  	enum operations op;
> >  	uint32_t devid;
> >  	uint32_t crtc_id;
> >  	igt_display_t display;
> >  	drm_intel_bufmgr *bufmgr;
> >  	struct igt_fb fb_green, fb_white;
> > -	igt_plane_t *primary, *sprite, *cursor;
> > +	igt_plane_t *test_plane;
> >  	int mod_size;
> >  	int mod_stride;
> >  	drmModeModeInfo *mode;
> > @@ -265,7 +264,7 @@ static bool drrs_disabled(data_t *data)
> >  static void run_test(data_t *data)
> >  {
> >  	uint32_t handle = data->fb_white.gem_handle;
> > -	igt_plane_t *test_plane;
> > +	igt_plane_t *test_plane = data->test_plane;
> >  	void *ptr;
> >  	char ref_crc[CRC_LEN];
> >  	char crc[CRC_LEN];
> > @@ -281,18 +280,13 @@ static void run_test(data_t *data)
> >  	assert_or_manual(is_green(ref_crc), "screen GREEN");
> >  
> >  	/* Setting a secondary fb/plane */
> > -	switch (data->test_plane) {
> > -	case DRM_PLANE_TYPE_PRIMARY: default: test_plane = data-
> > > 
> > > primary; break;
> > -	case DRM_PLANE_TYPE_OVERLAY: test_plane = data->sprite;
> > break;
> > -	case DRM_PLANE_TYPE_CURSOR: test_plane = data->cursor;
> > break;
> > -	}
> >  	igt_plane_set_fb(test_plane, &data->fb_white);
> >  	igt_display_commit(&data->display);
> >  
> >  	/* Confirm it is not Green anymore */
> >  	igt_assert(wait_psr_entry(data));
> >  	get_sink_crc(data, ref_crc);
> > -	if (data->test_plane == DRM_PLANE_TYPE_PRIMARY)
> > +	if (test_plane->type == DRM_PLANE_TYPE_PRIMARY)
> >  		assert_or_manual(!is_green(ref_crc), "screen
> > WHITE");
> >  	else
> >  		assert_or_manual(!is_green(ref_crc), "GREEN
> > background with WHITE box");
> > @@ -351,21 +345,22 @@ static void run_test(data_t *data)
> >  }
> >  
> >  static void test_cleanup(data_t *data) {
> > -	igt_plane_set_fb(data->primary, NULL);
> > -	if (data->test_plane == DRM_PLANE_TYPE_OVERLAY)
> > -		igt_plane_set_fb(data->sprite, NULL);
> > -	if (data->test_plane == DRM_PLANE_TYPE_CURSOR)
> > -		igt_plane_set_fb(data->cursor, NULL);
> > +	igt_plane_t *primary;
> >  
> > +	primary = igt_output_get_plane_type(data->output,
> > +					    DRM_PLANE_TYPE_PRIMARY
> > );
> > +	igt_plane_set_fb(primary, NULL);
> > +	igt_plane_set_fb(data->test_plane, NULL);
> >  	igt_display_commit(&data->display);
> >  
> >  	igt_remove_fb(data->drm_fd, &data->fb_green);
> >  	igt_remove_fb(data->drm_fd, &data->fb_white);
> >  }
> >  
> > -static void setup_test_plane(data_t *data)
> > +static void setup_test_plane(data_t *data, int test_plane)
> >  {
> >  	uint32_t white_h, white_v;
> > +	igt_plane_t *primary, *sprite, *cursor;
> >  
> >  	igt_create_color_fb(data->drm_fd,
> >  			    data->mode->hdisplay, data->mode-
> > > 
> > > vdisplay,
> > @@ -374,8 +369,10 @@ static void setup_test_plane(data_t *data)
> >  			    0.0, 1.0, 0.0,
> >  			    &data->fb_green);
> >  
> > -	data->primary = igt_output_get_plane_type(data->output,
> > DRM_PLANE_TYPE_PRIMARY);
> > -	igt_plane_set_fb(data->primary, NULL);
> > +	primary = igt_output_get_plane_type(data->output,
> > +					    DRM_PLANE_TYPE_PRIMARY
> > );
> > +	igt_plane_set_fb(primary, NULL);
> > +	data->test_plane = primary;
> >  
> >  	white_h = data->mode->hdisplay;
> >  	white_v = data->mode->vdisplay;
> > @@ -384,16 +381,14 @@ static void setup_test_plane(data_t *data)
> >  	data->mod_size = white_h * white_v;
> >  	data->mod_stride = white_h * 4;
> >  
> > -	switch (data->test_plane) {
> > +	switch (test_plane) {
> >  	case DRM_PLANE_TYPE_OVERLAY:
> > -		data->sprite = igt_output_get_plane_type(data-
> > > 
> > > output,
> > -						    DRM_PLANE_TYPE
> > _O
> > VERLAY);
> > -		igt_plane_set_fb(data->sprite, NULL);
> > -		/* To make it different for human eyes let's make
> > -		 * sprite visible in only one quarter of the
> > primary
> > -		 */
> > +		sprite = igt_output_get_plane_type(data->output,
> > +						   DRM_PLANE_TYPE_
> > OV
> > ERLAY);
> > +		igt_plane_set_fb(sprite, NULL);
> >  		white_h = white_h/2;
> >  		white_v = white_v/2;
> > +		data->test_plane = sprite;
> >  	case DRM_PLANE_TYPE_PRIMARY:
> >  		igt_create_color_fb(data->drm_fd,
> >  				    white_h, white_v,
> > @@ -403,20 +398,21 @@ static void setup_test_plane(data_t *data)
> >  				    &data->fb_white);
> >  		break;
> >  	case DRM_PLANE_TYPE_CURSOR:
> > -		data->cursor = igt_output_get_plane_type(data-
> > > 
> > > output,
> > -						    DRM_PLANE_TYPE
> > _C
> > URSOR);
> > -		igt_plane_set_fb(data->cursor, NULL);
> > +		cursor = igt_output_get_plane_type(data->output,
> > +						   DRM_PLANE_TYPE_
> > CU
> > RSOR);
> > +		igt_plane_set_fb(cursor, NULL);
> >  		create_cursor_fb(data);
> > -		igt_plane_set_position(data->cursor, 0, 0);
> > +		igt_plane_set_position(cursor, 0, 0);
> >  
> >  		/* Cursor is 64 x 64, ignoring pitch and bbp again
> > */
> >  		data->mod_size = 64 * 64;
> > +		data->test_plane = cursor;
> >  		break;
> >  	}
> >  
> >  	igt_display_commit(&data->display);
> >  
> > -	igt_plane_set_fb(data->primary, &data->fb_green);
> > +	igt_plane_set_fb(primary, &data->fb_green);
> >  	igt_display_commit(&data->display);
> >  }
> >  
> > @@ -477,13 +473,13 @@ int main(int argc, char *argv[])
> >  	}
> >  
> >  	igt_subtest("basic") {
> > -		setup_test_plane(&data);
> > +		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
> >  		igt_assert(wait_psr_entry(&data));
> >  		test_cleanup(&data);
> >  	}
> >  
> >  	igt_subtest("no_drrs") {
> > -		setup_test_plane(&data);
> > +		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
> >  		igt_assert(wait_psr_entry(&data));
> >  		igt_assert(drrs_disabled(&data));
> >  		test_cleanup(&data);
> > @@ -491,9 +487,8 @@ int main(int argc, char *argv[])
> >  
> >  	for (op = PAGE_FLIP; op <= RENDER; op++) {
> >  		igt_subtest_f("primary_%s", op_str(op)) {
> > -			data.test_plane = DRM_PLANE_TYPE_PRIMARY;
> >  			data.op = op;
> > -			setup_test_plane(&data);
> > +			setup_test_plane(&data,
> > DRM_PLANE_TYPE_PRIMARY);
> >  			igt_assert(wait_psr_entry(&data));
> >  			run_test(&data);
> >  			test_cleanup(&data);
> > @@ -502,9 +497,8 @@ int main(int argc, char *argv[])
> >  
> >  	for (op = MMAP_GTT; op <= PLANE_ONOFF; op++) {
> >  		igt_subtest_f("sprite_%s", op_str(op)) {
> > -			data.test_plane = DRM_PLANE_TYPE_OVERLAY;
> >  			data.op = op;
> > -			setup_test_plane(&data);
> > +			setup_test_plane(&data,
> > DRM_PLANE_TYPE_OVERLAY);
> >  			igt_assert(wait_psr_entry(&data));
> >  			run_test(&data);
> >  			test_cleanup(&data);
> > @@ -513,9 +507,8 @@ int main(int argc, char *argv[])
> >  
> >  	for (op = MMAP_GTT; op <= PLANE_ONOFF; op++) {
> >  		igt_subtest_f("cursor_%s", op_str(op)) {
> > -			data.test_plane = DRM_PLANE_TYPE_CURSOR;
> >  			data.op = op;
> > -			setup_test_plane(&data);
> > +			setup_test_plane(&data,
> > DRM_PLANE_TYPE_CURSOR);
> >  			igt_assert(wait_psr_entry(&data));
> >  			run_test(&data);
> >  			test_cleanup(&data);
> > @@ -523,9 +516,8 @@ int main(int argc, char *argv[])
> >  	}
> >  
> >  	igt_subtest_f("dpms") {
> > -		data.test_plane = DRM_PLANE_TYPE_PRIMARY;
> >  		data.op = RENDER;
> > -		setup_test_plane(&data);
> > +		setup_test_plane(&data, DRM_PLANE_TYPE_PRIMARY);
> >  		igt_assert(wait_psr_entry(&data));
> >  		dpms_off_on(data);
> >  		run_test(&data);
> > @@ -533,9 +525,8 @@ int main(int argc, char *argv[])
> >  	}
> >  
> >  	igt_subtest_f("suspend") {
> > -		data.test_plane = DRM_PLANE_TYPE_CURSOR;
> >  		data.op = PLANE_ONOFF;
> > -		setup_test_plane(&data);
> > +		setup_test_plane(&data, DRM_PLANE_TYPE_CURSOR);
> >  		igt_assert(wait_psr_entry(&data));
> >  		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
> >  					      SUSPEND_TEST_NONE);
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 00/14] PSR test improvements
  2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
                   ` (15 preceding siblings ...)
  2018-05-09 22:32 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2018-05-14 17:38 ` Dhinakaran Pandiyan
  2018-05-15  7:34   ` Petri Latvala
  16 siblings, 1 reply; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-14 17:38 UTC (permalink / raw)
  To: igt-dev; +Cc: rodrigo.vivi

On Wed, 2018-05-09 at 10:37 -0700, Dhinakaran Pandiyan wrote:
> I have separated out this series to only contain optimizations and
> minor
> fixes. The rest of the original series that switches PSR tests to use
> timestamps will be posted after this is merged.
> 
> Dhinakaran Pandiyan (14):
>   tests/psr: Print the reason for skipping when sink lacks PSR
> support
>   tests/psr: Remove "psr_" prefix from basic and drrs subtests
>   tests/psr: Rename psr_active() to psr_enabled()
>   tests/psr: Store the debugfs file descriptor
>   tests/psr: Assert sink CRC length and make use of igt_sysfs_read()
>   tests/psr: Optimize check for green frame.
>   tests/psr: Kill MMAP_GTT_WAITING
>   tests/psr: Merge PSR dpms and suspend variants.
>   tests/psr: Remove delay between dpms toggle.
>   tests/psr: Check for drrs status only after checking for PSR
>   tests/sink_crc_basic: Debug print CRC values
>   tests/psr: Get rid of global variable running_with_psr_disabled
>   tests/psr: Eliminate storing pointers for igt_plane_type.
>   tests/psr: Pass data_t pointer to dpms_off_on
> 

Can someone merge this series? Series mostly contains fixes and
optimizations for the existing tests.

> 
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
>  tests/intel-ci/fast-feedback.testlist |   2 +-
>  tests/kms_psr_sink_crc.c              | 220 +++++++++++-------------
> ----------
>  tests/kms_sink_crc_basic.c            |   2 +
>  3 files changed, 72 insertions(+), 152 deletions(-)
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 00/14] PSR test improvements
  2018-05-14 17:38 ` [igt-dev] [PATCH i-g-t 00/14] " Dhinakaran Pandiyan
@ 2018-05-15  7:34   ` Petri Latvala
  2018-05-15 22:29     ` Dhinakaran Pandiyan
  0 siblings, 1 reply; 25+ messages in thread
From: Petri Latvala @ 2018-05-15  7:34 UTC (permalink / raw)
  To: Dhinakaran Pandiyan; +Cc: igt-dev, rodrigo.vivi

On Mon, May 14, 2018 at 10:38:38AM -0700, Dhinakaran Pandiyan wrote:
> On Wed, 2018-05-09 at 10:37 -0700, Dhinakaran Pandiyan wrote:
> > I have separated out this series to only contain optimizations and
> > minor
> > fixes. The rest of the original series that switches PSR tests to use
> > timestamps will be posted after this is merged.
> > 
> > Dhinakaran Pandiyan (14):
> >   tests/psr: Print the reason for skipping when sink lacks PSR
> > support
> >   tests/psr: Remove "psr_" prefix from basic and drrs subtests
> >   tests/psr: Rename psr_active() to psr_enabled()
> >   tests/psr: Store the debugfs file descriptor
> >   tests/psr: Assert sink CRC length and make use of igt_sysfs_read()
> >   tests/psr: Optimize check for green frame.
> >   tests/psr: Kill MMAP_GTT_WAITING
> >   tests/psr: Merge PSR dpms and suspend variants.
> >   tests/psr: Remove delay between dpms toggle.
> >   tests/psr: Check for drrs status only after checking for PSR
> >   tests/sink_crc_basic: Debug print CRC values
> >   tests/psr: Get rid of global variable running_with_psr_disabled
> >   tests/psr: Eliminate storing pointers for igt_plane_type.
> >   tests/psr: Pass data_t pointer to dpms_off_on
> > 
> 
> Can someone merge this series? Series mostly contains fixes and
> optimizations for the existing tests.


Merged, thanks.


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

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

* Re: [igt-dev] [PATCH i-g-t 00/14] PSR test improvements
  2018-05-15  7:34   ` Petri Latvala
@ 2018-05-15 22:29     ` Dhinakaran Pandiyan
  0 siblings, 0 replies; 25+ messages in thread
From: Dhinakaran Pandiyan @ 2018-05-15 22:29 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev, rodrigo.vivi

On Tue, 2018-05-15 at 10:34 +0300, Petri Latvala wrote:
> On Mon, May 14, 2018 at 10:38:38AM -0700, Dhinakaran Pandiyan wrote:
> > 
> > On Wed, 2018-05-09 at 10:37 -0700, Dhinakaran Pandiyan wrote:
> > > 
> > > I have separated out this series to only contain optimizations
> > > and
> > > minor
> > > fixes. The rest of the original series that switches PSR tests to
> > > use
> > > timestamps will be posted after this is merged.
> > > 
> > > Dhinakaran Pandiyan (14):
> > >   tests/psr: Print the reason for skipping when sink lacks PSR
> > > support
> > >   tests/psr: Remove "psr_" prefix from basic and drrs subtests
> > >   tests/psr: Rename psr_active() to psr_enabled()
> > >   tests/psr: Store the debugfs file descriptor
> > >   tests/psr: Assert sink CRC length and make use of
> > > igt_sysfs_read()
> > >   tests/psr: Optimize check for green frame.
> > >   tests/psr: Kill MMAP_GTT_WAITING
> > >   tests/psr: Merge PSR dpms and suspend variants.
> > >   tests/psr: Remove delay between dpms toggle.
> > >   tests/psr: Check for drrs status only after checking for PSR
> > >   tests/sink_crc_basic: Debug print CRC values
> > >   tests/psr: Get rid of global variable running_with_psr_disabled
> > >   tests/psr: Eliminate storing pointers for igt_plane_type.
> > >   tests/psr: Pass data_t pointer to dpms_off_on
> > > 
> > Can someone merge this series? Series mostly contains fixes and
> > optimizations for the existing tests.
> 
> Merged, thanks.
> 
Thank you!

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

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

end of thread, other threads:[~2018-05-15 22:04 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-09 17:37 [igt-dev] [PATCH i-g-t 00/14] PSR test improvements Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 01/14] tests/psr: Print the reason for skipping when sink lacks PSR support Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 02/14] tests/psr: Remove "psr_" prefix from basic and drrs subtests Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 03/14] tests/psr: Rename psr_active() to psr_enabled() Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 04/14] tests/psr: Store the debugfs file descriptor Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 05/14] tests/psr: Assert sink CRC length and make use of igt_sysfs_read() Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 06/14] tests/psr: Optimize check for green frame Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 07/14] tests/psr: Kill MMAP_GTT_WAITING Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 08/14] tests/psr: Merge PSR dpms and suspend variants Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 09/14] tests/psr: Remove delay between dpms toggle Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 10/14] tests/psr: Check for drrs status only after checking for PSR Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 11/14] tests/sink_crc_basic: Debug print CRC values Dhinakaran Pandiyan
2018-05-09 23:46   ` Souza, Jose
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 12/14] tests/psr: Get rid of global variable running_with_psr_disabled Dhinakaran Pandiyan
2018-05-09 23:12   ` Souza, Jose
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 13/14] tests/psr: Eliminate storing pointers for igt_plane_type Dhinakaran Pandiyan
2018-05-09 23:46   ` Souza, Jose
2018-05-10  0:30     ` Dhinakaran Pandiyan
2018-05-09 17:37 ` [igt-dev] [PATCH i-g-t 14/14] tests/psr: Pass data_t pointer to dpms_off_on Dhinakaran Pandiyan
2018-05-09 23:34   ` Souza, Jose
2018-05-09 19:24 ` [igt-dev] ✓ Fi.CI.BAT: success for PSR test improvements Patchwork
2018-05-09 22:32 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2018-05-14 17:38 ` [igt-dev] [PATCH i-g-t 00/14] " Dhinakaran Pandiyan
2018-05-15  7:34   ` Petri Latvala
2018-05-15 22:29     ` Dhinakaran Pandiyan

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.