OSDN Git Service

drm/i915: Suppress the "Failed to idle" warning for gem_eio
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 8 Mar 2019 13:45:12 +0000 (13:45 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 8 Mar 2019 19:11:29 +0000 (19:11 +0000)
It is debatable whether having an error message on suspend for forcibly
cancelling outstanding work is worthwhile. We want to know if it occurs
in the wild (as we will then have to reconsider the approach!), but
equally is not fatal across suspend, as upon resume we automatically
clear the wedged status.

However, CI does trigger this scenario with gem_eio/suspend; as there we
are intentionally wedging the device upon suspend. The dilemma is how
not to trigger a failure report for the dmesg spam, for which the
quickest response is to suppress the warning in the kernel. I'd rather
mark it as accepted in gem_eio, but for now detecting when gem_eio is
playing games and cancelling the warning for that case seems a barely
acceptable hack.

Testcase: igt/gem_eio/suspend
Reference: 5861b013e2c7 ("drm/i915: Do a synchronous switch-to-kernel-context on idling")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190308134512.19115-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c

index e7e8c23..b38c953 100644 (file)
@@ -2848,10 +2848,13 @@ static bool switch_to_kernel_context_sync(struct drm_i915_private *i915,
                result = false;
 
        if (!result) {
+               if (i915_modparams.reset) { /* XXX hide warning from gem_eio */
+                       dev_err(i915->drm.dev,
+                               "Failed to idle engines, declaring wedged!\n");
+                       GEM_TRACE_DUMP();
+               }
+
                /* Forcibly cancel outstanding work and leave the gpu quiet. */
-               dev_err(i915->drm.dev,
-                       "Failed to idle engines, declaring wedged!\n");
-               GEM_TRACE_DUMP();
                i915_gem_set_wedged(i915);
        }