habanalabs/gaudi: move scrubbing to late init
authorOded Gabbay <ogabbay@kernel.org>
Tue, 27 Jul 2021 21:16:31 +0000 (00:16 +0300)
committerOded Gabbay <ogabbay@kernel.org>
Wed, 1 Sep 2021 15:38:24 +0000 (18:38 +0300)
HW init is mostly about configuring registers. Therefore, it is better
to activate DMAs only in late init and afterwards.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/gaudi/gaudi.c

index 55b133e..f2abd50 100644 (file)
@@ -1566,6 +1566,11 @@ static int gaudi_late_init(struct hl_device *hdev)
                return rc;
        }
 
+       /* Scrub both SRAM and DRAM */
+       rc = hdev->asic_funcs->scrub_device_mem(hdev, 0, 0);
+       if (rc)
+               goto disable_pci_access;
+
        rc = gaudi_fetch_psoc_frequency(hdev);
        if (rc) {
                dev_err(hdev->dev, "Failed to fetch psoc frequency\n");
@@ -4193,11 +4198,6 @@ static int gaudi_hw_init(struct hl_device *hdev)
                goto disable_msi;
        }
 
-       /* Scrub both SRAM and DRAM */
-       rc = hdev->asic_funcs->scrub_device_mem(hdev, 0, 0);
-       if (rc)
-               return rc;
-
        /* Perform read from the device to flush all configuration */
        RREG32(mmHW_STATE);