Lines Matching full:mask
25 * mask = bitfield_mask(10, 5);
31 * mask = bitfield_mask(10, 5);
32 * old = bitfield_extract_by_mask(old_reg_val, mask);
33 * new_reg_val = bitfield_replace_by_mask(old_reg_val, mask, new);
41 /* Produces a mask of set bits covering a range of a uint value */
60 uint mask = bitfield_mask(shift, width); in bitfield_replace() local
62 return (reg_val & ~mask) | ((bitfield_val << shift) & mask); in bitfield_replace()
65 /* Produces a shift of the bitfield given a mask */
66 static inline uint bitfield_shift(uint mask) in bitfield_shift() argument
68 return mask ? ffs(mask) - 1 : 0; in bitfield_shift()
72 static inline uint bitfield_extract_by_mask(uint reg_val, uint mask) in bitfield_extract_by_mask() argument
74 uint shift = bitfield_shift(mask); in bitfield_extract_by_mask()
76 return (reg_val & mask) >> shift; in bitfield_extract_by_mask()
83 static inline uint bitfield_replace_by_mask(uint reg_val, uint mask, in bitfield_replace_by_mask() argument
86 uint shift = bitfield_shift(mask); in bitfield_replace_by_mask()
88 return (reg_val & ~mask) | ((bitfield_val << shift) & mask); in bitfield_replace_by_mask()