Home
last modified time | relevance | path

Searched refs:idr (Results 1 – 25 of 115) sorted by relevance

12345

/linux/tools/testing/radix-tree/
H A Didr-test.c25 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, 0x3ffd); in idr_alloc_test()
41 idr_remove(&idr, 0); in idr_alloc_test()
52 id = idr_alloc_cyclic(&idr, item, 1, 0x4000, GFP_KERNEL); in idr_alloc_test()
56 idr_for_each(&idr, item_idr_free, &idr); in idr_alloc_test()
[all …]
H A DMakefile5 TARGETS = main idr-test multiorder xarray maple
8 regression3.o regression4.o tag_check.o multiorder.o idr-test.o \
18 idr-test.o: ../../../lib/test_ida.c
19 idr-test: idr-test.o $(CORE_OFILES)
28 $(RM) $(TARGETS) *.o radix-tree.c idr.c generated/*
H A D.gitignore5 idr.c
6 idr-test
/linux/include/linux/
H A Didr.h20 struct idr { struct
57 #define DEFINE_IDR(name) struct idr name = IDR_INIT(name)
67 static inline unsigned int idr_get_cursor(const struct idr *idr) in idr_get_cursor() argument
69 return READ_ONCE(idr->idr_next); in idr_get_cursor()
80 static inline void idr_set_cursor(struct idr *idr, unsigned int val) in idr_set_cursor() argument
82 WRITE_ONCE(idr->idr_next, val); in idr_set_cursor()
102 #define idr_lock(idr) xa_lock(&(idr)->idr_rt) argument
103 #define idr_unlock(idr) xa_unlock(&(idr)->idr_rt) argument
104 #define idr_lock_bh(idr) xa_lock_bh(&(idr)->idr_rt) argument
105 #define idr_unlock_bh(idr) xa_unlock_bh(&(idr)->idr_rt) argument
[all …]
/linux/lib/
H A Didr.c33 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()
48 slot = idr_get_free(&idr->idr_rt, &iter, gfp, max - base); in idr_alloc_u32()
54 radix_tree_iter_replace(&idr->idr_rt, &iter, slot, ptr); in idr_alloc_u32()
55 radix_tree_iter_tag_clear(&idr->idr_rt, &iter, IDR_FREE); in idr_alloc_u32()
81 int idr_alloc(struct idr *idr, void *ptr, int start, int end, gfp_t gfp) in idr_alloc() argument
89 ret = idr_alloc_u32(idr, ptr, &id, end > 0 ? end - 1 : INT_MAX, gfp); in idr_alloc()
119 int idr_alloc_cyclic(struct idr *idr, void *ptr, int start, int end, gfp_t gfp) in idr_alloc_cyclic() argument
[all …]
/linux/Documentation/translations/zh_CN/core-api/
H A Didr.rst5 :Original: Documentation/core-api/idr.rst
66 IDR同步的相关内容请见include/linux/idr.h文件中的“DOC: idr sync”。
71 IDA的用法的相关内容请见lib/idr.c文件中的“DOC: IDA description”。
78 include/linux/idr.h
80 lib/idr.c
/linux/drivers/reset/
H A Dreset-ti-sci.c40 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()
201 return idr_alloc(&data->idr, control, 0, 0, GFP_KERNEL); in ti_sci_reset_of_xlate()
231 idr_init(&data->idr); in ti_sci_reset_probe()
244 idr_destroy(&data->idr); in ti_sci_reset_remove()
/linux/drivers/irqchip/
H A Dirq-gic-v5-irs.c682 u32 spi_count, idr = irs_readl_relaxed(irs_data, GICV5_IRS_IDR2); in gicv5_irs_init() local
684 if (WARN(!FIELD_GET(GICV5_IRS_IDR2_LPI, idr), in gicv5_irs_init()
689 idr = irs_readl_relaxed(irs_data, GICV5_IRS_IDR7); in gicv5_irs_init()
690 irs_data->spi_min = FIELD_GET(GICV5_IRS_IDR7_SPI_BASE, idr); in gicv5_irs_init()
692 idr = irs_readl_relaxed(irs_data, GICV5_IRS_IDR6); in gicv5_irs_init()
693 irs_data->spi_range = FIELD_GET(GICV5_IRS_IDR6_SPI_IRS_RANGE, idr); in gicv5_irs_init()
701 idr = irs_readl_relaxed(irs_data, GICV5_IRS_IDR0); in gicv5_irs_init()
702 gicv5_global_data.virt_capable = !!FIELD_GET(GICV5_IRS_IDR0_VIRT, idr); in gicv5_irs_init()
704 idr = irs_readl_relaxed(irs_data, GICV5_IRS_IDR1); in gicv5_irs_init()
705 irs_setup_pri_bits(idr); in gicv5_irs_init()
[all …]
/linux/sound/soc/qcom/qdsp6/
H A Dq6apm.h65 struct idr graph_idr;
66 struct idr graph_info_idr;
67 struct idr sub_graphs_idr;
68 struct idr containers_idr;
69 struct idr modules_idr;
/linux/fs/smb/server/
H A Dvfs_cache.c82 idr_for_each_entry(global_ft.idr, fp, id) { in proc_show_files()
428 idr_remove(global_ft.idr, fp->persistent_id); in __ksmbd_remove_durable_fd()
458 idr_remove(ft->idr, fp->volatile_id); in __ksmbd_remove_fd()
531 fp = idr_find(ft->idr, id); in __ksmbd_lookup_fd()
581 fp = idr_find(ft->idr, id); in ksmbd_close_fd()
694 idr_for_each_entry(global_ft.idr, fp, id) { in ksmbd_lookup_fd_cguid()
757 ret = idr_alloc_cyclic(ft->idr, fp, 0, INT_MAX - 1, GFP_NOWAIT); in __open_id()
902 fp = idr_get_next(ft->idr, &id); in __close_file_table_ids()
926 idr_remove(ft->idr, id); in __close_file_table_ids()
972 idr_remove(ft->idr, id); in __close_file_table_ids()
[all …]
H A Dvfs_cache.h137 struct idr *idr; member
/linux/include/drm/
H A Ddrm_auth.h64 struct idr magic_map;
121 struct idr leases;
129 struct idr lessee_idr;
/linux/drivers/tee/optee/
H A Dsupp.c27 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()
156 *id = idr_alloc(&supp->idr, req, 1, 0, GFP_KERNEL); in supp_pop_entry()
296 req = idr_find(&supp->idr, id); in supp_pop_req()
303 idr_remove(&supp->idr, id); in supp_pop_req()
/linux/drivers/gpu/drm/vmwgfx/
H A Dttm_object.c97 struct idr idr; member
203 ret = idr_alloc(&tdev->idr, base, 1, 0, GFP_NOWAIT); in ttm_base_object_init()
219 idr_remove(&tdev->idr, base->handle); in ttm_base_object_init()
231 idr_remove(&tdev->idr, base->handle); in ttm_release_base()
281 base = idr_find(&tdev->idr, key); in ttm_base_object_lookup_for_ref()
440 idr_init_base(&tdev->idr, VMWGFX_NUM_MOB + 1); in ttm_object_device_init()
453 WARN_ON_ONCE(!idr_is_empty(&tdev->idr)); in ttm_object_device_release()
454 idr_destroy(&tdev->idr); in ttm_object_device_release()
/linux/tools/testing/shared/
H A Dshared.mk11 SHARED_OFILES = xarray-shared.o radix-tree.o idr.o linux.o $(LIBS)
22 ../../../include/linux/idr.h \
50 idr.c: ../../../lib/idr.c
/linux/Documentation/core-api/
H A Didr.rst69 .. kernel-doc:: include/linux/idr.h
70 :doc: idr sync
75 .. kernel-doc:: lib/idr.c
81 .. kernel-doc:: include/linux/idr.h
83 .. kernel-doc:: lib/idr.c
/linux/drivers/tee/
H A Dtee_shm.c145 id = idr_alloc(&teedev->idr, NULL, 1, 0, GFP_KERNEL); in tee_shm_alloc_user_buf()
153 idr_remove(&teedev->idr, id); in tee_shm_alloc_user_buf()
159 ret = idr_replace(&teedev->idr, shm, id); in tee_shm_alloc_user_buf()
223 ref->shm.id = idr_alloc(&ref->shm.ctx->teedev->idr, &ref->shm, in tee_shm_register_fd()
510 id = idr_alloc(&teedev->idr, NULL, 1, 0, GFP_KERNEL); in tee_shm_register_user_buf()
519 idr_remove(&teedev->idr, id); in tee_shm_register_user_buf()
525 ret = idr_replace(&teedev->idr, shm, id); in tee_shm_register_user_buf()
674 shm = idr_find(&teedev->idr, id); in tee_shm_get_from_id()
711 idr_remove(&teedev->idr, shm->id); in tee_shm_put()
/linux/drivers/powercap/
H A Dpowercap_sys.c397 idr_destroy(&power_zone->idr); in powercap_release()
411 idr_destroy(&control_type->idr); in powercap_release()
513 power_zone->parent_idr = &control_type->idr; in powercap_register_zone()
516 power_zone->parent_idr = &parent->idr; in powercap_register_zone()
527 idr_init(&power_zone->idr); in powercap_register_zone()
626 idr_init(&control_type->idr); in powercap_register_control_type()
638 idr_destroy(&control_type->idr); in powercap_register_control_type()
/linux/drivers/counter/
H A D104-quad-8.c64 u8 idr[QUAD8_NUM_COUNTERS]; member
394 synchronous_mode = u8_get_bits(priv->idr[id], INDEX_MODE) == ENABLE_INDEX_MODE; in quad8_function_write()
396 ret = quad8_control_register_update(priv->map, priv->idr, id, DISABLE_INDEX_MODE, in quad8_function_write()
603 *index_polarity = u8_get_bits(priv->idr[channel_id], INDEX_POLARITY); in quad8_index_polarity_get()
619 ret = quad8_control_register_update(priv->map, priv->idr, channel_id, index_polarity, in quad8_index_polarity_set()
666 *synchronous_mode = u8_get_bits(priv->idr[channel_id], INDEX_MODE); in quad8_synchronous_mode_get()
684 quadrature_mode = u8_get_bits(priv->idr[channel_id], QUADRATURE_MODE); in quad8_synchronous_mode_set()
690 ret = quad8_control_register_update(priv->map, priv->idr, channel_id, synchronous_mode, in quad8_synchronous_mode_set()
1278 priv->idr[channel] = SELECT_IDR | u8_encode_bits(DISABLE_INDEX_MODE, INDEX_MODE) | in quad8_init_counter()
1280 return regmap_write(priv->map, QUAD8_CONTROL(channel), priv->idr[channel]); in quad8_init_counter()
/linux/drivers/misc/ocxl/
H A Docxl_internal.h48 struct idr contexts_idr;
81 struct idr irq_idr;
/linux/drivers/resctrl/
H A Dmpam_devices.c784 if (FIELD_GET(MPAMF_IDR_HAS_CCAP_PART, ris->idr)) { in mpam_ris_hw_probe()
807 if (FIELD_GET(MPAMF_IDR_HAS_CPOR_PART, ris->idr)) { in mpam_ris_hw_probe()
816 if (FIELD_GET(MPAMF_IDR_HAS_MBW_PART, ris->idr)) { in mpam_ris_hw_probe()
844 if (FIELD_GET(MPAMF_IDR_HAS_PRI_PART, ris->idr)) { in mpam_ris_hw_probe()
863 if (FIELD_GET(MPAMF_IDR_HAS_MSMON, ris->idr)) { in mpam_ris_hw_probe()
928 if (FIELD_GET(MPAMF_IDR_HAS_PARTID_NRW, ris->idr) && in mpam_ris_hw_probe()
940 u64 idr; in mpam_msc_hw_probe() local
948 idr = __mpam_read_reg(msc, MPAMF_AIDR); in mpam_msc_hw_probe()
949 if ((idr & MPAMF_AIDR_ARCH_MAJOR_REV) != MPAM_ARCHITECTURE_V1) { in mpam_msc_hw_probe()
956 idr = mpam_msc_read_idr(msc); in mpam_msc_hw_probe()
[all …]
/linux/sound/soc/atmel/
H A Dmchp-spdiftx.c245 u32 sr, imr, pending, idr = 0; in mchp_spdiftx_interrupt() local
256 idr |= SPDIFTX_IR_TXUDR; in mchp_spdiftx_interrupt()
261 idr |= SPDIFTX_IR_TXOVR; in mchp_spdiftx_interrupt()
268 idr |= SPDIFTX_IR_UDRDY; in mchp_spdiftx_interrupt()
275 idr |= SPDIFTX_IR_CSRDY; in mchp_spdiftx_interrupt()
278 regmap_write(dev->regmap, SPDIFTX_IDR, idr); in mchp_spdiftx_interrupt()
/linux/drivers/char/ipmi/
H A Dkcs_bmc_aspeed.c491 { .idr = LPC_IDR1, .odr = LPC_ODR1, .str = LPC_STR1 },
492 { .idr = LPC_IDR2, .odr = LPC_ODR2, .str = LPC_STR2 },
493 { .idr = LPC_IDR3, .odr = LPC_ODR3, .str = LPC_STR3 },
494 { .idr = LPC_IDR4, .odr = LPC_ODR4, .str = LPC_STR4 },
510 ioreg.idr = be32_to_cpup(reg); in aspeed_kcs_of_get_channel()
/linux/fs/notify/inotify/
H A Dinotify_fsnotify.c181 idr_for_each(&group->inotify_data.idr, idr_callback, group); in inotify_free_group_priv()
182 idr_destroy(&group->inotify_data.idr); in inotify_free_group_priv()
/linux/tools/testing/vma/
H A D.gitignore5 idr.c

12345