Quoting Michal Wajdeczko (2019-05-17 17:22:26)
> +void intel_guc_submission_stop(struct intel_guc *guc)
> +{
> + struct drm_i915_private *i915 = guc_to_i915(guc);
> +
> + GEM_BUG_ON(i915->gt.awake); /* GT should be parked first */
How is this true for reset? Note, it's an unlocked read, so READ_ONCE()
or something along GEM_BUG_ON(intel_wakeref_active(&i915->gt.wakeref))
Though I think this is wrong!
i915_reset or i915_gem_set_wedged
-> reset_prepare
-> intel_uc_reset_prepare
-> intel_guc_submission_stop
No locks, no parking. So how does this survive selftests? :(
-Chris
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx