summaryrefslogtreecommitdiff
path: root/drivers/misc/habanalabs/common/asid.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/habanalabs/common/asid.c')
-rw-r--r--drivers/misc/habanalabs/common/asid.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/drivers/misc/habanalabs/common/asid.c b/drivers/misc/habanalabs/common/asid.c
deleted file mode 100644
index c9c2619cc43d..000000000000
--- a/drivers/misc/habanalabs/common/asid.c
+++ /dev/null
@@ -1,58 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-
-/*
- * Copyright 2016-2019 HabanaLabs, Ltd.
- * All Rights Reserved.
- */
-
-#include "habanalabs.h"
-
-#include <linux/slab.h>
-
-int hl_asid_init(struct hl_device *hdev)
-{
- hdev->asid_bitmap = bitmap_zalloc(hdev->asic_prop.max_asid, GFP_KERNEL);
- if (!hdev->asid_bitmap)
- return -ENOMEM;
-
- mutex_init(&hdev->asid_mutex);
-
- /* ASID 0 is reserved for the kernel driver and device CPU */
- set_bit(0, hdev->asid_bitmap);
-
- return 0;
-}
-
-void hl_asid_fini(struct hl_device *hdev)
-{
- mutex_destroy(&hdev->asid_mutex);
- bitmap_free(hdev->asid_bitmap);
-}
-
-unsigned long hl_asid_alloc(struct hl_device *hdev)
-{
- unsigned long found;
-
- mutex_lock(&hdev->asid_mutex);
-
- found = find_first_zero_bit(hdev->asid_bitmap,
- hdev->asic_prop.max_asid);
- if (found == hdev->asic_prop.max_asid)
- found = 0;
- else
- set_bit(found, hdev->asid_bitmap);
-
- mutex_unlock(&hdev->asid_mutex);
-
- return found;
-}
-
-void hl_asid_free(struct hl_device *hdev, unsigned long asid)
-{
- if (asid == HL_KERNEL_ASID_ID || asid >= hdev->asic_prop.max_asid) {
- dev_crit(hdev->dev, "Invalid ASID %lu", asid);
- return;
- }
-
- clear_bit(asid, hdev->asid_bitmap);
-}