Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Gupta, Anshuman" <anshuman.gupta@intel.com>
To: "Tauro, Riana" <riana.tauro@intel.com>,
	"igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>
Subject: Re: [igt-dev] [PATCH i-g-t v4 3/3] lib/igt_aux: add library function to read current selected state of mem_sleep
Date: Wed, 11 May 2022 09:35:33 +0000	[thread overview]
Message-ID: <2727b8aba7fb45cbaebd827090fcd70f@intel.com> (raw)
In-Reply-To: <20220504133324.2576100-4-riana.tauro@intel.com>



> -----Original Message-----
> From: Tauro, Riana <riana.tauro@intel.com>
> Sent: Wednesday, May 4, 2022 7:03 PM
> To: igt-dev@lists.freedesktop.org
> Cc: Tauro, Riana <riana.tauro@intel.com>; Gupta, Anshuman
> <anshuman.gupta@intel.com>
> Subject: [PATCH i-g-t v4 3/3] lib/igt_aux: add library function to read current
Reorder this patch in this series , patch using this api should follow this pacth.
> selected state of mem_sleep
> 
> From: "Tauro, Riana" <riana.tauro@intel.com>
> 
> Add a library function to read the current state of mem_sleep.
> This is used by suspend tests without i915 to skip s3 tests if platform supports
> only s2idle state
"If platform has default state as s2idle"
It is worth to mention in commit log that I will save CI time.
> 
> Signed-off-by: Tauro, Riana <riana.tauro@intel.com>
> ---
>  lib/igt_aux.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  lib/igt_aux.h | 19 +++++++++++++++++++
>  2 files changed, 69 insertions(+)
> 
> diff --git a/lib/igt_aux.c b/lib/igt_aux.c index 03cc38c9..baa88290 100644
> --- a/lib/igt_aux.c
> +++ b/lib/igt_aux.c
> @@ -710,6 +710,12 @@ static const char *suspend_test_name[] = {
>  	[SUSPEND_TEST_CORE] = "core",
>  };
> 
> +static const char *mem_sleep_label[] = {
How about mem_sleep_name[] ?
> +	[MEM_SLEEP_FREEZE] = "s2idle",
> +	[MEM_SLEEP_STANDBY] = "shallow",
> +	[MEM_SLEEP_MEM] = "deep"
> +};
> +
>  static enum igt_suspend_test get_suspend_test(int power_dir)  {
>  	char *test_line;
> @@ -951,6 +957,50 @@ int igt_get_autoresume_delay(enum
> igt_suspend_state state)
>  	return delay;
>  }
> 
> +/**
> + * igt_get_memsleep_state
> + *
> + * Reads the value of /sys/power/mem_sleep and
> + * returns the current suspend state associated with 'mem'.
> + *
> + * Returns : an#igt_mem_sleep state, current suspend state associated with
> 'mem'.
space after 'an'
> + */
> +int igt_get_memsleep_state(void)
> +{
> +	char *mem_sleep_line;
	How about mem_sleep_states ?
> +	char *mem_sleep_state;
> +	enum igt_mem_sleep mem_sleep;
> +	int power_dir;
> +
> +	igt_require((power_dir = open("/sys/power", O_RDONLY)) >= 0);
> +
> +	if (faccessat(power_dir, "mem_sleep", R_OK, 0))
> +		return MEM_SLEEP_NONE;
> +
> +	igt_assert((mem_sleep_line = igt_sysfs_get(power_dir, "mem_sleep")));
> +	for (mem_sleep_state = strtok(mem_sleep_line, " "); mem_sleep_state;
> +	     mem_sleep_state = strtok(NULL, " "))
> +		if (mem_sleep_state[0] == '[') {
> +			mem_sleep_state[strlen(mem_sleep_state) - 1] = '\0';
> +			mem_sleep_state++;
> +			break;
> +		}
> +         Use braces here. 
> +	if (!mem_sleep_state) {
> +		free(mem_sleep_line);
> +		return MEM_SLEEP_NONE;
> +	}
> +
> +	for (mem_sleep = MEM_SLEEP_FREEZE; mem_sleep <
> MEM_SLEEP_NUM; mem_sleep++)
> +		if (strcmp(mem_sleep_label[mem_sleep], mem_sleep_state) ==
> 0)
> +			break;
	Here as well, it is more readable with braces. 
> +
> +	igt_assert(mem_sleep < MEM_SLEEP_NUM);
	Use igt_assert_f with a meaningful message.

               Br ,
	Anshuman.
> +
> +	free(mem_sleep_line);
> +	close(power_dir);
> +	return mem_sleep;
> +}
>  /**
>   * igt_drop_root:
>   *
> diff --git a/lib/igt_aux.h b/lib/igt_aux.h index 9f2588ae..2f7efd9c 100644
> --- a/lib/igt_aux.h
> +++ b/lib/igt_aux.h
> @@ -186,11 +186,30 @@ enum igt_suspend_test {
>  	SUSPEND_TEST_NUM,
>  };
> 
> +/**
> + * igt_mem_sleep:
> + * @MEM_SLEEP_NONE: no support
> + * @MEM_SLEEP_FREEZE: suspend-to-idle target state, aka S0ix or freeze,
> + * @MEM_SLEEP_STANDBY: standby target state, aka S1
> + * @MEM_SLEEP_MEM: suspend-to-mem target state aka S3  */ enum
> +igt_mem_sleep {
> +	MEM_SLEEP_NONE,
> +	MEM_SLEEP_FREEZE,
> +	MEM_SLEEP_STANDBY,
> +	MEM_SLEEP_MEM,
> +
> +	/*<private>*/
> +	MEM_SLEEP_NUM,
> +};
> +
>  void igt_system_suspend_autoresume(enum igt_suspend_state state,
>  				   enum igt_suspend_test test);
>  void igt_set_autoresume_delay(int delay_secs);  int
> igt_get_autoresume_delay(enum igt_suspend_state state);
> 
> +int igt_get_memsleep_state(void);
> +
>  /* dropping priviledges */
>  void igt_drop_root(void);
> 
> --
> 2.25.1

  reply	other threads:[~2022-05-11  9:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-04 13:33 [igt-dev] [PATCH i-g-t v4 0/3] Extend system-suspend-without-i915 Riana Tauro
2022-05-04 13:33 ` [igt-dev] [PATCH i-g-t v4 1/3] tests/i915/i915_suspend: Add s2idle and s3 subtests without i915 Riana Tauro
2022-05-04 13:33 ` [igt-dev] [PATCH i-g-t v4 2/3] tests/intel-ci/fast-feedback: Add suspend tests without i915 to fast-feedback list Riana Tauro
2022-05-04 13:33 ` [igt-dev] [PATCH i-g-t v4 3/3] lib/igt_aux: add library function to read current selected state of mem_sleep Riana Tauro
2022-05-11  9:35   ` Gupta, Anshuman [this message]
2022-05-04 14:28 ` [igt-dev] ✓ Fi.CI.BAT: success for Extend system-suspend-without-i915 (rev5) Patchwork
2022-05-04 20:56 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2727b8aba7fb45cbaebd827090fcd70f@intel.com \
    --to=anshuman.gupta@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=riana.tauro@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox