diff mbox

[I-G-T,2/4] tests/kms_psr_sink_crc: Refactor to use new PSR library primitives

Message ID 1487029408-28483-2-git-send-email-jim.bride@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

jim.bride@linux.intel.com Feb. 13, 2017, 11:43 p.m. UTC
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Jim Bride <jim.bride@linux.intel.com>
---
 tests/kms_psr_sink_crc.c | 53 ++++++++++--------------------------------------
 1 file changed, 11 insertions(+), 42 deletions(-)

Comments

Rodrigo Vivi March 23, 2017, 10:22 p.m. UTC | #1
On Mon, 2017-02-13 at 15:43 -0800, Jim Bride wrote:
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>

> Signed-off-by: Jim Bride <jim.bride@linux.intel.com>

> ---

>  tests/kms_psr_sink_crc.c | 53 ++++++++++--------------------------------------

>  1 file changed, 11 insertions(+), 42 deletions(-)

> 

> diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c

> index 8f6bdc0..1d9eb11 100644

> --- a/tests/kms_psr_sink_crc.c

> +++ b/tests/kms_psr_sink_crc.c

> @@ -191,37 +191,6 @@ 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)

> -{

> -	char buf[512];

> -

> -	igt_debugfs_read("i915_edp_psr_status", buf);

> -

> -	return running_with_psr_disabled ||


Oh! this patch removes the hability to run with psr disabled!

I really likes this functionality so we can know what to expect when PSR
is in place.

> -		strstr(buf, "Sink_Support: yes\n");

> -}

> -

> -static bool psr_active(data_t *data)

> -{

> -	char buf[512];

> -

> -	igt_debugfs_read("i915_edp_psr_status", buf);

> -

> -	return running_with_psr_disabled ||

> -		strstr(buf, "HW Enabled & Active bit: yes\n");

> -}

> -

> -static bool wait_psr_entry(data_t *data)

> -{

> -	int timeout = 5;

> -	while (timeout--) {

> -		if (psr_active(data))

> -			return true;

> -		sleep(1);

> -	}

> -	return false;

> -}

> -

>  static void get_sink_crc(data_t *data, char *crc) {

>  	int ret;

>  	FILE *file;

> @@ -301,7 +270,7 @@ static void run_test(data_t *data)

>  	assert_or_manual(is_green(ref_crc), "screen GREEN");

>  

>  	/* Confirm screen stays Green after PSR got active */

> -	igt_assert(wait_psr_entry(data));

> +	igt_assert(igt_psr_await_status(true));

>  	get_sink_crc(data, ref_crc);

>  	assert_or_manual(is_green(ref_crc), "screen GREEN");

>  

> @@ -315,7 +284,7 @@ static void run_test(data_t *data)

>  	igt_display_commit(&data->display);

>  

>  	/* Confirm it is not Green anymore */

> -	igt_assert(wait_psr_entry(data));

> +	igt_assert(igt_psr_await_status(true));

>  	get_sink_crc(data, ref_crc);

>  	if (data->test_plane == DRM_PLANE_TYPE_PRIMARY)

>  		assert_or_manual(!is_green(ref_crc), "screen WHITE");

> @@ -513,7 +482,7 @@ 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_skip_on(!igt_psr_possible());

>  

>  		data.bufmgr = drm_intel_bufmgr_gem_init(data.drm_fd, 4096);

>  		igt_assert(data.bufmgr);

> @@ -524,7 +493,7 @@ int main(int argc, char *argv[])

>  

>  	igt_subtest("psr_basic") {

>  		setup_test_plane(&data);

> -		igt_assert(wait_psr_entry(&data));

> +		igt_assert(igt_psr_await_status(true));

>  	}

>  

>  	for (op = PAGE_FLIP; op <= RENDER; op++) {

> @@ -532,7 +501,7 @@ int main(int argc, char *argv[])

>  			data.test_plane = DRM_PLANE_TYPE_PRIMARY;

>  			data.op = op;

>  			setup_test_plane(&data);

> -			igt_assert(wait_psr_entry(&data));

> +			igt_assert(igt_psr_await_status(true));

>  			run_test(&data);

>  			test_cleanup(&data);

>  		}

> @@ -543,7 +512,7 @@ int main(int argc, char *argv[])

>  			data.test_plane = DRM_PLANE_TYPE_OVERLAY;

>  			data.op = op;

>  			setup_test_plane(&data);

> -			igt_assert(wait_psr_entry(&data));

> +			igt_assert(igt_psr_await_status(true));

>  			run_test(&data);

>  			test_cleanup(&data);

>  		}

> @@ -554,7 +523,7 @@ int main(int argc, char *argv[])

>  			data.test_plane = DRM_PLANE_TYPE_CURSOR;

>  			data.op = op;

>  			setup_test_plane(&data);

> -			igt_assert(wait_psr_entry(&data));

> +			igt_assert(igt_psr_await_status(true));

>  			run_test(&data);

>  			test_cleanup(&data);

>  		}

> @@ -564,7 +533,7 @@ int main(int argc, char *argv[])

>  		data.test_plane = DRM_PLANE_TYPE_PRIMARY;

>  		data.op = RENDER;

>  		setup_test_plane(&data);

> -		igt_assert(wait_psr_entry(&data));

> +		igt_assert(igt_psr_await_status(true));

>  

>  		dpms_off_on(data);

>  

> @@ -579,7 +548,7 @@ int main(int argc, char *argv[])

>  

>  		dpms_off_on(data);

>  

> -		igt_assert(wait_psr_entry(&data));

> +		igt_assert(igt_psr_await_status(true));

>  		run_test(&data);

>  		test_cleanup(&data);

>  	}

> @@ -588,7 +557,7 @@ int main(int argc, char *argv[])

>  		data.test_plane = DRM_PLANE_TYPE_PRIMARY;

>  		data.op = PAGE_FLIP;

>  		setup_test_plane(&data);

> -		igt_assert(wait_psr_entry(&data));

> +		igt_assert(igt_psr_await_status(true));

>  

>  		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,

>  					      SUSPEND_TEST_NONE);

> @@ -605,7 +574,7 @@ int main(int argc, char *argv[])

>  		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,

>  					      SUSPEND_TEST_NONE);

>  

> -		igt_assert(wait_psr_entry(&data));

> +		igt_assert(igt_psr_await_status(true));

>  		run_test(&data);

>  		test_cleanup(&data);

>  	}
diff mbox

Patch

diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index 8f6bdc0..1d9eb11 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -191,37 +191,6 @@  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)
-{
-	char buf[512];
-
-	igt_debugfs_read("i915_edp_psr_status", buf);
-
-	return running_with_psr_disabled ||
-		strstr(buf, "Sink_Support: yes\n");
-}
-
-static bool psr_active(data_t *data)
-{
-	char buf[512];
-
-	igt_debugfs_read("i915_edp_psr_status", buf);
-
-	return running_with_psr_disabled ||
-		strstr(buf, "HW Enabled & Active bit: yes\n");
-}
-
-static bool wait_psr_entry(data_t *data)
-{
-	int timeout = 5;
-	while (timeout--) {
-		if (psr_active(data))
-			return true;
-		sleep(1);
-	}
-	return false;
-}
-
 static void get_sink_crc(data_t *data, char *crc) {
 	int ret;
 	FILE *file;
@@ -301,7 +270,7 @@  static void run_test(data_t *data)
 	assert_or_manual(is_green(ref_crc), "screen GREEN");
 
 	/* Confirm screen stays Green after PSR got active */
-	igt_assert(wait_psr_entry(data));
+	igt_assert(igt_psr_await_status(true));
 	get_sink_crc(data, ref_crc);
 	assert_or_manual(is_green(ref_crc), "screen GREEN");
 
@@ -315,7 +284,7 @@  static void run_test(data_t *data)
 	igt_display_commit(&data->display);
 
 	/* Confirm it is not Green anymore */
-	igt_assert(wait_psr_entry(data));
+	igt_assert(igt_psr_await_status(true));
 	get_sink_crc(data, ref_crc);
 	if (data->test_plane == DRM_PLANE_TYPE_PRIMARY)
 		assert_or_manual(!is_green(ref_crc), "screen WHITE");
@@ -513,7 +482,7 @@  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_skip_on(!igt_psr_possible());
 
 		data.bufmgr = drm_intel_bufmgr_gem_init(data.drm_fd, 4096);
 		igt_assert(data.bufmgr);
@@ -524,7 +493,7 @@  int main(int argc, char *argv[])
 
 	igt_subtest("psr_basic") {
 		setup_test_plane(&data);
-		igt_assert(wait_psr_entry(&data));
+		igt_assert(igt_psr_await_status(true));
 	}
 
 	for (op = PAGE_FLIP; op <= RENDER; op++) {
@@ -532,7 +501,7 @@  int main(int argc, char *argv[])
 			data.test_plane = DRM_PLANE_TYPE_PRIMARY;
 			data.op = op;
 			setup_test_plane(&data);
-			igt_assert(wait_psr_entry(&data));
+			igt_assert(igt_psr_await_status(true));
 			run_test(&data);
 			test_cleanup(&data);
 		}
@@ -543,7 +512,7 @@  int main(int argc, char *argv[])
 			data.test_plane = DRM_PLANE_TYPE_OVERLAY;
 			data.op = op;
 			setup_test_plane(&data);
-			igt_assert(wait_psr_entry(&data));
+			igt_assert(igt_psr_await_status(true));
 			run_test(&data);
 			test_cleanup(&data);
 		}
@@ -554,7 +523,7 @@  int main(int argc, char *argv[])
 			data.test_plane = DRM_PLANE_TYPE_CURSOR;
 			data.op = op;
 			setup_test_plane(&data);
-			igt_assert(wait_psr_entry(&data));
+			igt_assert(igt_psr_await_status(true));
 			run_test(&data);
 			test_cleanup(&data);
 		}
@@ -564,7 +533,7 @@  int main(int argc, char *argv[])
 		data.test_plane = DRM_PLANE_TYPE_PRIMARY;
 		data.op = RENDER;
 		setup_test_plane(&data);
-		igt_assert(wait_psr_entry(&data));
+		igt_assert(igt_psr_await_status(true));
 
 		dpms_off_on(data);
 
@@ -579,7 +548,7 @@  int main(int argc, char *argv[])
 
 		dpms_off_on(data);
 
-		igt_assert(wait_psr_entry(&data));
+		igt_assert(igt_psr_await_status(true));
 		run_test(&data);
 		test_cleanup(&data);
 	}
@@ -588,7 +557,7 @@  int main(int argc, char *argv[])
 		data.test_plane = DRM_PLANE_TYPE_PRIMARY;
 		data.op = PAGE_FLIP;
 		setup_test_plane(&data);
-		igt_assert(wait_psr_entry(&data));
+		igt_assert(igt_psr_await_status(true));
 
 		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
 					      SUSPEND_TEST_NONE);
@@ -605,7 +574,7 @@  int main(int argc, char *argv[])
 		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
 					      SUSPEND_TEST_NONE);
 
-		igt_assert(wait_psr_entry(&data));
+		igt_assert(igt_psr_await_status(true));
 		run_test(&data);
 		test_cleanup(&data);
 	}