diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2015-03-23 12:49:08 -0700 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2015-03-23 12:50:48 -0700 |
commit | 392e8ee75fcbc4da7c972aaa03931c22ed8485e4 (patch) | |
tree | 703d06fb1c21f79c538025dcf68b3e79188145db /tests/pm_rps.c | |
parent | 1765838e34d96c7eb2288cf899ab19f819fa5cb0 (diff) |
tests/pm_rps: add test descriptions
Document a copule of the subtests with their purpose, methods, and
expected results.
Reviewed-by: Ben Widawsky <benjamin.widawsky@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'tests/pm_rps.c')
-rw-r--r-- | tests/pm_rps.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/pm_rps.c b/tests/pm_rps.c index 6289e1bd..697a154f 100644 --- a/tests/pm_rps.c +++ b/tests/pm_rps.c @@ -526,6 +526,26 @@ static void stabilize_check(int *freqs) igt_debug("Waited %d msec to stabilize cur\n", wait); } +/* + * reset - test that turbo works across a ring stop + * + * METHOD + * Apply a low GPU load, collect the resulting frequencies, then stop + * the GPU by stopping the rings. Apply alternating high and low loads + * following the restart, comparing against the previous low load freqs + * and whether the GPU ramped to max freq successfully. Finally check + * that we return to idle at the end. + * + * EXPECTED RESULTS + * Low load freqs match, high load freqs reach max, and GPU returns to + * idle at the end. + * + * FAILURES + * Failures here could indicate turbo doesn't work across a ring stop + * or that load generation routines don't successfully generate stable + * or maximal GPU loads. It could also indicate a thermal limit if the + * GPU isn't able to reach its maximum frequency. + */ static void reset(void) { int pre_freqs[NUMFREQ]; @@ -565,6 +585,27 @@ static void reset(void) idle_check(); } +/* + * blocking - test that GPU returns to idle after a forced blocking boost + * and a low GPU load. Frequencies resulting from the low load are also + * expected to match.o + * + * METHOD + * Collect frequencies resulting from a low GPU load and compare with + * frequencies collected after a quiesce and a second low load, then + * verify idle. + * + * EXPECTED RESULTS + * Frequencies match and GPU successfully returns to idle afterward. + * + * FAILURES + * Failures in this test could be due to several possible bugs: + * - load generation creates unstable frequencies, though stabilize_check() + * is supposed to catch this + * - quiescent_gpu() call does not boost GPU to max freq + * - frequency ramp down is too slow, causing second set of collected + * frequencies to be higher than the first + */ static void blocking(void) { int pre_freqs[NUMFREQ]; |