summaryrefslogtreecommitdiff
path: root/drivers/edgetpu/abrolhos-device.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/edgetpu/abrolhos-device.c')
-rw-r--r--drivers/edgetpu/abrolhos-device.c84
1 files changed, 0 insertions, 84 deletions
diff --git a/drivers/edgetpu/abrolhos-device.c b/drivers/edgetpu/abrolhos-device.c
index df23c42..67feb70 100644
--- a/drivers/edgetpu/abrolhos-device.c
+++ b/drivers/edgetpu/abrolhos-device.c
@@ -105,87 +105,3 @@ void edgetpu_chip_handle_reverse_kci(struct edgetpu_dev *etdev,
break;
}
}
-
-static int abrolhos_check_ext_mailbox_args(const char *func,
- struct edgetpu_dev *etdev,
- struct edgetpu_ext_mailbox_ioctl *args)
-{
- if (args->type != EDGETPU_EXT_MAILBOX_TYPE_TZ) {
- etdev_err(etdev, "%s: Invalid type %d != %d\n", func,
- args->type, EDGETPU_EXT_MAILBOX_TYPE_TZ);
- return -EINVAL;
- }
- if (args->count != 1) {
- etdev_err(etdev, "%s: Invalid mailbox count: %d != 1\n", func,
- args->count);
- return -EINVAL;
- }
- return 0;
-}
-
-int edgetpu_chip_acquire_ext_mailbox(struct edgetpu_client *client,
- struct edgetpu_ext_mailbox_ioctl *args)
-{
- struct edgetpu_mobile_platform_dev *etmdev = to_mobile_dev(client->etdev);
- int ret;
-
- ret = abrolhos_check_ext_mailbox_args(__func__, client->etdev,
- args);
- if (ret)
- return ret;
-
- mutex_lock(&etmdev->tz_mailbox_lock);
- if (etmdev->secure_client) {
- etdev_err(client->etdev,
- "TZ mailbox already in use by PID %d\n",
- etmdev->secure_client->pid);
- mutex_unlock(&etmdev->tz_mailbox_lock);
- return -EBUSY;
- }
- ret = edgetpu_mailbox_enable_ext(client, ABROLHOS_TZ_MAILBOX_ID, NULL);
- if (!ret)
- etmdev->secure_client = client;
- mutex_unlock(&etmdev->tz_mailbox_lock);
- return ret;
-}
-
-int edgetpu_chip_release_ext_mailbox(struct edgetpu_client *client,
- struct edgetpu_ext_mailbox_ioctl *args)
-{
- struct edgetpu_mobile_platform_dev *etmdev = to_mobile_dev(client->etdev);
- int ret = 0;
-
- ret = abrolhos_check_ext_mailbox_args(__func__, client->etdev,
- args);
- if (ret)
- return ret;
-
- mutex_lock(&etmdev->tz_mailbox_lock);
- if (!etmdev->secure_client) {
- etdev_warn(client->etdev, "TZ mailbox already released\n");
- mutex_unlock(&etmdev->tz_mailbox_lock);
- return 0;
- }
- if (etmdev->secure_client != client) {
- etdev_err(client->etdev,
- "TZ mailbox owned by different client\n");
- mutex_unlock(&etmdev->tz_mailbox_lock);
- return -EBUSY;
- }
- etmdev->secure_client = NULL;
- ret = edgetpu_mailbox_disable_ext(client, ABROLHOS_TZ_MAILBOX_ID);
- mutex_unlock(&etmdev->tz_mailbox_lock);
- return ret;
-}
-
-void edgetpu_chip_client_remove(struct edgetpu_client *client)
-{
- struct edgetpu_mobile_platform_dev *etmdev = to_mobile_dev(client->etdev);
-
- mutex_lock(&etmdev->tz_mailbox_lock);
- if (etmdev->secure_client == client) {
- etmdev->secure_client = NULL;
- edgetpu_mailbox_disable_ext(client, ABROLHOS_TZ_MAILBOX_ID);
- }
- mutex_unlock(&etmdev->tz_mailbox_lock);
-}