The legacy ringbuffer submission lacks a fast soft-rc6 mechanism as we have no interrupt for an idle ring. As such we are at the mercy of HW RC6... which is not quite as precise as we need to pass this test. Oh well. Since HW is not fast enough to minimise power draw, tell the driver to park as soon as we know we are idle. One day, we hope for the driver to discover a mechanism to do this for itself, for as this test shows that can save us Watts! Closes: https://gitlab.freedesktop.org/drm/intel/issues/1516 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- tests/i915/i915_pm_rc6_residency.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/i915/i915_pm_rc6_residency.c b/tests/i915/i915_pm_rc6_residency.c index f507f76bc..d2dc37a16 100644 --- a/tests/i915/i915_pm_rc6_residency.c +++ b/tests/i915/i915_pm_rc6_residency.c @@ -310,6 +310,17 @@ static void bg_load(int i915, unsigned int flags, unsigned long *ctl) } ctl[1]++; + /* + * The legacy ringbuffer submission lacks a fast soft-rc6 + * mechanism as we have no interrupt for an idle ring. As such + * we are at the mercy of HW RC6... which is not quite as + * precise as we need to pass this test. Oh well. + * + * Fake it until we make it. + */ + if (!gem_has_execlists(i915)) + igt_drop_caches_set(i915, DROP_IDLE); + usleep(igt_nsec_elapsed(&tv) / 10); /* => 1% busy */ } while (!READ_ONCE(*ctl)); } -- 2.26.0.rc2 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx