[i-g-t,1/2] tests/pm_rpm: Enable PC8+ residency test for ICL and GEN9.
diff mbox series

Message ID 1550768878-20598-2-git-send-email-anshuman.gupta@intel.com
State New
Headers show
Series
  • Enabling PC8+ residency for ICL and GEN9.
Related show

Commit Message

Anshuman Gupta Feb. 21, 2019, 5:07 p.m. UTC
Enabled has_pc8 global for ICL and Gen9.
Added PC8+ residency test for display enabled case as well.

Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 tests/pm_rpm.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

Comments

Imre Deak Feb. 25, 2019, 3:16 p.m. UTC | #1
On Thu, Feb 21, 2019 at 10:37:57PM +0530, Anshuman Gupta wrote:
> Enabled has_pc8 global for ICL and Gen9.
> Added PC8+ residency test for display enabled case as well.
> 
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> ---
>  tests/pm_rpm.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
> index be296f5..c84f199 100644
> --- a/tests/pm_rpm.c
> +++ b/tests/pm_rpm.c
> @@ -686,7 +686,8 @@ static void setup_pc8(void)
>  	has_pc8 = false;
>  
>  	/* Only Haswell supports the PC8 feature. */
> -	if (!IS_HASWELL(ms_data.devid) && !IS_BROADWELL(ms_data.devid))
> +	if (!IS_HASWELL(ms_data.devid) && !IS_BROADWELL(ms_data.devid)
> +		&& !IS_GEN9(ms_data.devid) && !IS_ICELAKE(ms_data.devid))

Could be made future proof by

	if (!HSW && !BDW && GEN<9)
		return;

>  		return;
>  
>  	/* Make sure our Kernel supports MSR and the module is loaded. */
> @@ -806,11 +807,15 @@ static void pc8_residency_subtest(void)
>  	igt_assert_f(pc8_plus_residency_changed(30),
>  		     "Machine is not reaching PC8+ states, please check its "
>  		     "configuration.\n");
> -
> -	/* Make sure PC8+ residencies stop! */
>  	enable_one_screen(&ms_data);
> -	igt_assert_f(!pc8_plus_residency_changed(10),
> +	if (IS_HASWELL(ms_data.devid) && IS_BROADWELL(ms_data.devid)) {

Perhaps add a pc8_needs_screen_off flag? As it's also needed in the next
patch.

Since PC8 doesn't require the screen to be off on GEN9+ we may also need
a subtest for that case, but I'm not sure what's the exact requirement
to get into PC8 in that case (how many displays can be enabled, in what
resolution).

> +		/* Make sure PC8+ residencies stop! */
> +		igt_assert_f(!pc8_plus_residency_changed(10),
> +		     "PC8+ residency didn't stop with screen enabled.\n");
> +	} else {
> +		igt_assert_f(pc8_plus_residency_changed(10),
>  		     "PC8+ residency didn't stop with screen enabled.\n");
> +	}
>  }
>  
>  static void modeset_subtest(enum screen_type type, int rounds, int wait_flags)
> -- 
> 2.7.4
>

Patch
diff mbox series

diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
index be296f5..c84f199 100644
--- a/tests/pm_rpm.c
+++ b/tests/pm_rpm.c
@@ -686,7 +686,8 @@  static void setup_pc8(void)
 	has_pc8 = false;
 
 	/* Only Haswell supports the PC8 feature. */
-	if (!IS_HASWELL(ms_data.devid) && !IS_BROADWELL(ms_data.devid))
+	if (!IS_HASWELL(ms_data.devid) && !IS_BROADWELL(ms_data.devid)
+		&& !IS_GEN9(ms_data.devid) && !IS_ICELAKE(ms_data.devid))
 		return;
 
 	/* Make sure our Kernel supports MSR and the module is loaded. */
@@ -806,11 +807,15 @@  static void pc8_residency_subtest(void)
 	igt_assert_f(pc8_plus_residency_changed(30),
 		     "Machine is not reaching PC8+ states, please check its "
 		     "configuration.\n");
-
-	/* Make sure PC8+ residencies stop! */
 	enable_one_screen(&ms_data);
-	igt_assert_f(!pc8_plus_residency_changed(10),
+	if (IS_HASWELL(ms_data.devid) && IS_BROADWELL(ms_data.devid)) {
+		/* Make sure PC8+ residencies stop! */
+		igt_assert_f(!pc8_plus_residency_changed(10),
+		     "PC8+ residency didn't stop with screen enabled.\n");
+	} else {
+		igt_assert_f(pc8_plus_residency_changed(10),
 		     "PC8+ residency didn't stop with screen enabled.\n");
+	}
 }
 
 static void modeset_subtest(enum screen_type type, int rounds, int wait_flags)