[PATCH i-g-t] HAX test/kms_flip: Enable trace and logging for vblank event

Mohammed Khajapasha mohammed.khajapasha at intel.com
Mon Apr 6 05:38:48 UTC 2020


Enable trace and logging for vblank event.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha at intel.com>
---
 tests/intel-ci/fast-feedback.testlist |  3 +++
 tests/kms_flip.c                      | 24 ++++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index f180040e..d8d49251 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -108,6 +108,9 @@ igt at kms_flip@basic-flip-vs-dpms
 igt at kms_flip@basic-flip-vs-modeset
 igt at kms_flip@basic-flip-vs-wf_vblank
 igt at kms_flip@basic-plain-flip
+igt at kms_flip@flip-vs-modeset
+igt at kms_flip@flip-vs-expired-vblank
+igt at kms_flip@flip-vs-expired-vblank-interruptible
 igt at kms_force_connector_basic@force-connector-state
 igt at kms_force_connector_basic@force-edid
 igt at kms_force_connector_basic@force-load-detect
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 9ce83c53..ace93eb0 100755
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -644,6 +644,26 @@ static int set_mode(struct test_output *o, uint32_t fb, int x, int y)
 	return 0;
 }
 
+static void enable_trace_log(void)
+{
+	system("echo 0x125 > /sys/module/drm/parameters/debug");
+	system("echo 0 > /sys/kernel/debug/tracing/tracing_on");
+	system("echo > /sys/kernel/debug/tracing/trace");
+	system("echo nop > /sys/kernel/debug/tracing/current_tracer");
+	system("echo 1 > /sys/kernel/debug/tracing/events/drm/enable");
+	system("echo 1 > /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable");
+	system("echo 1 > /sys/kernel/debug/tracing/events/sched/sched_waking/enable");
+	system("echo 1 > /sys/kernel/debug/tracing/events/sched/sched_process_exec/enable");
+	system("echo 1 > /sys/kernel/debug/tracing/events/sched/sched_process_wait/enable");
+	system("echo 1 > /sys/kernel/debug/tracing/tracing_on");
+}
+
+static void disable_trace_log(void)
+{
+	system("echo 0 > /sys/kernel/debug/tracing/tracing_on");
+	system("cat /sys/kernel/debug/tracing/trace");
+}
+
 /* Return mask of completed events. */
 static unsigned int run_test_step(struct test_output *o)
 {
@@ -688,12 +708,16 @@ static unsigned int run_test_step(struct test_output *o)
 		unsigned long start, end;
 
 		exp_seq = o->flip_state.current_seq;
+		/* enable tracing and logging for VLK-2048 */
+		enable_trace_log();
 		start = gettime_us();
 		do_or_die(__wait_for_vblank(TEST_VBLANK_ABSOLUTE |
 					    TEST_VBLANK_BLOCK, o->pipe, exp_seq,
 					    0, &reply));
 		end = gettime_us();
 		igt_debug("Vblank took %luus\n", end - start);
+		if ((end - start) > 500)
+			disable_trace_log();
 		igt_assert(end - start < 500);
 		igt_assert_eq(reply.sequence, exp_seq);
 		igt_assert(timercmp(&reply.ts, &o->flip_state.last_ts, ==));
-- 
2.24.1



More information about the Intel-gfx-trybot mailing list