On 24.06.2021 09:04, Matthew Brost wrote:
> Improve the error message when a unsolicited CT response is received by
> printing fence that couldn't be found, the last fence, and all requests
> with a response outstanding.
> 
> Signed-off-by: Matthew Brost <matthew.br...@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c 
> b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> index a59e239497ee..07f080ddb9ae 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> @@ -730,12 +730,16 @@ static int ct_handle_response(struct intel_guc_ct *ct, 
> struct ct_incoming_msg *r
>               found = true;
>               break;
>       }
> -     spin_unlock_irqrestore(&ct->requests.lock, flags);
> -
>       if (!found) {
>               CT_ERROR(ct, "Unsolicited response (fence %u)\n", fence);
> -             return -ENOKEY;
> +             CT_ERROR(ct, "Could not find fence=%u, last_fence=%u\n", fence,
> +                      ct->requests.last_fence);
> +             list_for_each_entry(req, &ct->requests.pending, link)
> +                     CT_ERROR(ct, "request %u awaits response\n",
> +                              req->fence);

not quite sure how listing of awaiting requests could help here (if we
suspect that this is a duplicated reply, then we should rather track
short list of already processed messages to look there) but since it
does not hurt too much, this is:

Reviewed-by: Michal Wajdeczko <michal.wajdec...@intel.com>

> +             err = -ENOKEY;
>       }
> +     spin_unlock_irqrestore(&ct->requests.lock, flags);
>  
>       if (unlikely(err))
>               return err;
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to