]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
accel/habanalabs: print event type when device is disabled
authorTal Cohen <talcohen@habana.ai>
Thu, 16 Mar 2023 15:30:46 +0000 (17:30 +0200)
committerOded Gabbay <ogabbay@kernel.org>
Sat, 8 Apr 2023 07:39:33 +0000 (10:39 +0300)
When the device is in disabled state, the driver isn't suppose to
receive any events from FW. Printing the event type, as part of the
message that was already printed, shall help to get more info if this
unexpected message is received.

Signed-off-by: Tal Cohen <talcohen@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
drivers/accel/habanalabs/common/irq.c

index fab1abc5c9104c4241ad90056747d11fcb8c9a66..0d59bb7c9063f1bb0d607c98d89e10913ce6a4e3 100644 (file)
@@ -415,8 +415,8 @@ irqreturn_t hl_irq_handler_eq(int irq, void *arg)
        struct hl_eq_entry *eq_base;
        struct hl_eqe_work *handle_eqe_work;
        bool entry_ready;
-       u32 cur_eqe;
-       u16 cur_eqe_index;
+       u32 cur_eqe, ctl;
+       u16 cur_eqe_index, event_type;
 
        eq_base = eq->kernel_address;
 
@@ -449,7 +449,10 @@ irqreturn_t hl_irq_handler_eq(int irq, void *arg)
                dma_rmb();
 
                if (hdev->disabled && !hdev->reset_info.in_compute_reset) {
-                       dev_warn(hdev->dev, "Device disabled but received an EQ event\n");
+                       ctl = le32_to_cpu(eq_entry->hdr.ctl);
+                       event_type = ((ctl & EQ_CTL_EVENT_TYPE_MASK) >> EQ_CTL_EVENT_TYPE_SHIFT);
+                       dev_warn(hdev->dev,
+                               "Device disabled but received an EQ event (%u)\n", event_type);
                        goto skip_irq;
                }