Lines Matching defs:teedev

46 static void tee_shm_release(struct tee_device *teedev, struct tee_shm *shm)
49 teedev->pool->ops->free(teedev->pool, shm);
51 int rc = teedev->desc->ops->shm_unregister(shm->ctx, shm);
54 dev_err(teedev->dev.parent,
64 tee_device_put(teedev);
70 struct tee_device *teedev = ctx->teedev;
75 if (!tee_device_get(teedev))
78 if (!teedev->pool) {
79 /* teedev has been detached from driver */
102 rc = teedev->pool->ops->alloc(teedev->pool, shm, size, align);
113 tee_device_put(teedev);
132 struct tee_device *teedev = ctx->teedev;
137 mutex_lock(&teedev->mutex);
138 id = idr_alloc(&teedev->idr, NULL, 1, 0, GFP_KERNEL);
139 mutex_unlock(&teedev->mutex);
145 mutex_lock(&teedev->mutex);
146 idr_remove(&teedev->idr, id);
147 mutex_unlock(&teedev->mutex);
151 mutex_lock(&teedev->mutex);
152 ret = idr_replace(&teedev->idr, shm, id);
153 mutex_unlock(&teedev->mutex);
274 struct tee_device *teedev = ctx->teedev;
282 if (!tee_device_get(teedev))
285 if (!teedev->desc->ops->shm_register ||
286 !teedev->desc->ops->shm_unregister) {
335 rc = teedev->desc->ops->shm_register(ctx, shm, shm->pages,
355 tee_device_put(teedev);
371 struct tee_device *teedev = ctx->teedev;
380 mutex_lock(&teedev->mutex);
381 id = idr_alloc(&teedev->idr, NULL, 1, 0, GFP_KERNEL);
382 mutex_unlock(&teedev->mutex);
389 mutex_lock(&teedev->mutex);
390 idr_remove(&teedev->idr, id);
391 mutex_unlock(&teedev->mutex);
395 mutex_lock(&teedev->mutex);
396 ret = idr_replace(&teedev->idr, shm, id);
397 mutex_unlock(&teedev->mutex);
534 struct tee_device *teedev;
540 teedev = ctx->teedev;
541 mutex_lock(&teedev->mutex);
542 shm = idr_find(&teedev->idr, id);
552 mutex_unlock(&teedev->mutex);
563 struct tee_device *teedev = shm->ctx->teedev;
566 mutex_lock(&teedev->mutex);
575 idr_remove(&teedev->idr, shm->id);
578 mutex_unlock(&teedev->mutex);
581 tee_shm_release(teedev, shm);