Lines Matching defs:mask
65 #define AL_REG_FIELD_GET(reg, mask, shift) (((reg) & (mask)) >> (shift))
68 #define AL_REG_FIELD_SET(reg, mask, shift, val) \
70 (((reg) & (~(mask))) | \
71 ((((unsigned)(val)) << (shift)) & (mask)))
74 #define AL_REG_FIELD_SET_64(reg, mask, shift, val) \
76 (((reg) & (~(mask))) | \
77 ((((uint64_t)(val)) << (shift)) & (mask))))
121 /** take bits selected by mask from one data, the rest from background */
122 #define AL_MASK_VAL(mask, data, background) \
123 (((mask) & (data)) | ((~mask) & (background)))
130 * @param mask
131 * bits not selected (1) by mask will be left unchanged
133 * data to write. bits not selected by mask ignored.
136 al_reg_write8_masked(uint8_t __iomem *reg, uint8_t mask, uint8_t data)
140 al_reg_write8(reg, AL_MASK_VAL(mask, data, temp));
149 * @param mask
150 * bits not selected (1) by mask will be left unchanged
152 * data to write. bits not selected by mask ignored.
155 al_reg_write16_masked(uint16_t __iomem *reg, uint16_t mask, uint16_t data)
159 al_reg_write16(reg, AL_MASK_VAL(mask, data, temp));
168 * @param mask
169 * bits not selected (1) by mask will be left unchanged
171 * data to write. bits not selected by mask ignored.
174 al_reg_write32_masked(uint32_t __iomem *reg, uint32_t mask, uint32_t data)
178 al_reg_write32(reg, AL_MASK_VAL(mask, data, temp));