Lines Matching +full:clear +full:- +full:mask

1 /*-
10 found at http://www.gnu.org/licenses/gpl-2.0.html
53 /* *INDENT-OFF* */
57 /* *INDENT-ON* */
66 #define AL_REG_FIELD_GET(reg, mask, shift) (((reg) & (mask)) >> (shift)) argument
69 #define AL_REG_FIELD_SET(reg, mask, shift, val) \ argument
71 (((reg) & (~(mask))) | \
72 ((((unsigned)(val)) << (shift)) & (mask)))
75 #define AL_REG_FIELD_SET_64(reg, mask, shift, val) \ argument
77 (((reg) & (~(mask))) | \
78 ((((uint64_t)(val)) << (shift)) & (mask))))
95 /** clear single bit of 32 bit register */
101 (AL_BIT(n) - 1)
104 (AL_BIT(msb) + AL_BIT_MASK(msb) - AL_BIT_MASK(lsb))
106 /** clear bits specified by clear_mask */
115 /** clear bits specified by clear_mask, and set bits specified by set_mask */
120 ((size) * (((val) + (size) - 1) / (size)))
122 /** take bits selected by mask from one data, the rest from background */
123 #define AL_MASK_VAL(mask, data, background) \ argument
124 (((mask) & (data)) | ((~mask) & (background)))
131 * @param mask
132 * bits not selected (1) by mask will be left unchanged
134 * data to write. bits not selected by mask ignored.
137 al_reg_write8_masked(uint8_t __iomem *reg, uint8_t mask, uint8_t data) in al_reg_write8_masked() argument
141 al_reg_write8(reg, AL_MASK_VAL(mask, data, temp)); in al_reg_write8_masked()
150 * @param mask
151 * bits not selected (1) by mask will be left unchanged
153 * data to write. bits not selected by mask ignored.
156 al_reg_write16_masked(uint16_t __iomem *reg, uint16_t mask, uint16_t data) in al_reg_write16_masked() argument
160 al_reg_write16(reg, AL_MASK_VAL(mask, data, temp)); in al_reg_write16_masked()
169 * @param mask
170 * bits not selected (1) by mask will be left unchanged
172 * data to write. bits not selected by mask ignored.
175 al_reg_write32_masked(uint32_t __iomem *reg, uint32_t mask, uint32_t data) in al_reg_write32_masked() argument
179 al_reg_write32(reg, AL_MASK_VAL(mask, data, temp)); in al_reg_write32_masked()
182 /* *INDENT-OFF* */
186 /* *INDENT-ON* */