From 669a2fca6c5ccd256d2d767107963840f7de438e Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Wed, 26 Mar 2014 21:30:17 +0100 Subject: [PATCH] tests/pm_rps: quiescent harder Apparently some rps chips are prone to stick to max once you're there. And all the synchronous waits in gem_quiescent_gpu are _really_ good at forcing the kernel to go full throttle. And even a positively tiny load (one MI_STORE_IMM per 50 ms) is enough to eternally keeep it there, which means the first idle measurement of the freqs before we do the reset it completely busted. Just add a wait before the tricky test and call it a day. Option b) would have been to now have this tiny load, but I think a good reminder how quirky rps is is always welcome. Just in case we start sleeping too easy at night. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74956 Signed-off-by: Daniel Vetter --- tests/pm_rps.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/pm_rps.c b/tests/pm_rps.c index 157f9e39..7898e78c 100644 --- a/tests/pm_rps.c +++ b/tests/pm_rps.c @@ -488,6 +488,12 @@ static void reset(void) int pre_freqs[NUMFREQ]; int post_freqs[NUMFREQ]; + /* + * quiescent_gpu upsets the gpu and makes it get pegged to max somehow. + * Don't ask. + */ + sleep(10); + igt_debug("Apply low load...\n"); load_helper_run(LOW); stabilize_check(pre_freqs);