[igt-dev] [PATCH i-g-t] pm_rpm: Require DMC loaded before testing runtime_pm for gen9+
Chris Wilson
chris at chris-wilson.co.uk
Fri Aug 17 20:59:40 UTC 2018
Quoting Rodrigo Vivi (2018-08-17 21:51:25)
> Since we block runtime PM if DMC is not loaded, let's skip
> the test.
>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Imre Deak <imre.deak at intel.com>
> Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> tests/pm_rpm.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
> index bbe36e59..f8442e4a 100644
> --- a/tests/pm_rpm.c
> +++ b/tests/pm_rpm.c
> @@ -693,6 +693,16 @@ static void setup_pc8(void)
> has_pc8 = true;
> }
>
> +static bool dmc_loaded(void)
> +{
> + char buf[15];
> +
> + igt_debugfs_read(drm_fd, "i915_dmc_info", buf);
There's already a debugfs fd, so you can use
if (igt_sysfs_read(debugfs, "i915_dmc_info", buf, sizeof(buf) < 0)
return true; /* no CSR support, no DMC requirement */
You can skip the gen test as i915_dmc_info reports ENODEV for platforms
without CSR.
> +
> + igt_info("DMC: %s\n", buf);
> + return strstr(buf, "fw loaded: yes");
> +}
> +
> static bool setup_environment(void)
> {
> if (has_runtime_pm)
> @@ -716,6 +726,9 @@ static bool setup_environment(void)
> igt_info("PC8 residency support: %d\n", has_pc8);
> igt_require(has_runtime_pm);
>
> + if (intel_gen(ms_data.devid) >= 9)
> + igt_require(dmc_loaded());
> +
> out:
> disable_all_screens(&ms_data);
> return wait_for_suspended();
> --
> 2.17.1
>
More information about the igt-dev
mailing list