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 fab1abc..0d59bb7 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;
                }