Lines Matching defs:teedev
56 static void tee_shm_release(struct tee_device *teedev, struct tee_shm *shm)
59 teedev->pool->ops->free(teedev->pool, shm);
61 int rc = teedev->desc->ops->shm_unregister(shm->ctx, shm);
64 dev_err(teedev->dev.parent,
74 tee_device_put(teedev);
80 struct tee_device *teedev = ctx->teedev;
85 if (!tee_device_get(teedev))
88 if (!teedev->pool) {
89 /* teedev has been detached from driver */
112 rc = teedev->pool->ops->alloc(teedev->pool, shm, size, align);
123 tee_device_put(teedev);
142 struct tee_device *teedev = ctx->teedev;
147 mutex_lock(&teedev->mutex);
148 id = idr_alloc(&teedev->idr, NULL, 1, 0, GFP_KERNEL);
149 mutex_unlock(&teedev->mutex);
155 mutex_lock(&teedev->mutex);
156 idr_remove(&teedev->idr, id);
157 mutex_unlock(&teedev->mutex);
161 mutex_lock(&teedev->mutex);
162 ret = idr_replace(&teedev->idr, shm, id);
163 mutex_unlock(&teedev->mutex);
220 struct tee_device *teedev = ctx->teedev;
227 if (!tee_device_get(teedev))
230 if (!teedev->desc->ops->shm_register ||
231 !teedev->desc->ops->shm_unregister) {
273 rc = teedev->desc->ops->shm_register(ctx, shm, shm->pages,
292 tee_device_put(teedev);
308 struct tee_device *teedev = ctx->teedev;
316 mutex_lock(&teedev->mutex);
317 id = idr_alloc(&teedev->idr, NULL, 1, 0, GFP_KERNEL);
318 mutex_unlock(&teedev->mutex);
324 mutex_lock(&teedev->mutex);
325 idr_remove(&teedev->idr, id);
326 mutex_unlock(&teedev->mutex);
330 mutex_lock(&teedev->mutex);
331 ret = idr_replace(&teedev->idr, shm, id);
332 mutex_unlock(&teedev->mutex);
463 struct tee_device *teedev;
469 teedev = ctx->teedev;
470 mutex_lock(&teedev->mutex);
471 shm = idr_find(&teedev->idr, id);
481 mutex_unlock(&teedev->mutex);
492 struct tee_device *teedev = shm->ctx->teedev;
495 mutex_lock(&teedev->mutex);
504 idr_remove(&teedev->idr, shm->id);
507 mutex_unlock(&teedev->mutex);
510 tee_shm_release(teedev, shm);