Enable the GAUDI ASIC code in the pci probe callback of the driver so the
driver will handle GAUDI ASICs.

Signed-off-by: Oded Gabbay <[email protected]>
---
 drivers/misc/habanalabs/device.c         | 4 ++++
 drivers/misc/habanalabs/habanalabs_drv.c | 5 -----
 drivers/misc/habanalabs/sysfs.c          | 3 +++
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/misc/habanalabs/device.c b/drivers/misc/habanalabs/device.c
index 7ce4540648cf..4b6c8de46dd8 100644
--- a/drivers/misc/habanalabs/device.c
+++ b/drivers/misc/habanalabs/device.c
@@ -256,6 +256,10 @@ static int device_early_init(struct hl_device *hdev)
                goya_set_asic_funcs(hdev);
                strlcpy(hdev->asic_name, "GOYA", sizeof(hdev->asic_name));
                break;
+       case ASIC_GAUDI:
+               gaudi_set_asic_funcs(hdev);
+               sprintf(hdev->asic_name, "GAUDI");
+               break;
        default:
                dev_err(hdev->dev, "Unrecognized ASIC type %d\n",
                        hdev->asic_type);
diff --git a/drivers/misc/habanalabs/habanalabs_drv.c 
b/drivers/misc/habanalabs/habanalabs_drv.c
index 9d009b50aa0d..8652c7e5d7f1 100644
--- a/drivers/misc/habanalabs/habanalabs_drv.c
+++ b/drivers/misc/habanalabs/habanalabs_drv.c
@@ -276,11 +276,6 @@ int create_hdev(struct hl_device **dev, struct pci_dev 
*pdev,
                        dev_err(&pdev->dev, "Unsupported ASIC\n");
                        rc = -ENODEV;
                        goto free_hdev;
-               } else if (hdev->asic_type == ASIC_GAUDI) {
-                       dev_err(&pdev->dev,
-                               "GAUDI is not supported by the current 
kernel\n");
-                       rc = -ENODEV;
-                       goto free_hdev;
                }
        } else {
                hdev->asic_type = asic_type;
diff --git a/drivers/misc/habanalabs/sysfs.c b/drivers/misc/habanalabs/sysfs.c
index 36f4f68c8cef..e4454414d0e1 100644
--- a/drivers/misc/habanalabs/sysfs.c
+++ b/drivers/misc/habanalabs/sysfs.c
@@ -224,6 +224,9 @@ static ssize_t device_type_show(struct device *dev,
        case ASIC_GOYA:
                str = "GOYA";
                break;
+       case ASIC_GAUDI:
+               str = "GAUDI";
+               break;
        default:
                dev_err(hdev->dev, "Unrecognized ASIC type %d\n",
                                hdev->asic_type);
-- 
2.17.1

Reply via email to