drm/i915/guc: Improve error message for unsolicited CT response
authorMatthew Brost <matthew.brost@intel.com>
Thu, 8 Jul 2021 16:20:50 +0000 (09:20 -0700)
committerJohn Harrison <John.C.Harrison@Intel.com>
Tue, 13 Jul 2021 20:50:00 +0000 (13:50 -0700)
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.brost@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210708162055.129996-3-matthew.brost@intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c

index b86575b..80db59b 100644 (file)
@@ -732,12 +732,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);
+               err = -ENOKEY;
        }
+       spin_unlock_irqrestore(&ct->requests.lock, flags);
 
        if (unlikely(err))
                return err;