diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2020-01-24 21:35:12 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2020-01-27 10:38:37 +0000 |
commit | 5f7867dbf9ab40ca1ac2f5f2e5928511bafe0a67 (patch) | |
tree | 8bd3fb39722648ff788686e142578aa86e57595f /tests/i915/i915_pm_rps.c | |
parent | f855f3f1f17e643d50dcbc2fa1dc4f7f8567192e (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.c | 16 |
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); |