[igt-dev] [PATCH i-g-t v2 1/5] [intel--gfx] lib/igt_pm: Moves Dmc_loaded() function into library.
Imre Deak
imre.deak at intel.com
Mon Oct 15 13:44:44 UTC 2018
No need for a '.' at the end of the subject line.
On Wed, Oct 10, 2018 at 08:01:44AM -0400, Jyoti Yadav wrote:
> It will be used by new test pm_dc.c which will validate Display C States.
> So moving the same to igt_pm libraray.
Please check spelling everywhere.
>
> Signed-off-by: Jyoti Yadav <jyoti.r.yadav at intel.com>
> ---
> lib/igt_pm.c | 28 ++++++++++++++++++++++++++++
> lib/igt_pm.h | 1 +
> tests/pm_rpm.c | 17 +----------------
> 3 files changed, 30 insertions(+), 16 deletions(-)
>
> diff --git a/lib/igt_pm.c b/lib/igt_pm.c
> index 4902723..9242127 100644
> --- a/lib/igt_pm.c
> +++ b/lib/igt_pm.c
> @@ -38,6 +38,7 @@
> #include "drmtest.h"
> #include "igt_pm.h"
> #include "igt_aux.h"
> +#include "igt_sysfs.h"
>
> /**
> * SECTION:igt_pm
> @@ -620,3 +621,30 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status)
> {
> return igt_wait(igt_get_runtime_pm_status() == status, 10000, 100);
> }
> +
> +/**
> + * dmc_loaded:
> + * @debugfs : It is an Fd to the debugfs dir.
No need for the space before ':' and you can just state what each
parameter is instead of a full sentence, so
@debugfs: fd to debugfs dir
> +
> + * Check whether DMC FW is loaded or not. DMC FW is require for few Display C
> + * states like DC5 and DC6. FW does the Context Save and Restore during Display
> + * C States entry and exit.
> + *
> + * Returns:
> + * True if DMC FW is loaded otherwise false.
> + */
> +bool igt_pm_dmc_loaded(int debugfs)
> +{
> + igt_require(debugfs != -1);
> + char buf[15];
> + int len;
> +
> + len = igt_sysfs_read(debugfs, "i915_dmc_info", buf, sizeof(buf) - 1);
> + if (len < 0)
> + return true; /* no CSR support, no DMC requirement */
> +
> + buf[len] = '\0';
> +
> + igt_info("DMC: %s\n", buf);
> + return strstr(buf, "fw loaded: yes");
> +}
> diff --git a/lib/igt_pm.h b/lib/igt_pm.h
> index 10cc679..70d2380 100644
> --- a/lib/igt_pm.h
> +++ b/lib/igt_pm.h
> @@ -50,5 +50,6 @@ bool igt_setup_runtime_pm(void);
> void igt_restore_runtime_pm(void);
> enum igt_runtime_pm_status igt_get_runtime_pm_status(void);
> bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
> +bool igt_pm_dmc_loaded(int debugfs);
>
> #endif /* IGT_PM_H */
> diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
> index c24fd95..fae6750 100644
> --- a/tests/pm_rpm.c
> +++ b/tests/pm_rpm.c
> @@ -693,21 +693,6 @@ static void setup_pc8(void)
> has_pc8 = true;
> }
>
> -static bool dmc_loaded(void)
> -{
> - char buf[15];
> - int len;
> -
> - len = igt_sysfs_read(debugfs, "i915_dmc_info", buf, sizeof(buf) - 1);
> - if (len < 0)
> - return true; /* no CSR support, no DMC requirement */
> -
> - buf[len] = '\0';
> -
> - igt_info("DMC: %s\n", buf);
> - return strstr(buf, "fw loaded: yes");
> -}
> -
> static bool setup_environment(void)
> {
> if (has_runtime_pm)
> @@ -730,7 +715,7 @@ static bool setup_environment(void)
> igt_info("Runtime PM support: %d\n", has_runtime_pm);
> igt_info("PC8 residency support: %d\n", has_pc8);
> igt_require(has_runtime_pm);
> - igt_require(dmc_loaded());
> + igt_require(igt_pm_dmc_loaded(debugfs));
>
> out:
> disable_all_screens(&ms_data);
> --
> 1.9.1
>
More information about the igt-dev
mailing list