[igt-dev] [PATCH i-g-t] i915/i915_pm_rpm: Only check for suspend failures after each debugfs entry
Martin Peres
martin.peres at linux.intel.com
Mon Feb 24 09:16:02 UTC 2020
On 2020-02-21 15:56, Chris Wilson wrote:
> 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 at chris-wilson.co.uk>
> Cc: Martin Peres <martin.peres at linux.intel.com>
This changes the purpose of this test, but checking that nothing is
waking the driver in the background sound like a good test and could
explain the terribly-slow runtime on some platforms!
Reviewed-by: Martin Peres <martin.peres at linux.intel.com>
Please inform me before merging the patch, so as I can suppress the test
ahead of the merge.
> ---
> tests/i915/i915_pm_rpm.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
> index 0c2821122..36416a9db 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);
>
More information about the igt-dev
mailing list