[PATCH i-g-t v3 4/5] lib/igt_pm: Move check_dpms to igt_pm lib
Reddy Guddati, Santhosh
santhosh.reddy.guddati at intel.com
Fri Jul 25 11:08:59 UTC 2025
Hi Karthik,
On 25-07-2025 15:20, Reddy Guddati, Santhosh wrote:
>
>
> ------------------------------------------------------------------------
> *From:* B S, Karthik <karthik.b.s at intel.com>
> *Sent:* Wednesday, July 23, 2025 11:23 AM
> *To:* igt-dev at lists.freedesktop.org <igt-dev at lists.freedesktop.org>
> *Cc:* Reddy Guddati, Santhosh <santhosh.reddy.guddati at intel.com>;
> Murthy, Arun R <arun.r.murthy at intel.com>; B, Jeevan
> <jeevan.b at intel.com>; B S, Karthik <karthik.b.s at intel.com>
> *Subject:* [PATCH i-g-t v3 4/5] lib/igt_pm: Move check_dpms to igt_pm lib
> The check_dpms function in kms_pm_backlight.c is moved to igt_pm lib
> to make it accessible to other subtests which need to perform a
> simple DPMS toggle.
>
> Signed-off-by: Karthik B S <karthik.b.s at intel.com>
> ---
> lib/igt_pm.c | 21 +++++++++++++++++++++
> lib/igt_pm.h | 1 +
> tests/intel/kms_pm_backlight.c | 20 ++------------------
> 3 files changed, 24 insertions(+), 18 deletions(-)
>
> diff --git a/lib/igt_pm.c b/lib/igt_pm.c
> index 7f9cbd69a..cf1c442f8 100644
> --- a/lib/igt_pm.c
> +++ b/lib/igt_pm.c
> @@ -1487,3 +1487,24 @@ bool igt_has_pci_pm_capability(struct pci_device
> *pci_dev)
>
> return (offset > 0);
> }
> +
> +/**
> + * igt_pm_dpms_toggle:
> + * @output: igt output for which DPMS toggle has to be performed
> + *
> + * Toggles the DPMS state of output to OFF and then back ON.
> + */
> +void igt_pm_dpms_toggle(igt_output_t *output)
> +{
> + igt_require(igt_setup_runtime_pm(output->display->drm_fd));
> +
> + kmstest_set_connector_dpms(output->display->drm_fd,
> + output->config.connector,
> + DRM_MODE_DPMS_OFF);
> +
> igt_require(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> +
> + kmstest_set_connector_dpms(output->display->drm_fd,
> + output->config.connector,
> + DRM_MODE_DPMS_ON);
> + igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE));
> +}
LGTM,
Reviewed-by: Santhosh Reddy Guddati <santhosh.reddy.guddati at intel.com>>
diff --git a/lib/igt_pm.h b/lib/igt_pm.h
> index c73972f2a..e931e51af 100644
> --- a/lib/igt_pm.h
> +++ b/lib/igt_pm.h
> @@ -98,5 +98,6 @@ uint64_t igt_pm_get_runtime_active_time(struct
> pci_device *pci_dev);
> int igt_pm_get_runtime_usage(struct pci_device *pci_dev);
> void igt_pm_ignore_slpc_efficient_freq(int i915, int gtfd, bool val);
> bool igt_has_pci_pm_capability(struct pci_device *pci_dev);
> +void igt_pm_dpms_toggle(igt_output_t *output);
>
> LGTM,
> Reviewed-by: Santhosh Reddy Guddati <santhosh.reddy.guddati at intel.com>
>
> #endif /* IGT_PM_H */
> diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c
> index 9b341c73a..a0ecf2b0e 100644
> --- a/tests/intel/kms_pm_backlight.c
> +++ b/tests/intel/kms_pm_backlight.c
> @@ -142,22 +142,6 @@ static void test_fade(igt_backlight_context_t *context)
> }
> }
>
> -static void
> -check_dpms(igt_output_t *output)
> -{
> - igt_require(igt_setup_runtime_pm(output->display->drm_fd));
> -
> - kmstest_set_connector_dpms(output->display->drm_fd,
> - output->config.connector,
> - DRM_MODE_DPMS_OFF);
> -
> igt_require(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> -
> - kmstest_set_connector_dpms(output->display->drm_fd,
> - output->config.connector,
> - DRM_MODE_DPMS_ON);
> - igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE));
> -}
> -
> static void check_dpms_cycle(igt_backlight_context_t *context)
> {
> int max, val_1, val_2;
> @@ -168,7 +152,7 @@ static void check_dpms_cycle(igt_backlight_context_t
> *context)
> igt_backlight_write(max / 2, "brightness", context);
> igt_backlight_read(&val_1, "actual_brightness", context);
>
> - check_dpms(context->output);
> + igt_pm_dpms_toggle(context->output);
>
> igt_backlight_read(&val_2, "actual_brightness", context);
> igt_assert_eq(val_1, val_2);
> @@ -310,7 +294,7 @@ igt_main
> test_setup(display, &contexts->output[j]);
>
> if (tests[i].flags == TEST_DPMS)
> - check_dpms(contexts[j].output);
> +
> igt_pm_dpms_toggle(contexts[j].output);
>
> if (tests[i].flags == TEST_SUSPEND)
> check_suspend(contexts[j].output);
> --
> 2.43.0
>
More information about the igt-dev
mailing list