accel/habanalabs/gaudi2: perform hard-reset upon PCIe AXI drain event
authorTomer Tayar <ttayar@habana.ai>
Tue, 19 Sep 2023 07:32:23 +0000 (10:32 +0300)
committerOded Gabbay <ogabbay@kernel.org>
Mon, 9 Oct 2023 09:37:24 +0000 (12:37 +0300)
Non-completed transactions from PCIe towards the device are handled by
the AXI drain mechanism. This handling is in the PCIe level, but the
transactions are still there in the device consuming some queues
entries, and therefore the device must be reset.
Modify to perform hard-reset upon PCIe AXI drain events.

Signed-off-by: Tomer Tayar <ttayar@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/accel/habanalabs/include/gaudi2/gaudi2_async_ids_map_extended.h

index 57e661771b6cd84e2cfdc370569372f96984b341..b2dbe1f64430f1a7d0aed12b5efd00e81922128c 100644 (file)
@@ -1293,7 +1293,7 @@ static struct gaudi2_async_events_ids_map gaudi2_irq_map_table[] = {
                 .name = "" },
        { .fc_id = 631, .cpu_id = 128, .valid = 1, .msg = 0, .reset = EVENT_RESET_TYPE_NONE,
                 .name = "PCIE_P2P_MSIX" },
-       { .fc_id = 632, .cpu_id = 129, .valid = 1, .msg = 0, .reset = EVENT_RESET_TYPE_NONE,
+       { .fc_id = 632, .cpu_id = 129, .valid = 1, .msg = 0, .reset = EVENT_RESET_TYPE_HARD,
                 .name = "PCIE_DRAIN_COMPLETE" },
        { .fc_id = 633, .cpu_id = 130, .valid = 1, .msg = 0, .reset = EVENT_RESET_TYPE_NONE,
                 .name = "TPC0_BMON_SPMU" },