/kernel/linux/linux-5.10/tools/testing/radix-tree/ |
H A D | idr-test.c | 3 * idr-test.c: Test the IDR API 7 #include <linux/idr.h> 25 void item_idr_remove(struct idr *idr, int id) in item_idr_remove() argument 27 struct item *item = idr_find(idr, id); in item_idr_remove() 29 idr_remove(idr, id); in item_idr_remove() 36 DEFINE_IDR(idr); in idr_alloc_test() 38 assert(idr_alloc_cyclic(&idr, DUMMY_PTR, 0, 0x4000, GFP_KERNEL) == 0); in idr_alloc_test() 39 assert(idr_alloc_cyclic(&idr, DUMMY_PTR, 0x3ffd, 0x4000, GFP_KERNEL) == 0x3ffd); in idr_alloc_test() 40 idr_remove(&idr, in idr_alloc_test() 180 idr_u32_test1(struct idr *idr, u32 handle) idr_u32_test1() argument 222 idr_align_test(struct idr *idr) idr_align_test() argument [all...] |
H A D | Makefile | 7 TARGETS = main idr-test multiorder xarray 8 CORE_OFILES := xarray.o radix-tree.o idr.o linux.o test.o find_bit.o bitmap.o 10 regression4.o tag_check.o multiorder.o idr-test.o iteration_check.o \ 26 idr-test.o: ../../../lib/test_ida.c 27 idr-test: idr-test.o $(CORE_OFILES) 34 $(RM) $(TARGETS) *.o radix-tree.c idr.c generated/map-shift.h 43 ../../../include/linux/idr.h 48 idr.c: ../../../lib/idr [all...] |
/kernel/linux/linux-6.6/tools/testing/radix-tree/ |
H A D | idr-test.c | 3 * idr-test.c: Test the IDR API 7 #include <linux/idr.h> 25 void item_idr_remove(struct idr *idr, int id) in item_idr_remove() argument 27 struct item *item = idr_find(idr, id); in item_idr_remove() 29 idr_remove(idr, id); in item_idr_remove() 36 DEFINE_IDR(idr); in idr_alloc_test() 38 assert(idr_alloc_cyclic(&idr, DUMMY_PTR, 0, 0x4000, GFP_KERNEL) == 0); in idr_alloc_test() 39 assert(idr_alloc_cyclic(&idr, DUMMY_PTR, 0x3ffd, 0x4000, GFP_KERNEL) == 0x3ffd); in idr_alloc_test() 40 idr_remove(&idr, in idr_alloc_test() 180 idr_u32_test1(struct idr *idr, u32 handle) idr_u32_test1() argument 222 idr_align_test(struct idr *idr) idr_align_test() argument [all...] |
H A D | Makefile | 7 TARGETS = main idr-test multiorder xarray maple 8 CORE_OFILES := xarray.o radix-tree.o idr.o linux.o test.o find_bit.o bitmap.o \ 11 regression4.o tag_check.o multiorder.o idr-test.o iteration_check.o \ 32 idr-test.o: ../../../lib/test_ida.c 33 idr-test: idr-test.o $(CORE_OFILES) 42 $(RM) $(TARGETS) *.o radix-tree.c idr.c generated/map-shift.h generated/bit-length.h 53 ../../../include/linux/idr.h 58 idr.c: ../../../lib/idr [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | idr.h | 3 * include/linux/idr.h 19 struct idr { struct 56 #define DEFINE_IDR(name) struct idr name = IDR_INIT(name) 60 * @idr: idr handle 66 static inline unsigned int idr_get_cursor(const struct idr *idr) in idr_get_cursor() argument 68 return READ_ONCE(idr->idr_next); in idr_get_cursor() 73 * @idr: idr handl 79 idr_set_cursor(struct idr *idr, unsigned int val) idr_set_cursor() argument 135 idr_init_base(struct idr *idr, int base) idr_init_base() argument 149 idr_init(struct idr *idr) idr_init() argument 160 idr_is_empty(const struct idr *idr) idr_is_empty() argument [all...] |
H A D | powercap.h | 11 #include <linux/idr.h> 49 * @idr: idr to have unique id for its child 66 struct idr idr; member 119 * @idr: Instance to an idr entry for children zones. 120 * @parent_idr: To remove reference from the parent idr. 143 struct idr idr; member [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | idr.h | 3 * include/linux/idr.h 19 struct idr { struct 56 #define DEFINE_IDR(name) struct idr name = IDR_INIT(name) 60 * @idr: idr handle 66 static inline unsigned int idr_get_cursor(const struct idr *idr) in idr_get_cursor() argument 68 return READ_ONCE(idr->idr_next); in idr_get_cursor() 73 * @idr: idr handl 79 idr_set_cursor(struct idr *idr, unsigned int val) idr_set_cursor() argument 135 idr_init_base(struct idr *idr, int base) idr_init_base() argument 149 idr_init(struct idr *idr) idr_init() argument 160 idr_is_empty(const struct idr *idr) idr_is_empty() argument [all...] |
H A D | powercap.h | 11 #include <linux/idr.h> 49 * @idr: idr to have unique id for its child 66 struct idr idr; member 119 * @idr: Instance to an idr entry for children zones. 120 * @parent_idr: To remove reference from the parent idr. 143 struct idr idr; member [all...] |
/kernel/linux/linux-5.10/lib/ |
H A D | idr.c | 5 #include <linux/idr.h> 12 * @idr: IDR handle. 33 int idr_alloc_u32(struct idr *idr, void *ptr, u32 *nextid, in idr_alloc_u32() argument 38 unsigned int base = idr->idr_base; in idr_alloc_u32() 41 if (WARN_ON_ONCE(!(idr->idr_rt.xa_flags & ROOT_IS_IDR))) in idr_alloc_u32() 42 idr->idr_rt.xa_flags |= IDR_RT_MARKER; in idr_alloc_u32() 46 slot = idr_get_free(&idr->idr_rt, &iter, gfp, max - base); in idr_alloc_u32() 52 radix_tree_iter_replace(&idr->idr_rt, &iter, slot, ptr); in idr_alloc_u32() 53 radix_tree_iter_tag_clear(&idr in idr_alloc_u32() 79 idr_alloc(struct idr *idr, void *ptr, int start, int end, gfp_t gfp) idr_alloc() argument 117 idr_alloc_cyclic(struct idr *idr, void *ptr, int start, int end, gfp_t gfp) idr_alloc_cyclic() argument 152 idr_remove(struct idr *idr, unsigned long id) idr_remove() argument 172 idr_find(const struct idr *idr, unsigned long id) idr_find() argument 195 idr_for_each(const struct idr *idr, int (*fn)(int id, void *p, void *data), void *data) idr_for_each() argument 227 idr_get_next_ul(struct idr *idr, unsigned long *nextid) idr_get_next_ul() argument 264 idr_get_next(struct idr *idr, int *nextid) idr_get_next() argument 290 idr_replace(struct idr *idr, void *ptr, unsigned long id) idr_replace() argument [all...] |
/kernel/linux/linux-6.6/lib/ |
H A D | idr.c | 5 #include <linux/idr.h> 12 * @idr: IDR handle. 33 int idr_alloc_u32(struct idr *idr, void *ptr, u32 *nextid, in idr_alloc_u32() argument 38 unsigned int base = idr->idr_base; in idr_alloc_u32() 41 if (WARN_ON_ONCE(!(idr->idr_rt.xa_flags & ROOT_IS_IDR))) in idr_alloc_u32() 42 idr->idr_rt.xa_flags |= IDR_RT_MARKER; in idr_alloc_u32() 46 slot = idr_get_free(&idr->idr_rt, &iter, gfp, max - base); in idr_alloc_u32() 52 radix_tree_iter_replace(&idr->idr_rt, &iter, slot, ptr); in idr_alloc_u32() 53 radix_tree_iter_tag_clear(&idr in idr_alloc_u32() 79 idr_alloc(struct idr *idr, void *ptr, int start, int end, gfp_t gfp) idr_alloc() argument 117 idr_alloc_cyclic(struct idr *idr, void *ptr, int start, int end, gfp_t gfp) idr_alloc_cyclic() argument 152 idr_remove(struct idr *idr, unsigned long id) idr_remove() argument 172 idr_find(const struct idr *idr, unsigned long id) idr_find() argument 195 idr_for_each(const struct idr *idr, int (*fn)(int id, void *p, void *data), void *data) idr_for_each() argument 227 idr_get_next_ul(struct idr *idr, unsigned long *nextid) idr_get_next_ul() argument 264 idr_get_next(struct idr *idr, int *nextid) idr_get_next() argument 290 idr_replace(struct idr *idr, void *ptr, unsigned long id) idr_replace() argument [all...] |
/kernel/linux/linux-5.10/drivers/reset/ |
H A D | reset-ti-sci.c | 17 #include <linux/idr.h> 42 * @idr: idr structure for mapping ids to reset control structures 48 struct idr idr; member 80 control = idr_find(&data->idr, id); in ti_sci_reset_set() 161 control = idr_find(&data->idr, id); in ti_sci_reset_status() 186 * driver for performing any reset functions on that reset. An idr structure 187 * is allocated and used to map to the reset control structure. This idr 209 return idr_alloc(&data->idr, contro in ti_sci_reset_of_xlate() [all...] |
/kernel/linux/linux-6.6/drivers/reset/ |
H A D | reset-ti-sci.c | 9 #include <linux/idr.h> 34 * @idr: idr structure for mapping ids to reset control structures 40 struct idr idr; member 72 control = idr_find(&data->idr, id); in ti_sci_reset_set() 153 control = idr_find(&data->idr, id); in ti_sci_reset_status() 178 * driver for performing any reset functions on that reset. An idr structure 179 * is allocated and used to map to the reset control structure. This idr 201 return idr_alloc(&data->idr, contro in ti_sci_reset_of_xlate() [all...] |
/kernel/linux/linux-5.10/include/drm/ |
H A D | drm_auth.h | 31 #include <linux/idr.h> 88 struct idr magic_map; 101 struct idr leases; 102 struct idr lessee_idr;
|
/kernel/linux/linux-6.6/include/drm/ |
H A D | drm_auth.h | 31 #include <linux/idr.h> 82 struct idr magic_map; 139 struct idr leases; 147 struct idr lessee_idr;
|
/kernel/linux/linux-5.10/fs/notify/inotify/ |
H A D | inotify_user.c | 19 #include <linux/idr.h> 311 idr_set_cursor(&data->idr, (unsigned int)arg); in inotify_ioctl() 359 static int inotify_add_to_idr(struct idr *idr, spinlock_t *idr_lock, in inotify_add_to_idr() argument 367 ret = idr_alloc_cyclic(idr, i_mark, 1, 0, GFP_NOWAIT); in inotify_add_to_idr() 369 /* we added the mark to the idr, take a reference */ in inotify_add_to_idr() 382 struct idr *idr = &group->inotify_data.idr; in inotify_idr_find_locked() local 388 i_mark = idr_find(idr, w in inotify_idr_find_locked() 420 struct idr *idr = &group->inotify_data.idr; inotify_remove_from_idr() local 563 struct idr *idr = &group->inotify_data.idr; inotify_new_watch() local [all...] |
/kernel/linux/linux-6.6/fs/notify/inotify/ |
H A D | inotify_user.c | 19 #include <linux/idr.h> 347 idr_set_cursor(&data->idr, (unsigned int)arg); in inotify_ioctl() 395 static int inotify_add_to_idr(struct idr *idr, spinlock_t *idr_lock, in inotify_add_to_idr() argument 403 ret = idr_alloc_cyclic(idr, i_mark, 1, 0, GFP_NOWAIT); in inotify_add_to_idr() 405 /* we added the mark to the idr, take a reference */ in inotify_add_to_idr() 418 struct idr *idr = &group->inotify_data.idr; in inotify_idr_find_locked() local 424 i_mark = idr_find(idr, w in inotify_idr_find_locked() 456 struct idr *idr = &group->inotify_data.idr; inotify_remove_from_idr() local 597 struct idr *idr = &group->inotify_data.idr; inotify_new_watch() local [all...] |
/kernel/linux/linux-5.10/kernel/ |
H A D | pid.c | 44 #include <linux/idr.h> 77 .idr = IDR_INIT(init_pid_ns.idr), 152 idr_remove(&ns->idr, upid->nr); in free_pid() 212 nr = idr_alloc(&tmp->idr, NULL, tid, in alloc_pid() 226 if (idr_get_cursor(&tmp->idr) > RESERVED_PIDS) in alloc_pid() 233 nr = idr_alloc_cyclic(&tmp->idr, NULL, pid_min, in alloc_pid() 274 idr_replace(&upid->ns->idr, pid, upid->nr); in alloc_pid() 289 idr_remove(&upid->ns->idr, upid->nr); in alloc_pid() 294 idr_set_cursor(&ns->idr, in alloc_pid() [all...] |
/kernel/linux/linux-6.6/kernel/ |
H A D | pid.c | 44 #include <linux/idr.h> 77 .idr = IDR_INIT(init_pid_ns.idr), 155 idr_remove(&ns->idr, upid->nr); in free_pid() 215 nr = idr_alloc(&tmp->idr, NULL, tid, in alloc_pid() 229 if (idr_get_cursor(&tmp->idr) > RESERVED_PIDS) in alloc_pid() 236 nr = idr_alloc_cyclic(&tmp->idr, NULL, pid_min, in alloc_pid() 277 idr_replace(&upid->ns->idr, pid, upid->nr); in alloc_pid() 292 idr_remove(&upid->ns->idr, upid->nr); in alloc_pid() 297 idr_set_cursor(&ns->idr, in alloc_pid() [all...] |
/kernel/linux/linux-6.6/fs/smb/server/ |
H A D | vfs_cache.c | 283 idr_remove(global_ft.idr, fp->persistent_id); in __ksmbd_remove_durable_fd() 297 idr_remove(ft->idr, fp->volatile_id); in __ksmbd_remove_fd() 354 fp = idr_find(ft->idr, id); in __ksmbd_lookup_fd() 390 fp = idr_find(ft->idr, id); in ksmbd_close_fd() 479 idr_for_each_entry(global_ft.idr, fp, id) { in ksmbd_lookup_fd_cguid() 542 ret = idr_alloc_cyclic(ft->idr, fp, 0, INT_MAX - 1, GFP_NOWAIT); in __open_id() 628 idr_for_each_entry(ft->idr, fp, id) { in __close_file_table_ids() 682 idr_for_each_entry(global_ft.idr, fp, id) { in ksmbd_free_global_file_table() 692 ft->idr = kzalloc(sizeof(struct idr), GFP_KERNE in ksmbd_init_file_table() [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/vc4/ |
H A D | vc4_perfmon.c | 70 perfmon = idr_find(&vc4file->perfmon.idr, id); in vc4_perfmon_find() 80 idr_init(&vc4file->perfmon.idr); in vc4_perfmon_open_file() 95 idr_for_each(&vc4file->perfmon.idr, vc4_perfmon_idr_del, NULL); in vc4_perfmon_close_file() 96 idr_destroy(&vc4file->perfmon.idr); in vc4_perfmon_close_file() 139 ret = idr_alloc(&vc4file->perfmon.idr, perfmon, VC4_PERFMONID_MIN, in vc4_perfmon_create_ioctl() 166 perfmon = idr_remove(&vc4file->perfmon.idr, req->id); in vc4_perfmon_destroy_ioctl() 191 perfmon = idr_find(&vc4file->perfmon.idr, req->id); in vc4_perfmon_get_values_ioctl()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/v3d/ |
H A D | v3d_perfmon.c | 90 perfmon = idr_find(&v3d_priv->perfmon.idr, id); in v3d_perfmon_find() 100 idr_init_base(&v3d_priv->perfmon.idr, 1); in v3d_perfmon_open_file() 115 idr_for_each(&v3d_priv->perfmon.idr, v3d_perfmon_idr_del, NULL); in v3d_perfmon_close_file() 116 idr_destroy(&v3d_priv->perfmon.idr); in v3d_perfmon_close_file() 155 ret = idr_alloc(&v3d_priv->perfmon.idr, perfmon, V3D_PERFMONID_MIN, in v3d_perfmon_create_ioctl() 178 perfmon = idr_remove(&v3d_priv->perfmon.idr, req->id); in v3d_perfmon_destroy_ioctl() 202 perfmon = idr_find(&v3d_priv->perfmon.idr, req->id); in v3d_perfmon_get_values_ioctl()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/vc4/ |
H A D | vc4_perfmon.c | 97 perfmon = idr_find(&vc4file->perfmon.idr, id); in vc4_perfmon_find() 112 idr_init_base(&vc4file->perfmon.idr, VC4_PERFMONID_MIN); in vc4_perfmon_open_file() 133 idr_for_each(&vc4file->perfmon.idr, vc4_perfmon_idr_del, NULL); in vc4_perfmon_close_file() 134 idr_destroy(&vc4file->perfmon.idr); in vc4_perfmon_close_file() 182 ret = idr_alloc(&vc4file->perfmon.idr, perfmon, VC4_PERFMONID_MIN, in vc4_perfmon_create_ioctl() 212 perfmon = idr_remove(&vc4file->perfmon.idr, req->id); in vc4_perfmon_destroy_ioctl() 240 perfmon = idr_find(&vc4file->perfmon.idr, req->id); in vc4_perfmon_get_values_ioctl()
|
/kernel/linux/linux-5.10/drivers/firmware/arm_scmi/ |
H A D | driver.c | 94 struct idr tx_idr; 95 struct idr rx_idr; 670 struct idr *idr; in scmi_chan_setup() local 674 idr = tx ? &info->tx_idr : &info->rx_idr; in scmi_chan_setup() 677 cinfo = idr_find(idr, prot_id); in scmi_chan_setup() 682 cinfo = idr_find(idr, SCMI_PROTOCOL_BASE); in scmi_chan_setup() 699 ret = idr_alloc(idr, cinfo, prot_id, prot_id + 1, GFP_KERNEL); in scmi_chan_setup() 701 dev_err(dev, "unable to allocate SCMI idr slot err %d\n", ret); in scmi_chan_setup() 853 void scmi_free_channel(struct scmi_chan_info *cinfo, struct idr *id argument 862 struct idr *idr = &info->tx_idr; scmi_remove() local [all...] |
/kernel/linux/linux-6.6/sound/soc/qcom/qdsp6/ |
H A D | q6apm.h | 64 struct idr graph_idr; 65 struct idr graph_info_idr; 66 struct idr sub_graphs_idr; 67 struct idr containers_idr; 68 struct idr modules_idr;
|
/kernel/linux/linux-5.10/drivers/tee/optee/ |
H A D | supp.c | 27 idr_init(&supp->idr); in optee_supp_init() 35 idr_destroy(&supp->idr); in optee_supp_uninit() 47 idr_for_each_entry(&supp->idr, req, id) { in optee_supp_release() 48 idr_remove(&supp->idr, id); in optee_supp_release() 175 *id = idr_alloc(&supp->idr, req, 1, 0, GFP_KERNEL); in supp_pop_entry() 315 req = idr_find(&supp->idr, id); in supp_pop_req() 322 idr_remove(&supp->idr, id); in supp_pop_req()
|