Lines Matching refs:priv_user

127 get_file_offset(struct per_user_data *priv_user, uint32_t count,  in get_file_offset()  argument
134 mtx_lock(&priv_user->user_data_lock); in get_file_offset()
135 RB_FOREACH_SAFE(offset, file_offset_head, &priv_user->file_offset, in get_file_offset()
143 &priv_user->file_offset, offset); in get_file_offset()
146 mtx_unlock(&priv_user->user_data_lock); in get_file_offset()
150 mtx_unlock(&priv_user->user_data_lock); in get_file_offset()
156 put_file_offset(struct per_user_data *priv_user, uint32_t count, in put_file_offset() argument
165 mtx_lock(&priv_user->user_data_lock); in put_file_offset()
166 RB_INSERT(file_offset_head, &priv_user->file_offset, offset); in put_file_offset()
167 offset_nxt = RB_NEXT(file_offset_head, &priv_user->file_offset, offset); in put_file_offset()
168 offset_prv = RB_PREV(file_offset_head, &priv_user->file_offset, offset); in put_file_offset()
173 RB_REMOVE(file_offset_head, &priv_user->file_offset, in put_file_offset()
181 RB_REMOVE(file_offset_head, &priv_user->file_offset, offset); in put_file_offset()
184 mtx_unlock(&priv_user->user_data_lock); in put_file_offset()
309 gntdev_find_grefs(struct per_user_data *priv_user, in gntdev_find_grefs() argument
316 mtx_lock(&priv_user->user_data_lock); in gntdev_find_grefs()
317 gref_start = RB_FIND(gref_tree_head, &priv_user->gref_tree, &find_gref); in gntdev_find_grefs()
319 RB_NEXT(gref_tree_head, &priv_user->gref_tree, gref)) { in gntdev_find_grefs()
325 mtx_unlock(&priv_user->user_data_lock); in gntdev_find_grefs()
346 struct per_user_data *priv_user; in gntdev_alloc_gref() local
350 error = devfs_get_cdevpriv((void**) &priv_user); in gntdev_alloc_gref()
358 error = get_file_offset(priv_user, arg->count, &file_offset); in gntdev_alloc_gref()
413 mtx_lock(&priv_user->user_data_lock); in gntdev_alloc_gref()
415 RB_INSERT(gref_tree_head, &priv_user->gref_tree, &grefs[i]); in gntdev_alloc_gref()
416 mtx_unlock(&priv_user->user_data_lock); in gntdev_alloc_gref()
433 struct per_user_data *priv_user; in gntdev_dealloc_gref() local
435 error = devfs_get_cdevpriv((void**) &priv_user); in gntdev_dealloc_gref()
439 gref = gntdev_find_grefs(priv_user, arg->index, arg->count); in gntdev_dealloc_gref()
447 mtx_lock(&priv_user->user_data_lock); in gntdev_dealloc_gref()
450 gref_tmp = RB_NEXT(gref_tree_head, &priv_user->gref_tree, gref); in gntdev_dealloc_gref()
451 RB_REMOVE(gref_tree_head, &priv_user->gref_tree, gref); in gntdev_dealloc_gref()
457 mtx_unlock(&priv_user->user_data_lock); in gntdev_dealloc_gref()
460 put_file_offset(priv_user, arg->count, arg->index); in gntdev_dealloc_gref()
540 gntdev_find_gmap(struct per_user_data *priv_user, in gntdev_find_gmap() argument
547 mtx_lock(&priv_user->user_data_lock); in gntdev_find_gmap()
548 gmap = RB_FIND(gmap_tree_head, &priv_user->gmap_tree, &find_gmap); in gntdev_find_gmap()
549 mtx_unlock(&priv_user->user_data_lock); in gntdev_find_gmap()
644 struct per_user_data *priv_user; in gntdev_map_grant_ref() local
646 error = devfs_get_cdevpriv((void**) &priv_user); in gntdev_map_grant_ref()
671 error = get_file_offset(priv_user, arg->count, &gmap->file_index); in gntdev_map_grant_ref()
678 mtx_lock(&priv_user->user_data_lock); in gntdev_map_grant_ref()
679 RB_INSERT(gmap_tree_head, &priv_user->gmap_tree, gmap); in gntdev_map_grant_ref()
680 mtx_unlock(&priv_user->user_data_lock); in gntdev_map_grant_ref()
699 struct per_user_data *priv_user; in gntdev_unmap_grant_ref() local
701 error = devfs_get_cdevpriv((void**) &priv_user); in gntdev_unmap_grant_ref()
705 gmap = gntdev_find_gmap(priv_user, arg->index, arg->count); in gntdev_unmap_grant_ref()
711 mtx_lock(&priv_user->user_data_lock); in gntdev_unmap_grant_ref()
713 RB_REMOVE(gmap_tree_head, &priv_user->gmap_tree, gmap); in gntdev_unmap_grant_ref()
716 mtx_unlock(&priv_user->user_data_lock); in gntdev_unmap_grant_ref()
722 put_file_offset(priv_user, arg->count, arg->index); in gntdev_unmap_grant_ref()
897 struct per_user_data *priv_user; in gntdev_set_unmap_notify() local
901 error = devfs_get_cdevpriv((void**) &priv_user); in gntdev_set_unmap_notify()
909 gref = gntdev_find_grefs(priv_user, index, 1); in gntdev_set_unmap_notify()
918 mtx_lock(&priv_user->user_data_lock); in gntdev_set_unmap_notify()
919 RB_FOREACH(gmap, gmap_tree_head, &priv_user->gmap_tree) { in gntdev_set_unmap_notify()
929 mtx_unlock(&priv_user->user_data_lock); in gntdev_set_unmap_notify()
950 struct per_user_data *priv_user; in per_user_data_dtor() local
952 priv_user = (struct per_user_data *) arg; in per_user_data_dtor()
954 mtx_lock(&priv_user->user_data_lock); in per_user_data_dtor()
957 RB_FOREACH_SAFE(gref, gref_tree_head, &priv_user->gref_tree, gref_tmp) { in per_user_data_dtor()
958 RB_REMOVE(gref_tree_head, &priv_user->gref_tree, gref); in per_user_data_dtor()
965 RB_FOREACH_SAFE(gmap, gmap_tree_head, &priv_user->gmap_tree, gmap_tmp) { in per_user_data_dtor()
966 RB_REMOVE(gmap_tree_head, &priv_user->gmap_tree, gmap); in per_user_data_dtor()
974 RB_FOREACH_SAFE(offset, file_offset_head, &priv_user->file_offset, in per_user_data_dtor()
976 RB_REMOVE(file_offset_head, &priv_user->file_offset, offset); in per_user_data_dtor()
980 mtx_unlock(&priv_user->user_data_lock); in per_user_data_dtor()
984 mtx_destroy(&priv_user->user_data_lock); in per_user_data_dtor()
985 free(priv_user, M_GNTDEV); in per_user_data_dtor()
992 struct per_user_data *priv_user; in gntdev_open() local
995 priv_user = malloc(sizeof(*priv_user), M_GNTDEV, M_WAITOK | M_ZERO); in gntdev_open()
996 RB_INIT(&priv_user->gref_tree); in gntdev_open()
997 RB_INIT(&priv_user->gmap_tree); in gntdev_open()
998 RB_INIT(&priv_user->file_offset); in gntdev_open()
1002 RB_INSERT(file_offset_head, &priv_user->file_offset, offset); in gntdev_open()
1003 mtx_init(&priv_user->user_data_lock, in gntdev_open()
1006 error = devfs_set_cdevpriv(priv_user, per_user_data_dtor); in gntdev_open()
1008 per_user_data_dtor(priv_user); in gntdev_open()
1058 mmap_gref(struct per_user_data *priv_user, struct gntdev_gref *gref_start, in mmap_gref() argument
1069 mtx_lock(&priv_user->user_data_lock); in mmap_gref()
1072 RB_NEXT(gref_tree_head, &priv_user->gref_tree, gref)) { in mmap_gref()
1082 mtx_unlock(&priv_user->user_data_lock); in mmap_gref()
1099 mmap_gmap(struct per_user_data *priv_user, struct gntdev_gmap *gmap_start, in mmap_gmap() argument
1211 struct per_user_data *priv_user; in gntdev_mmap_single() local
1213 error = devfs_get_cdevpriv((void**) &priv_user); in gntdev_mmap_single()
1219 gref_start = gntdev_find_grefs(priv_user, *offset, count); in gntdev_mmap_single()
1221 error = mmap_gref(priv_user, gref_start, count, size, object); in gntdev_mmap_single()
1225 gmap_start = gntdev_find_gmap(priv_user, *offset, count); in gntdev_mmap_single()
1227 error = mmap_gmap(priv_user, gmap_start, offset, size, object, in gntdev_mmap_single()