On 8/19/2016 11:40 PM, Chris Wilson wrote:
On Fri, Aug 19, 2016 at 02:13:13PM +0530, akash.goel@xxxxxxxxx wrote:
From: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx>
Before capturing the GuC logs as a part of error state, there should be a
force log buffer flush action sent to GuC before proceeding with GPU reset
and re-initializing GUC. There could be some data in the log buffer which
is yet to be captured and those logs would be particularly useful to
understand that why the GPU reset was initiated.
There's no point if we can't wait for any writes to complete, so just take
the snapshot of the log at the time of the hang.
+void i915_guc_flush_logs(struct drm_i915_private *dev_priv, bool can_wait)
+{
+ if (!i915.enable_guc_submission || (i915.guc_log_level < 0))
+ return;
+
+ /* First disable the interrupts, will be renabled afterwards */
+ gen9_disable_guc_interrupts(dev_priv);
calls synchronize_irq() which is also illegal from the atomic context of
error capture.
Fine, will not call gen9_disable_guc_interrupts, just like flush_work,
from the error state capture path.
But I feel it could still be useful to invoke
host2guc_force_logbuffer_flush().
Best regards
Akash
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx