[igt-dev] [PATCH i-g-t 1/2] tests/pm_rpm: Enable PC8+ residency test for ICL and GEN9.

Imre Deak imre.deak at intel.com
Mon Feb 25 15:16:36 UTC 2019


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 at 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
> 


More information about the igt-dev mailing list