diff mbox series

[6/6] accel/habanalabs: send disable pci when compute ctx is active

Message ID 20230323113525.959176-6-ogabbay@kernel.org (mailing list archive)
State New, archived
Headers show
Series [1/6] accel/habanalabs: unmap mapped memory when TLB inv fails | expand

Commit Message

Oded Gabbay March 23, 2023, 11:35 a.m. UTC
From: Tal Cohen <talcohen@habana.ai>

Fix an issue in hard reset flow in which the driver didn't send a
disable pci message if there was an active compute context.
In hard reset, disable pci message should be sent no matter if
a compute context exists or not.

Signed-off-by: Tal Cohen <talcohen@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
---
 drivers/accel/habanalabs/common/device.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Stanislaw Gruszka March 24, 2023, 8:31 a.m. UTC | #1
On Thu, Mar 23, 2023 at 01:35:25PM +0200, Oded Gabbay wrote:
> From: Tal Cohen <talcohen@habana.ai>
> 
> Fix an issue in hard reset flow in which the driver didn't send a
> disable pci message if there was an active compute context.
> In hard reset, disable pci message should be sent no matter if
> a compute context exists or not.
> 
> 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>
diff mbox series

Patch

diff --git a/drivers/accel/habanalabs/common/device.c b/drivers/accel/habanalabs/common/device.c
index c36de13d6729..3c1af9d43b65 100644
--- a/drivers/accel/habanalabs/common/device.c
+++ b/drivers/accel/habanalabs/common/device.c
@@ -1386,7 +1386,7 @@  static void handle_reset_trigger(struct hl_device *hdev, u32 flags)
 
 	/* No consecutive mechanism when user context exists */
 	if (hdev->is_compute_ctx_active)
-		return;
+		goto disable_pci;
 
 	/*
 	 * 'reset cause' is being updated here, because getting here
@@ -1425,6 +1425,8 @@  static void handle_reset_trigger(struct hl_device *hdev, u32 flags)
 	 * If F/W is performing the reset, no need to send it a message to disable
 	 * PCI access
 	 */
+
+disable_pci:
 	if ((flags & HL_DRV_RESET_HARD) &&
 			!(flags & (HL_DRV_RESET_HEARTBEAT | HL_DRV_RESET_BYPASS_REQ_TO_FW))) {
 		/* Disable PCI access from device F/W so he won't send