summaryrefslogtreecommitdiff
path: root/tests/i915/i915_pm_rpm.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2020-02-20 17:39:19 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2020-02-25 21:59:36 +0000
commit552c5f7e628d6f0ebaa460db82934fc8da3073e9 (patch)
tree47de5feebb7741abadba9d70bb4ba2afbaeadd2b /tests/i915/i915_pm_rpm.c
parent68f01edfa6279230b4730babc4463c9b7058b767 (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.c10
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);