summaryrefslogtreecommitdiff
path: root/tests/i915/i915_pm_rps.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2020-01-24 21:35:12 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2020-01-27 10:38:37 +0000
commit5f7867dbf9ab40ca1ac2f5f2e5928511bafe0a67 (patch)
tree8bd3fb39722648ff788686e142578aa86e57595f /tests/i915/i915_pm_rps.c
parentf855f3f1f17e643d50dcbc2fa1dc4f7f8567192e (diff)
i915_pm_rps: Be wary if RP0 == RPn
If the HW min/max frequencies are the same, there is not much range to deal with and a couple of our invalid tests become confused as they are actually no-ops. Error reporting in i915_pm_rps is rudimentary and we deserve better. Closes: https://gitlab.freedesktop.org/drm/intel/issues/1008 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Diffstat (limited to 'tests/i915/i915_pm_rps.c')
-rw-r--r--tests/i915/i915_pm_rps.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/tests/i915/i915_pm_rps.c b/tests/i915/i915_pm_rps.c
index b65eefb0..cb1500d2 100644
--- a/tests/i915/i915_pm_rps.c
+++ b/tests/i915/i915_pm_rps.c
@@ -397,9 +397,11 @@ static void min_max_config(void (*check)(void), bool load_gpu)
writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0] + 1000);
check();
- igt_debug("\nDecrease max to RPn (invalid)...\n");
- writeval_inval(sysfs_files[MAX].filp, origfreqs[RPn]);
- check();
+ if (origfreqs[RPn] < origfreqs[RP0]) {
+ igt_debug("\nDecrease max to RPn (invalid)...\n");
+ writeval_inval(sysfs_files[MAX].filp, origfreqs[RPn]);
+ check();
+ }
igt_debug("\nDecrease min to midpoint...\n");
writeval(sysfs_files[MIN].filp, fmid);
@@ -429,9 +431,11 @@ static void min_max_config(void (*check)(void), bool load_gpu)
writeval_inval(sysfs_files[MAX].filp, 0);
check();
- igt_debug("\nIncrease min to RP0 (invalid)...\n");
- writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0]);
- check();
+ if (origfreqs[RP0] > origfreqs[RPn]) {
+ igt_debug("\nIncrease min to RP0 (invalid)...\n");
+ writeval_inval(sysfs_files[MIN].filp, origfreqs[RP0]);
+ check();
+ }
igt_debug("\nIncrease max to midpoint...\n");
writeval(sysfs_files[MAX].filp, fmid);