Lines Matching refs:reg
141 int (*write) (struct l3_client *uda1341, unsigned short reg, unsigned short val);
142 int (*read) (struct l3_client *uda1341, unsigned short reg);
169 static int snd_uda1341_codec_write(struct l3_client *clnt, unsigned short reg, unsigned short val) in snd_uda1341_codec_write() argument
175 uda->regs[reg] = val; in snd_uda1341_codec_write()
178 if (IS_DATA0(reg)) { in snd_uda1341_codec_write()
180 } else if (IS_DATA1(reg)) { in snd_uda1341_codec_write()
182 } else if (IS_STATUS(reg)) { in snd_uda1341_codec_write()
184 } else if (IS_EXTEND(reg)) { in snd_uda1341_codec_write()
185 buf[0] |= (reg - ext0) & 0x7; //EXT address in snd_uda1341_codec_write()
194 static int snd_uda1341_codec_read(struct l3_client *clnt, unsigned short reg) in snd_uda1341_codec_read() argument
199 err = l3_read(clnt, reg, &val, 1); in snd_uda1341_codec_read()
206 static inline int snd_uda1341_valid_reg(struct l3_client *clnt, unsigned short reg) in snd_uda1341_valid_reg() argument
208 return reg < uda1341_reg_last; in snd_uda1341_valid_reg()
211 static int snd_uda1341_update_bits(struct l3_client *clnt, unsigned short reg, in snd_uda1341_update_bits() argument
221 uda1341_reg_names[reg], mask, shift, value); in snd_uda1341_update_bits()
224 if (!snd_uda1341_valid_reg(clnt, reg)) in snd_uda1341_update_bits()
227 old = uda->regs[reg]; in snd_uda1341_update_bits()
231 if (flush) uda->write(clnt, reg, new); in snd_uda1341_update_bits()
232 uda->regs[reg] = new; in snd_uda1341_update_bits()
244 int reg; in snd_uda1341_cfg_write() local
326 for (reg = stat0; reg < uda1341_reg_last; reg++) in snd_uda1341_cfg_write()
327 uda->suspend_regs[reg] = uda->regs[reg]; in snd_uda1341_cfg_write()
328 for (reg = 0; reg < CMD_LAST; reg++) in snd_uda1341_cfg_write()
329 uda->suspend_cfg[reg] = uda->cfg[reg]; in snd_uda1341_cfg_write()
332 for (reg = stat0; reg < uda1341_reg_last; reg++) in snd_uda1341_cfg_write()
333 snd_uda1341_codec_write(clnt, reg, uda->suspend_regs[reg]); in snd_uda1341_cfg_write()
334 for (reg = 0; reg < CMD_LAST; reg++) in snd_uda1341_cfg_write()
335 uda->cfg[reg] = uda->suspend_cfg[reg]; in snd_uda1341_cfg_write()
497 int reg; in snd_uda1341_proc_regs_read() local
500 for (reg = 0; reg < uda1341_reg_last; reg ++) { in snd_uda1341_proc_regs_read()
501 if (reg == empty) in snd_uda1341_proc_regs_read()
503 int2str_bin8(uda->regs[reg], buf); in snd_uda1341_proc_regs_read()
504 snd_iprintf(buffer, "%s = %s\n", uda1341_reg_names[reg], buf); in snd_uda1341_proc_regs_read()
528 #define UDA1341_SINGLE(xname, where, reg, shift, mask, invert) \ argument
531 .private_value = where | (reg << 5) | (shift << 9) | (mask << 12) | (invert << 18) \
568 int reg = (kcontrol->private_value >> 5) & 15; in snd_uda1341_put_single() local
579 return snd_uda1341_update_bits(clnt, reg, mask, shift, val, FLUSH); in snd_uda1341_put_single()
586 #define UDA1341_ENUM(xname, where, reg, shift, mask, invert) \ argument
589 .private_value = where | (reg << 5) | (shift << 9) | (mask << 12) | (invert << 18) \
631 int reg = (kcontrol->private_value >> 5) & 15; in snd_uda1341_put_enum() local
637 return snd_uda1341_update_bits(clnt, reg, mask, shift, uda->cfg[where], FLUSH); in snd_uda1341_put_enum()