[Intel-gfx] [PATCH 14/20] drm/i915: Forcefully flush GuC log buffer on reset

Chris Wilson chris at chris-wilson.co.uk
Fri Aug 12 06:33:42 UTC 2016


On Fri, Aug 12, 2016 at 11:55:17AM +0530, akash.goel at intel.com wrote:
> From: Sagar Arun Kamble <sagar.a.kamble at intel.com>
> 
> 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.
> 
> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble at intel.com>
> Signed-off-by: Akash Goel <akash.goel at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_gpu_error.c      |  2 ++
>  drivers/gpu/drm/i915/i915_guc_submission.c | 27 +++++++++++++++++++++++++++
>  drivers/gpu/drm/i915/intel_guc.h           |  1 +
>  3 files changed, 30 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index 561b523..5e358e2 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -1232,6 +1232,8 @@ static void i915_gem_capture_guc_log_buffer(struct drm_i915_private *dev_priv,
>  	if (!dev_priv->guc.log.obj)
>  		return;
>  
> +	i915_guc_flush_logs(dev_priv);

This is an invalid context for this function, flush_work() is illegal
inside error capture.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list