Lines Matching +full:reg +full:- +full:shift
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
70 (reg) = \
71 (((reg) & (~(mask))) | \
72 ((((unsigned)(val)) << (shift)) & (mask)))
75 #define AL_REG_FIELD_SET_64(reg, mask, shift, val) \ argument
76 ((reg) = \
77 (((reg) & (~(mask))) | \
78 ((((uint64_t)(val)) << (shift)) & (mask))))
81 #define AL_REG_BIT_GET(reg, shift) \ argument
82 AL_REG_FIELD_GET(reg, AL_BIT(shift), shift)
84 #define AL_REG_BITS_FIELD(shift, val) \ argument
85 (((unsigned)(val)) << (shift))
88 #define AL_REG_BIT_VAL_SET(reg, shift, val) \ argument
89 AL_REG_FIELD_SET(reg, AL_BIT(shift), shift, val)
92 #define AL_REG_BIT_SET(reg, shift) \ argument
93 AL_REG_BIT_VAL_SET(reg, shift, 1)
96 #define AL_REG_BIT_CLEAR(reg, shift) \ argument
97 AL_REG_BIT_VAL_SET(reg, shift, 0)
101 (AL_BIT(n) - 1)
104 (AL_BIT(msb) + AL_BIT_MASK(msb) - AL_BIT_MASK(lsb))
107 #define AL_REG_MASK_CLEAR(reg, clear_mask) \ argument
108 ((reg) = (((reg) & (~(clear_mask)))))
111 #define AL_REG_MASK_SET(reg, clear_mask) \ argument
112 ((reg) = (((reg) | (clear_mask))))
116 #define AL_REG_CLEAR_AND_SET(reg, clear_mask, set_mask) \ argument
117 (reg) = (((reg) & (~(clear_mask))) | (set_mask))
120 ((size) * (((val) + (size) - 1) / (size)))
129 * @param reg
137 al_reg_write8_masked(uint8_t __iomem *reg, uint8_t mask, uint8_t data) in al_reg_write8_masked() argument
140 temp = al_reg_read8(reg); in al_reg_write8_masked()
141 al_reg_write8(reg, AL_MASK_VAL(mask, data, temp)); in al_reg_write8_masked()
148 * @param reg
156 al_reg_write16_masked(uint16_t __iomem *reg, uint16_t mask, uint16_t data) in al_reg_write16_masked() argument
159 temp = al_reg_read16(reg); in al_reg_write16_masked()
160 al_reg_write16(reg, AL_MASK_VAL(mask, data, temp)); in al_reg_write16_masked()
167 * @param reg
175 al_reg_write32_masked(uint32_t __iomem *reg, uint32_t mask, uint32_t data) in al_reg_write32_masked() argument
178 temp = al_reg_read32(reg); in al_reg_write32_masked()
179 al_reg_write32(reg, AL_MASK_VAL(mask, data, temp)); in al_reg_write32_masked()
182 /* *INDENT-OFF* */
186 /* *INDENT-ON* */