Test verifies that frequency gets boosted to gt_boost_freq_mhz
even though gt_max_freq_mhz is lower than gt_boost_freq_mhz.

Cc: Arkadiusz Hiler <arkadiusz.hi...@intel.com>
Cc: Michal Winiarski <michal.winiar...@intel.com>
Signed-off-by: Radoslaw Szwichtenberg <radoslaw.szwichtenb...@intel.com>
---
 tests/pm_rps.c | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/tests/pm_rps.c b/tests/pm_rps.c
index 7aa66a8..3cbbeeb 100644
--- a/tests/pm_rps.c
+++ b/tests/pm_rps.c
@@ -50,6 +50,7 @@ enum {
        RP0,
        RP1,
        RPn,
+       BOOST,
        NUMFREQ
 };
 
@@ -60,7 +61,14 @@ struct junk {
        const char *mode;
        FILE *filp;
 } stuff[] = {
-       { "cur", "r", NULL }, { "min", "rb+", NULL }, { "max", "rb+", NULL }, { 
"RP0", "r", NULL }, { "RP1", "r", NULL }, { "RPn", "r", NULL }, { NULL, NULL, 
NULL }
+       { "cur", "r", NULL },
+       { "min", "rb+", NULL },
+       { "max", "rb+", NULL },
+       { "RP0", "r", NULL },
+       { "RP1", "r", NULL },
+       { "RPn", "r", NULL },
+       {"boost", "rb+", NULL },
+       { NULL, NULL, NULL }
 };
 
 static int readval(FILE *filp)
@@ -614,6 +622,27 @@ static void waitboost(bool reset)
        close(fd);
 }
 
+static void waitboost_softlimit(void)
+{
+       int boost_freqs[NUMFREQ];
+       int fmid = (origfreqs[RPn] + origfreqs[RP0]) / 2;
+       int fd = drm_open_driver(DRIVER_INTEL);
+       fmid = get_hw_rounded_freq(fmid);
+
+       igt_debug("Set min and max to midpoint\n");
+       writeval(stuff[MIN].filp, fmid);
+       writeval(stuff[MAX].filp, fmid);
+
+       /* When we wait upon the GPU, we want to temporarily boost it
+        * to maximum.
+        */
+       boost_freq(fd, boost_freqs);
+
+       igt_assert_eq(boost_freqs[CUR], boost_freqs[BOOST]);
+
+       close(fd);
+}
+
 static void pm_rps_exit_handler(int sig)
 {
        if (origfreqs[MIN] > readval(stuff[MAX].filp)) {
@@ -679,4 +708,6 @@ igt_main
        igt_subtest("reset")
                waitboost(true);
 
+       igt_subtest("waitboost-softlimit")
+               waitboost_softlimit();
 }
-- 
2.9.3

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to