diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2020-02-20 17:39:19 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2020-02-25 21:59:36 +0000 |
commit | 552c5f7e628d6f0ebaa460db82934fc8da3073e9 (patch) | |
tree | 47de5feebb7741abadba9d70bb4ba2afbaeadd2b /tests/i915/i915_pm_rpm.c | |
parent | 68f01edfa6279230b4730babc4463c9b7058b767 (diff) |
i915/i915_pm_rpm: Only check for suspend failures after each debugfs entry
Since we check before and then after each debugfs entry, we do not need
to check before each time as well. We will error out as soon as it does
fail, at all other times we know the system to be idle.
No impact on runtime for glk (which apparently is one of the better
behaving systems).
v2: Assert that we are currently suspended prior to opening the file,
i.e. that nothing else is waking up the device behind our backs.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Martin Peres <martin.peres@linux.intel.com>
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
Diffstat (limited to 'tests/i915/i915_pm_rpm.c')
-rw-r--r-- | tests/i915/i915_pm_rpm.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c index 1bec80db..0d1d94ca 100644 --- a/tests/i915/i915_pm_rpm.c +++ b/tests/i915/i915_pm_rpm.c @@ -183,6 +183,14 @@ static enum pc8_status get_pc8_status(void) return PC8_DISABLED; } +static bool is_suspended(void) +{ + if (has_pc8 && !has_runtime_pm) + return get_pc8_status() == PC8_ENABLED; + else + return igt_get_runtime_pm_status() == IGT_RUNTIME_PM_STATUS_SUSPENDED; +} + static bool wait_for_pc8_status(enum pc8_status status) { return igt_wait(get_pc8_status() == status, 10000, 100); @@ -932,7 +940,7 @@ static int read_entry(const char *filepath, int fd; int rc; - igt_assert_f(wait_for_suspended(), "Before opening: %s (%s)\n", + igt_assert_f(is_suspended(), "Before opening: %s (%s)\n", filepath + pathinfo->base, filepath); fd = open(filepath, O_RDONLY | O_NONBLOCK); |