accel/habanalabs: in hl_device_reset small refactor for readabilty
authorDafna Hirschfeld <dhirschfeld@habana.ai>
Wed, 8 Feb 2023 13:46:00 +0000 (15:46 +0200)
committerOded Gabbay <ogabbay@kernel.org>
Wed, 15 Mar 2023 11:29:13 +0000 (13:29 +0200)
in the out_err flow, combine the two cases of soft-reset since
they have mostly common code. In addition unlock reset_info.lock
after touching reset count.

Signed-off-by: Dafna Hirschfeld <dhirschfeld@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/device.c

index 47ed2fe..8e71793 100644 (file)
@@ -1852,17 +1852,16 @@ out_err:
                        "%s Failed to reset! Device is NOT usable\n",
                        dev_name(&(hdev)->pdev->dev));
                hdev->reset_info.hard_reset_cnt++;
-       } else if (reset_upon_device_release) {
-               spin_unlock(&hdev->reset_info.lock);
-               dev_err(hdev->dev, "Failed to reset device after user release\n");
-               flags |= HL_DRV_RESET_HARD;
-               flags &= ~HL_DRV_RESET_DEV_RELEASE;
-               hard_reset = true;
-               goto escalate_reset_flow;
        } else {
+               if (reset_upon_device_release) {
+                       dev_err(hdev->dev, "Failed to reset device after user release\n");
+                       flags &= ~HL_DRV_RESET_DEV_RELEASE;
+               } else {
+                       dev_err(hdev->dev, "Failed to do compute reset\n");
+                       hdev->reset_info.compute_reset_cnt++;
+               }
+
                spin_unlock(&hdev->reset_info.lock);
-               dev_err(hdev->dev, "Failed to do compute reset\n");
-               hdev->reset_info.compute_reset_cnt++;
                flags |= HL_DRV_RESET_HARD;
                hard_reset = true;
                goto escalate_reset_flow;