| /linux/drivers/iommu/iommufd/ |
| H A D | iova_bitmap.c | 106 u8 __user *bitmap; member 130 static unsigned long iova_bitmap_offset_to_index(struct iova_bitmap *bitmap, in iova_bitmap_offset_to_index() argument 133 return (iova >> bitmap->mapped.pgshift) / in iova_bitmap_offset_to_index() 134 BITS_PER_TYPE(*bitmap->bitmap); in iova_bitmap_offset_to_index() 140 static unsigned long iova_bitmap_index_to_offset(struct iova_bitmap *bitmap, in iova_bitmap_index_to_offset() argument 143 unsigned long pgshift = bitmap->mapped.pgshift; in iova_bitmap_index_to_offset() 145 return (index * BITS_PER_TYPE(*bitmap->bitmap)) << pgshift; in iova_bitmap_index_to_offset() 151 static unsigned long iova_bitmap_mapped_iova(struct iova_bitmap *bitmap) in iova_bitmap_mapped_iova() argument 153 unsigned long skip = bitmap->mapped_base_index; in iova_bitmap_mapped_iova() 155 return bitmap->iova + iova_bitmap_index_to_offset(bitmap, skip); in iova_bitmap_mapped_iova() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | alloc.c | 44 u32 mlx4_bitmap_alloc(struct mlx4_bitmap *bitmap) in mlx4_bitmap_alloc() argument 48 spin_lock(&bitmap->lock); in mlx4_bitmap_alloc() 50 obj = find_next_zero_bit(bitmap->table, bitmap->max, bitmap->last); in mlx4_bitmap_alloc() 51 if (obj >= bitmap->max) { in mlx4_bitmap_alloc() 52 bitmap->top = (bitmap->top + bitmap->max + bitmap->reserved_top) in mlx4_bitmap_alloc() 53 & bitmap->mask; in mlx4_bitmap_alloc() 54 obj = find_first_zero_bit(bitmap->table, bitmap->max); in mlx4_bitmap_alloc() 57 if (obj < bitmap->max) { in mlx4_bitmap_alloc() 58 set_bit(obj, bitmap->table); in mlx4_bitmap_alloc() 59 bitmap->last = (obj + 1); in mlx4_bitmap_alloc() [all …]
|
| /linux/lib/ |
| H A D | find_bit_benchmark.c | 29 static DECLARE_BITMAP(bitmap, BITMAP_LEN) __initdata; 36 static int __init test_find_first_bit(void *bitmap, unsigned long len) in test_find_first_bit() argument 43 i = find_first_bit(bitmap, len); in test_find_first_bit() 44 __clear_bit(i, bitmap); in test_find_first_bit() 52 static int __init test_find_first_and_bit(void *bitmap, const void *bitmap2, unsigned long len) in test_find_first_and_bit() argument 58 bitmap_copy(cp, bitmap, BITMAP_LEN); in test_find_first_and_bit() 71 static int __init test_find_next_bit(const void *bitmap, unsigned long len) in test_find_next_bit() argument 78 i = find_next_bit(bitmap, BITMAP_LEN, i) + 1; in test_find_next_bit() 85 static int __init test_find_next_zero_bit(const void *bitmap, unsigned long len) in test_find_next_zero_bit() argument 92 i = find_next_zero_bit(bitmap, len, i) + 1; in test_find_next_zero_bit() [all …]
|
| H A D | memweight.c | 15 const unsigned char *bitmap = ptr; in memweight() local 17 for (; bytes > 0 && ((unsigned long)bitmap) % sizeof(long); in memweight() 18 bytes--, bitmap++) in memweight() 19 ret += hweight8(*bitmap); in memweight() 24 ret += bitmap_weight((unsigned long *)bitmap, in memweight() 27 bitmap += longs * sizeof(long); in memweight() 34 for (; bytes > 0; bytes--, bitmap++) in memweight() 35 ret += hweight8(*bitmap); in memweight()
|
| /linux/fs/xfs/scrub/ |
| H A D | agb_bitmap.h | 15 static inline void xagb_bitmap_init(struct xagb_bitmap *bitmap) in xagb_bitmap_init() argument 17 xbitmap32_init(&bitmap->agbitmap); in xagb_bitmap_init() 20 static inline void xagb_bitmap_destroy(struct xagb_bitmap *bitmap) in xagb_bitmap_destroy() argument 22 xbitmap32_destroy(&bitmap->agbitmap); in xagb_bitmap_destroy() 25 static inline int xagb_bitmap_clear(struct xagb_bitmap *bitmap, in xagb_bitmap_clear() argument 28 return xbitmap32_clear(&bitmap->agbitmap, start, len); in xagb_bitmap_clear() 30 static inline int xagb_bitmap_set(struct xagb_bitmap *bitmap, in xagb_bitmap_set() argument 33 return xbitmap32_set(&bitmap->agbitmap, start, len); in xagb_bitmap_set() 36 static inline bool xagb_bitmap_test(struct xagb_bitmap *bitmap, in xagb_bitmap_test() argument 39 return xbitmap32_test(&bitmap->agbitmap, start, len); in xagb_bitmap_test() [all …]
|
| H A D | bitmap.h | 15 void xbitmap64_init(struct xbitmap64 *bitmap); 16 void xbitmap64_destroy(struct xbitmap64 *bitmap); 18 int xbitmap64_clear(struct xbitmap64 *bitmap, uint64_t start, uint64_t len); 19 int xbitmap64_set(struct xbitmap64 *bitmap, uint64_t start, uint64_t len); 20 int xbitmap64_disunion(struct xbitmap64 *bitmap, struct xbitmap64 *sub); 21 uint64_t xbitmap64_hweight(struct xbitmap64 *bitmap); 31 int xbitmap64_walk(struct xbitmap64 *bitmap, xbitmap64_walk_fn fn, 34 bool xbitmap64_empty(struct xbitmap64 *bitmap); 35 bool xbitmap64_test(struct xbitmap64 *bitmap, uint64_t start, uint64_t *len); 43 void xbitmap32_init(struct xbitmap32 *bitmap); [all …]
|
| H A D | off_bitmap.h | 15 static inline void xoff_bitmap_init(struct xoff_bitmap *bitmap) in xoff_bitmap_init() argument 17 xbitmap64_init(&bitmap->offbitmap); in xoff_bitmap_init() 20 static inline void xoff_bitmap_destroy(struct xoff_bitmap *bitmap) in xoff_bitmap_destroy() argument 22 xbitmap64_destroy(&bitmap->offbitmap); in xoff_bitmap_destroy() 25 static inline int xoff_bitmap_set(struct xoff_bitmap *bitmap, in xoff_bitmap_set() argument 28 return xbitmap64_set(&bitmap->offbitmap, off, len); in xoff_bitmap_set() 31 static inline int xoff_bitmap_walk(struct xoff_bitmap *bitmap, in xoff_bitmap_walk() argument 34 return xbitmap64_walk(&bitmap->offbitmap, fn, priv); in xoff_bitmap_walk()
|
| H A D | fsb_bitmap.h | 15 static inline void xfsb_bitmap_init(struct xfsb_bitmap *bitmap) in xfsb_bitmap_init() argument 17 xbitmap64_init(&bitmap->fsbitmap); in xfsb_bitmap_init() 20 static inline void xfsb_bitmap_destroy(struct xfsb_bitmap *bitmap) in xfsb_bitmap_destroy() argument 22 xbitmap64_destroy(&bitmap->fsbitmap); in xfsb_bitmap_destroy() 25 static inline int xfsb_bitmap_set(struct xfsb_bitmap *bitmap, in xfsb_bitmap_set() argument 28 return xbitmap64_set(&bitmap->fsbitmap, start, len); in xfsb_bitmap_set() 31 static inline int xfsb_bitmap_walk(struct xfsb_bitmap *bitmap, in xfsb_bitmap_walk() argument 34 return xbitmap64_walk(&bitmap->fsbitmap, fn, priv); in xfsb_bitmap_walk()
|
| H A D | rtb_bitmap.h | 15 static inline void xrtb_bitmap_init(struct xrtb_bitmap *bitmap) in xrtb_bitmap_init() argument 17 xbitmap64_init(&bitmap->rtbitmap); in xrtb_bitmap_init() 20 static inline void xrtb_bitmap_destroy(struct xrtb_bitmap *bitmap) in xrtb_bitmap_destroy() argument 22 xbitmap64_destroy(&bitmap->rtbitmap); in xrtb_bitmap_destroy() 25 static inline int xrtb_bitmap_set(struct xrtb_bitmap *bitmap, in xrtb_bitmap_set() argument 28 return xbitmap64_set(&bitmap->rtbitmap, start, len); in xrtb_bitmap_set() 31 static inline int xrtb_bitmap_walk(struct xrtb_bitmap *bitmap, in xrtb_bitmap_walk() argument 34 return xbitmap64_walk(&bitmap->rtbitmap, fn, priv); in xrtb_bitmap_walk()
|
| H A D | rgb_bitmap.h | 15 static inline void xrgb_bitmap_init(struct xrgb_bitmap *bitmap) in xrgb_bitmap_init() argument 17 xbitmap32_init(&bitmap->rgbitmap); in xrgb_bitmap_init() 20 static inline void xrgb_bitmap_destroy(struct xrgb_bitmap *bitmap) in xrgb_bitmap_destroy() argument 22 xbitmap32_destroy(&bitmap->rgbitmap); in xrgb_bitmap_destroy() 25 static inline int xrgb_bitmap_set(struct xrgb_bitmap *bitmap, in xrgb_bitmap_set() argument 28 return xbitmap32_set(&bitmap->rgbitmap, start, len); in xrgb_bitmap_set() 31 static inline int xrgb_bitmap_walk(struct xrgb_bitmap *bitmap, in xrgb_bitmap_walk() argument 34 return xbitmap32_walk(&bitmap->rgbitmap, fn, priv); in xrgb_bitmap_walk()
|
| H A D | agb_bitmap.c | 58 struct xagb_bitmap *bitmap = priv; in xagb_bitmap_visit_btblock() local 70 return xagb_bitmap_set(bitmap, agbno, 1); in xagb_bitmap_visit_btblock() 76 struct xagb_bitmap *bitmap, in xagb_bitmap_set_btblocks() argument 80 XFS_BTREE_VISIT_ALL, bitmap); in xagb_bitmap_set_btblocks() 90 struct xagb_bitmap *bitmap, in xagb_bitmap_set_btcur_path() argument 97 error = xagb_bitmap_visit_btblock(cur, i, bitmap); in xagb_bitmap_set_btcur_path()
|
| /linux/fs/afs/ |
| H A D | dir_edit.c | 26 u64 bitmap; in afs_find_contig_bits() local 30 bitmap = (u64)block->hdr.bitmap[0] << 0 * 8; in afs_find_contig_bits() 31 bitmap |= (u64)block->hdr.bitmap[1] << 1 * 8; in afs_find_contig_bits() 32 bitmap |= (u64)block->hdr.bitmap[2] << 2 * 8; in afs_find_contig_bits() 33 bitmap |= (u64)block->hdr.bitmap[3] << 3 * 8; in afs_find_contig_bits() 34 bitmap |= (u64)block->hdr.bitmap[4] << 4 * 8; in afs_find_contig_bits() 35 bitmap |= (u64)block->hdr.bitmap[5] << 5 * 8; in afs_find_contig_bits() 36 bitmap |= (u64)block->hdr.bitmap[6] << 6 * 8; in afs_find_contig_bits() 37 bitmap |= (u64)block->hdr.bitmap[7] << 7 * 8; in afs_find_contig_bits() 38 bitmap >>= 1; /* The first entry is metadata */ in afs_find_contig_bits() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/ |
| H A D | pool.c | 196 unsigned long *bitmap; in hws_pool_create_and_init_bitmap() local 198 bitmap = bitmap_zalloc(1 << log_range, GFP_KERNEL); in hws_pool_create_and_init_bitmap() 199 if (!bitmap) in hws_pool_create_and_init_bitmap() 202 bitmap_fill(bitmap, 1 << log_range); in hws_pool_create_and_init_bitmap() 204 return bitmap; in hws_pool_create_and_init_bitmap() 209 unsigned long *bitmap; in hws_pool_bitmap_init() local 211 bitmap = hws_pool_create_and_init_bitmap(pool->alloc_log_sz); in hws_pool_bitmap_init() 212 if (!bitmap) { in hws_pool_bitmap_init() 221 bitmap_free(bitmap); in hws_pool_bitmap_init() 225 pool->db.bitmap = bitmap; in hws_pool_bitmap_init() [all …]
|
| /linux/drivers/s390/cio/ |
| H A D | idset.c | 16 unsigned long bitmap[]; member 33 memset(set->bitmap, 0, idset_bitmap_size(num_ssid, num_id)); in idset_new() 45 memset(set->bitmap, 0xff, in idset_fill() 51 set_bit(ssid * set->num_id + id, set->bitmap); in idset_add() 56 clear_bit(ssid * set->num_id + id, set->bitmap); in idset_del() 61 return test_bit(ssid * set->num_id + id, set->bitmap); in idset_contains() 84 bitmap_clear(set->bitmap, pos, set->num_id - schid.sch_no); in idset_sch_del_subseq() 94 return bitmap_empty(set->bitmap, set->num_ssid * set->num_id); in idset_is_empty() 101 bitmap_or(to->bitmap, to->bitmap, from->bitmap, len); in idset_add_set()
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_guc_id_mgr.c | 44 unsigned int weight = bitmap_weight(idm->bitmap, idm->total); in __fini_idm() 55 bitmap_free(idm->bitmap); in __fini_idm() 56 idm->bitmap = NULL; in __fini_idm() 80 idm_assert(idm, !idm->bitmap); in xe_guc_id_mgr_init() 91 idm->bitmap = bitmap_zalloc(limit, GFP_KERNEL); in xe_guc_id_mgr_init() 92 if (!idm->bitmap) in xe_guc_id_mgr_init() 105 static unsigned int find_last_zero_area(unsigned long *bitmap, in find_last_zero_area() argument 112 for_each_clear_bitrange(rs, re, bitmap, total) { in find_last_zero_area() 142 id = find_last_zero_area(idm->bitmap, idm->total, count); in idm_reserve_chunk_locked() 148 id = bitmap_find_next_zero_area(idm->bitmap, idm->total, 0, count, 0); in idm_reserve_chunk_locked() [all …]
|
| H A D | xe_guc_db_mgr.c | 58 weight = bitmap_weight(dbm->bitmap, dbm->count); in __fini_dbm() 67 bitmap_free(dbm->bitmap); in __fini_dbm() 68 dbm->bitmap = NULL; in __fini_dbm() 94 dbm_assert(dbm, !dbm->bitmap); in xe_guc_db_mgr_init() 100 dbm->bitmap = bitmap_zalloc(count, GFP_KERNEL); in xe_guc_db_mgr_init() 101 if (!dbm->bitmap) in xe_guc_db_mgr_init() 129 used = bitmap_weight(dbm->bitmap, dbm->count); in dbm_reserve_chunk_locked() 134 index = bitmap_find_next_zero_area(dbm->bitmap, dbm->count, 0, count, 0); in dbm_reserve_chunk_locked() 138 bitmap_set(dbm->bitmap, index, count); in dbm_reserve_chunk_locked() 156 dbm_assert(dbm, test_bit(start + n, dbm->bitmap)); in dbm_release_chunk_locked() [all …]
|
| /linux/drivers/gpu/drm/i915/selftests/ |
| H A D | i915_syncmap.c | 62 for_each_set_bit(i, (unsigned long *)&p->bitmap, KSYNCMAP) { in __sync_print() 77 for_each_set_bit(i, (unsigned long *)&p->bitmap, KSYNCMAP) { in __sync_print() 80 last << 1 | ((p->bitmap >> (i + 1)) ? 1 : 0), in __sync_print() 183 if (hweight32((*sync)->bitmap) != 1) { in check_one() 185 (*sync)->bitmap, hweight32((*sync)->bitmap)); in check_one() 189 err = check_seqno((*sync), ilog2((*sync)->bitmap), seqno); in check_one() 252 if (hweight32((*sync)->bitmap) != 1) { in check_leaf() 254 context, (*sync)->bitmap, hweight32((*sync)->bitmap)); in check_leaf() 258 err = check_seqno((*sync), ilog2((*sync)->bitmap), seqno); in check_leaf() 314 if (hweight32(join->bitmap) != 2) { in igt_syncmap_join_above() [all …]
|
| /linux/fs/nfs/ |
| H A D | nfs4xdr.c | 1009 const __u32 *bitmap, size_t len) in xdr_encode_bitmap4() argument 1014 while (len > 0 && bitmap[len-1] == 0) in xdr_encode_bitmap4() 1016 ret = xdr_stream_encode_uint32_array(xdr, bitmap, len); in xdr_encode_bitmap4() 1022 static size_t mask_bitmap4(const __u32 *bitmap, const __u32 *mask, in mask_bitmap4() argument 1028 while (len > 0 && (bitmap[len-1] == 0 || mask[len-1] == 0)) in mask_bitmap4() 1031 tmp = bitmap[i] & mask[i]; in mask_bitmap4() 1273 const __u32 *bitmap, const __u32 *mask, size_t len, in encode_getattr() argument 1282 len = mask_bitmap4(bitmap, mask, masked_bitmap, len); in encode_getattr() 1283 bitmap = masked_bitmap; in encode_getattr() 1285 xdr_encode_bitmap4(xdr, bitmap, len); in encode_getattr() [all …]
|
| /linux/include/linux/ |
| H A D | iova_bitmap.h | 14 typedef int (*iova_bitmap_fn_t)(struct iova_bitmap *bitmap, 22 void iova_bitmap_free(struct iova_bitmap *bitmap); 23 int iova_bitmap_for_each(struct iova_bitmap *bitmap, void *opaque, 25 void iova_bitmap_set(struct iova_bitmap *bitmap, 36 static inline void iova_bitmap_free(struct iova_bitmap *bitmap) in iova_bitmap_free() argument 40 static inline int iova_bitmap_for_each(struct iova_bitmap *bitmap, void *opaque, in iova_bitmap_for_each() argument 46 static inline void iova_bitmap_set(struct iova_bitmap *bitmap, in iova_bitmap_set() argument
|
| /linux/fs/hfs/ |
| H A D | bitmap.c | 29 static u32 hfs_find_set_zero_bits(__be32 *bitmap, u32 size, u32 offset, u32 *max) in hfs_find_set_zero_bits() argument 40 curr = bitmap + (offset / 32); in hfs_find_set_zero_bits() 41 end = bitmap + ((size + 31) / 32); in hfs_find_set_zero_bits() 70 start = (curr - bitmap) * 32 + i; in hfs_find_set_zero_bits() 108 *max = (curr - bitmap) * 32 + i - start; in hfs_find_set_zero_bits() 141 void *bitmap; in hfs_vbm_search_free() local 149 bitmap = HFS_SB(sb)->bitmap; in hfs_vbm_search_free() 151 pos = hfs_find_set_zero_bits(bitmap, HFS_SB(sb)->fs_ablocks, goal, num_bits); in hfs_vbm_search_free() 154 pos = hfs_find_set_zero_bits(bitmap, goal, 0, num_bits); in hfs_vbm_search_free() 210 curr = HFS_SB(sb)->bitmap + (start / 32); in hfs_clear_vbm_bits()
|
| /linux/drivers/gpu/drm/vmwgfx/ |
| H A D | vmwgfx_page_dirty.c | 52 unsigned long bitmap[]; member 78 offset, &dirty->bitmap[0], in vmw_bo_dirty_scan_pagetable() 92 offset, &dirty->bitmap[0], in vmw_bo_dirty_scan_pagetable() 132 &dirty->bitmap[0], in vmw_bo_dirty_scan_mkwrite() 134 bitmap_clear(&dirty->bitmap[0], 0, dirty->bitmap_size); in vmw_bo_dirty_scan_mkwrite() 136 bitmap_set(&dirty->bitmap[0], dirty->start, in vmw_bo_dirty_scan_mkwrite() 183 &dirty->bitmap[0], &dirty->start, in vmw_bo_dirty_pre_unmap() 251 &dirty->bitmap[0], in vmw_bo_dirty_add() 311 start = find_next_bit(&dirty->bitmap[0], res_end, cur); in vmw_bo_dirty_transfer_to_res() 315 end = find_next_zero_bit(&dirty->bitmap[0], res_end, start + 1); in vmw_bo_dirty_transfer_to_res() [all …]
|
| /linux/arch/loongarch/kernel/ |
| H A D | paravirt.c | 78 __uint128_t bitmap = 0; in pv_send_ipi_mask() local 97 if (!bitmap) { in pv_send_ipi_mask() 101 bitmap <<= min - cpu; in pv_send_ipi_mask() 111 kvm_hypercall3(KVM_HCALL_FUNC_IPI, (unsigned long)bitmap, in pv_send_ipi_mask() 112 (unsigned long)(bitmap >> BITS_PER_LONG), min); in pv_send_ipi_mask() 114 bitmap = 0; in pv_send_ipi_mask() 116 __set_bit(cpu - min, (unsigned long *)&bitmap); in pv_send_ipi_mask() 119 if (bitmap) in pv_send_ipi_mask() 120 kvm_hypercall3(KVM_HCALL_FUNC_IPI, (unsigned long)bitmap, in pv_send_ipi_mask() 121 (unsigned long)(bitmap >> BITS_PER_LONG), min); in pv_send_ipi_mask()
|
| /linux/fs/ocfs2/ |
| H A D | ocfs2.h | 930 static inline void _ocfs2_set_bit(unsigned int bit, unsigned long *bitmap) in _ocfs2_set_bit() argument 932 __set_bit_le(bit, bitmap); in _ocfs2_set_bit() 936 static inline void _ocfs2_clear_bit(unsigned int bit, unsigned long *bitmap) in _ocfs2_clear_bit() argument 938 __clear_bit_le(bit, bitmap); in _ocfs2_clear_bit() 960 static inline void ocfs2_set_bit_unaligned(int bit, void *bitmap) in ocfs2_set_bit_unaligned() argument 962 bitmap = correct_addr_and_bit_unaligned(&bit, bitmap); in ocfs2_set_bit_unaligned() 963 ocfs2_set_bit(bit, bitmap); in ocfs2_set_bit_unaligned() 966 static inline void ocfs2_clear_bit_unaligned(int bit, void *bitmap) in ocfs2_clear_bit_unaligned() argument 968 bitmap = correct_addr_and_bit_unaligned(&bit, bitmap); in ocfs2_clear_bit_unaligned() 969 ocfs2_clear_bit(bit, bitmap); in ocfs2_clear_bit_unaligned() [all …]
|
| /linux/Documentation/filesystems/ext4/ |
| H A D | group_descr.rst | 39 number, and the group descriptor structure. Both block and inode bitmap 41 entire bitmap. 56 - Lower 32-bits of location of block bitmap. 60 - Lower 32-bits of location of inode bitmap. 84 - Lower 32-bits of location of snapshot exclusion bitmap. 88 - Lower 16-bits of the block bitmap checksum. 92 - Lower 16-bits of the inode bitmap checksum. 116 - Upper 32-bits of location of block bitmap. 120 - Upper 32-bits of location of inodes bitmap. 144 - Upper 32-bits of location of snapshot exclusion bitmap. [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | alloc.c | 46 unsigned long *bitmap; member 143 pgdir->bitmap = bitmap_zalloc_node(db_per_page, GFP_KERNEL, node); in mlx5_alloc_db_pgdir() 144 if (!pgdir->bitmap) { in mlx5_alloc_db_pgdir() 149 bitmap_fill(pgdir->bitmap, db_per_page); in mlx5_alloc_db_pgdir() 154 bitmap_free(pgdir->bitmap); in mlx5_alloc_db_pgdir() 169 i = find_first_bit(pgdir->bitmap, db_per_page); in mlx5_alloc_db_from_pgdir() 173 __clear_bit(i, pgdir->bitmap); in mlx5_alloc_db_from_pgdir() 222 __set_bit(db->index, db->u.pgdir->bitmap); in mlx5_db_free() 224 if (bitmap_full(db->u.pgdir->bitmap, db_per_page)) { in mlx5_db_free() 228 bitmap_free(db->u.pgdir->bitmap); in mlx5_db_free()
|