[1/2] igt/pm_rps: current freq < user specified min is not a fail (v2)
diff mbox

Message ID 1448929399-24498-2-git-send-email-bob.j.paauwe@intel.com
State New
Headers show

Commit Message

Bob Paauwe Dec. 1, 2015, 12:23 a.m. UTC
Since commit

  commit aed242ff7ebb697e4dff912bd4dc7ec7192f7581
  Author: Chris Wilson <chris@chris-wilson.co.uk>
  Date:   Wed Mar 18 09:48:21 2015 +0000

      drm/i915: Relax RPS contraints to allows setting minfreq on idle

it is now possible that the current frequency will drop be the user
specified minimum frequency to the "idle" or RPn frequency. Update the
 pm_rps tests to reflect that droping below the user specified minimum
is no longer considered a failure.

v2: Add check RPn <= current freq. (Me)
Signed-off-by: Bob Paauwe <bob.j.paauwe@intel.com>
---
 tests/pm_rps.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Imre Deak Dec. 1, 2015, 1:51 p.m. UTC | #1
On ma, 2015-11-30 at 16:23 -0800, Bob Paauwe wrote:
> Since commit
> 
>   commit aed242ff7ebb697e4dff912bd4dc7ec7192f7581
>   Author: Chris Wilson <chris@chris-wilson.co.uk>
>   Date:   Wed Mar 18 09:48:21 2015 +0000
> 
>       drm/i915: Relax RPS contraints to allows setting minfreq on
> idle
> 
> it is now possible that the current frequency will drop be the user
> specified minimum frequency to the "idle" or RPn frequency. Update
> the
>  pm_rps tests to reflect that droping below the user specified
> minimum
> is no longer considered a failure.
> 
> v2: Add check RPn <= current freq. (Me)
> Signed-off-by: Bob Paauwe <bob.j.paauwe@intel.com>
> ---
>  tests/pm_rps.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/pm_rps.c b/tests/pm_rps.c
> index 74f08f4..f919625 100644
> --- a/tests/pm_rps.c
> +++ b/tests/pm_rps.c
> @@ -146,7 +146,7 @@ static void checkit(const int *freqs)
>  {
>  	igt_assert_lte(freqs[MIN], freqs[MAX]);
>  	igt_assert_lte(freqs[CUR], freqs[MAX]);
> -	igt_assert_lte(freqs[MIN], freqs[CUR]);
> +	igt_assert_lte(freqs[RPn], freqs[CUR]);
>  	igt_assert_lte(freqs[RPn], freqs[MIN]);
>  	igt_assert_lte(freqs[MAX], freqs[RP0]);
>  	igt_assert_lte(freqs[RP1], freqs[RP0]);
> @@ -472,14 +472,14 @@ static void idle_check(void)
>  		read_freqs(freqs);
>  		dump(freqs);
>  		checkit(freqs);
> -		if (freqs[CUR] == freqs[MIN])
> +		if (freqs[CUR] <= freqs[MIN])
>  			break;
>  		usleep(1000 * IDLE_WAIT_TIMESTEP_MSEC);
>  		wait += IDLE_WAIT_TIMESTEP_MSEC;
>  	} while (wait < IDLE_WAIT_TIMEOUT_MSEC);
>  
> -	igt_assert_eq(freqs[CUR], freqs[MIN]);
> -	igt_debug("Required %d msec to reach cur=min\n", wait);
> +	igt_assert_lte(freqs[CUR], freqs[MIN]);

No, we need to check if we reach the idle frequency in all scenarios
when the GPU is supposed to be idle. So the CUR-freq<=MIN-freq check is
not enough we need to check for CUR-freq==idle-freq. I'm ok to use RPn
instead of the idle frequency for now.

> +	igt_debug("Required %d msec to reach cur<=min\n", wait);
>  }
>  
>  #define LOADED_WAIT_TIMESTEP_MSEC 100

Patch
diff mbox

diff --git a/tests/pm_rps.c b/tests/pm_rps.c
index 74f08f4..f919625 100644
--- a/tests/pm_rps.c
+++ b/tests/pm_rps.c
@@ -146,7 +146,7 @@  static void checkit(const int *freqs)
 {
 	igt_assert_lte(freqs[MIN], freqs[MAX]);
 	igt_assert_lte(freqs[CUR], freqs[MAX]);
-	igt_assert_lte(freqs[MIN], freqs[CUR]);
+	igt_assert_lte(freqs[RPn], freqs[CUR]);
 	igt_assert_lte(freqs[RPn], freqs[MIN]);
 	igt_assert_lte(freqs[MAX], freqs[RP0]);
 	igt_assert_lte(freqs[RP1], freqs[RP0]);
@@ -472,14 +472,14 @@  static void idle_check(void)
 		read_freqs(freqs);
 		dump(freqs);
 		checkit(freqs);
-		if (freqs[CUR] == freqs[MIN])
+		if (freqs[CUR] <= freqs[MIN])
 			break;
 		usleep(1000 * IDLE_WAIT_TIMESTEP_MSEC);
 		wait += IDLE_WAIT_TIMESTEP_MSEC;
 	} while (wait < IDLE_WAIT_TIMEOUT_MSEC);
 
-	igt_assert_eq(freqs[CUR], freqs[MIN]);
-	igt_debug("Required %d msec to reach cur=min\n", wait);
+	igt_assert_lte(freqs[CUR], freqs[MIN]);
+	igt_debug("Required %d msec to reach cur<=min\n", wait);
 }
 
 #define LOADED_WAIT_TIMESTEP_MSEC 100