Symbol: ak4117
include/sound/ak4117.h
167
void (*change_callback)(struct ak4117 *ak4117, unsigned char c0, unsigned char c1);
include/sound/ak4117.h
171
const unsigned char pgm[5], void *private_data, struct ak4117 **r_ak4117);
include/sound/ak4117.h
172
void snd_ak4117_reg_write(struct ak4117 *ak4117, unsigned char reg, unsigned char mask, unsigned char val);
include/sound/ak4117.h
173
void snd_ak4117_reinit(struct ak4117 *ak4117);
include/sound/ak4117.h
174
int snd_ak4117_build(struct ak4117 *ak4117, struct snd_pcm_substream *capture_substream);
include/sound/ak4117.h
175
int snd_ak4117_external_rate(struct ak4117 *ak4117);
include/sound/ak4117.h
176
int snd_ak4117_check_rate_and_errors(struct ak4117 *ak4117, unsigned int flags);
sound/i2c/other/ak4117.c
145
struct ak4117 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4117.c
159
struct ak4117 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4117.c
181
struct ak4117 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4117.c
190
struct ak4117 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4117.c
215
struct ak4117 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4117.c
231
struct ak4117 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4117.c
25
static void reg_write(struct ak4117 *ak4117, unsigned char reg, unsigned char val)
sound/i2c/other/ak4117.c
265
struct ak4117 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4117.c
27
ak4117->write(ak4117->private_data, reg, val);
sound/i2c/other/ak4117.c
28
if (reg < sizeof(ak4117->regmap))
sound/i2c/other/ak4117.c
287
struct ak4117 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4117.c
29
ak4117->regmap[reg] = val;
sound/i2c/other/ak4117.c
32
static inline unsigned char reg_read(struct ak4117 *ak4117, unsigned char reg)
sound/i2c/other/ak4117.c
34
return ak4117->read(ak4117->private_data, reg);
sound/i2c/other/ak4117.c
37
static void snd_ak4117_free(struct ak4117 *chip)
sound/i2c/other/ak4117.c
398
int snd_ak4117_build(struct ak4117 *ak4117, struct snd_pcm_substream *cap_substream)
sound/i2c/other/ak4117.c
406
ak4117->substream = cap_substream;
sound/i2c/other/ak4117.c
408
kctl = snd_ctl_new1(&snd_ak4117_iec958_controls[idx], ak4117);
sound/i2c/other/ak4117.c
413
err = snd_ctl_add(ak4117->card, kctl);
sound/i2c/other/ak4117.c
416
ak4117->kctls[idx] = kctl;
sound/i2c/other/ak4117.c
421
int snd_ak4117_external_rate(struct ak4117 *ak4117)
sound/i2c/other/ak4117.c
425
rcs1 = reg_read(ak4117, AK4117_REG_RCS1);
sound/i2c/other/ak4117.c
429
int snd_ak4117_check_rate_and_errors(struct ak4117 *ak4117, unsigned int flags)
sound/i2c/other/ak4117.c
431
struct snd_pcm_runtime *runtime = ak4117->substream ? ak4117->substream->runtime : NULL;
sound/i2c/other/ak4117.c
437
rcs1 = reg_read(ak4117, AK4117_REG_RCS1);
sound/i2c/other/ak4117.c
440
rcs0 = reg_read(ak4117, AK4117_REG_RCS0);
sound/i2c/other/ak4117.c
441
rcs2 = reg_read(ak4117, AK4117_REG_RCS2);
sound/i2c/other/ak4117.c
442
scoped_guard(spinlock_irqsave, &ak4117->lock) {
sound/i2c/other/ak4117.c
444
ak4117->errors[AK4117_PARITY_ERRORS]++;
sound/i2c/other/ak4117.c
446
ak4117->errors[AK4117_V_BIT_ERRORS]++;
sound/i2c/other/ak4117.c
448
ak4117->errors[AK4117_CCRC_ERRORS]++;
sound/i2c/other/ak4117.c
45
struct ak4117 *chip = device->device_data;
sound/i2c/other/ak4117.c
450
ak4117->errors[AK4117_QCRC_ERRORS]++;
sound/i2c/other/ak4117.c
451
c0 = (ak4117->rcs0 & (AK4117_QINT | AK4117_CINT | AK4117_STC | AK4117_AUDION | AK4117_AUTO | AK4117_UNLCK)) ^
sound/i2c/other/ak4117.c
453
c1 = (ak4117->rcs1 & (AK4117_DTSCD | AK4117_NPCM | AK4117_PEM | 0x0f)) ^
sound/i2c/other/ak4117.c
455
ak4117->rcs0 = rcs0 & ~(AK4117_QINT | AK4117_CINT | AK4117_STC);
sound/i2c/other/ak4117.c
456
ak4117->rcs1 = rcs1;
sound/i2c/other/ak4117.c
457
ak4117->rcs2 = rcs2;
sound/i2c/other/ak4117.c
461
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[0]->id);
sound/i2c/other/ak4117.c
463
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[1]->id);
sound/i2c/other/ak4117.c
465
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[2]->id);
sound/i2c/other/ak4117.c
467
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[3]->id);
sound/i2c/other/ak4117.c
471
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[4]->id);
sound/i2c/other/ak4117.c
474
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[6]->id);
sound/i2c/other/ak4117.c
476
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[8]->id);
sound/i2c/other/ak4117.c
479
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[9]->id);
sound/i2c/other/ak4117.c
481
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[10]->id);
sound/i2c/other/ak4117.c
483
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[11]->id);
sound/i2c/other/ak4117.c
485
if (ak4117->change_callback && (c0 | c1) != 0)
sound/i2c/other/ak4117.c
486
ak4117->change_callback(ak4117, c0, c1);
sound/i2c/other/ak4117.c
492
snd_pcm_stream_lock_irqsave(ak4117->substream, _flags);
sound/i2c/other/ak4117.c
493
if (snd_pcm_running(ak4117->substream)) {
sound/i2c/other/ak4117.c
494
snd_pcm_stop(ak4117->substream, SNDRV_PCM_STATE_DRAINING);
sound/i2c/other/ak4117.c
498
snd_pcm_stream_unlock_irqrestore(ak4117->substream, _flags);
sound/i2c/other/ak4117.c
505
struct ak4117 *chip = timer_container_of(chip, t, timer);
sound/i2c/other/ak4117.c
51
const unsigned char pgm[5], void *private_data, struct ak4117 **r_ak4117)
sound/i2c/other/ak4117.c
53
struct ak4117 *chip;
sound/i2c/other/ak4117.c
91
void snd_ak4117_reg_write(struct ak4117 *chip, unsigned char reg, unsigned char mask, unsigned char val)
sound/i2c/other/ak4117.c
98
void snd_ak4117_reinit(struct ak4117 *chip)
sound/pcmcia/pdaudiocf/pdaudiocf.h
83
struct ak4117 *ak4117;
sound/pcmcia/pdaudiocf/pdaudiocf_core.c
119
snd_ak4117_reinit(chip->ak4117);
sound/pcmcia/pdaudiocf/pdaudiocf_core.c
157
static void snd_pdacf_ak4117_change(struct ak4117 *ak4117, unsigned char c0, unsigned char c1)
sound/pcmcia/pdaudiocf/pdaudiocf_core.c
159
struct snd_pdacf *chip = ak4117->change_callback_private;
sound/pcmcia/pdaudiocf/pdaudiocf_core.c
166
if (ak4117->rcs0 & AK4117_UNLCK)
sound/pcmcia/pdaudiocf/pdaudiocf_core.c
192
err = snd_ak4117_create(chip->card, pdacf_ak4117_read, pdacf_ak4117_write, pgm, chip, &chip->ak4117);
sound/pcmcia/pdaudiocf/pdaudiocf_core.c
220
chip->ak4117->change_callback_private = chip;
sound/pcmcia/pdaudiocf/pdaudiocf_core.c
221
chip->ak4117->change_callback = snd_pdacf_ak4117_change;
sound/pcmcia/pdaudiocf/pdaudiocf_core.c
224
snd_pdacf_ak4117_change(chip->ak4117, AK4117_UNLCK, 0);
sound/pcmcia/pdaudiocf/pdaudiocf_core.c
262
return (chip->ak4117->rcs0 & AK4117_UNLCK) == 0;
sound/pcmcia/pdaudiocf/pdaudiocf_core.c
272
(snd_ak4117_external_rate(chip->ak4117) <= 0 || !check_signal(chip)))
sound/pcmcia/pdaudiocf/pdaudiocf_irq.c
37
snd_ak4117_check_rate_and_errors(chip->ak4117, 0);
sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
143
snd_ak4117_reg_write(chip->ak4117, AK4117_REG_IO, AK4117_DIF2|AK4117_DIF1|AK4117_DIF0, aval);
sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
268
err = snd_ak4117_build(chip->ak4117, pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream);
sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
54
rate = snd_ak4117_check_rate_and_errors(chip->ak4117, AK4117_CHECK_NO_STAT|AK4117_CHECK_NO_RATE);
sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
71
if ((chip->ak4117->rcs0 & AK4117_UNLCK) || runtime->rate != rate) {
sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
81
snd_ak4117_check_rate_and_errors(chip->ak4117, AK4117_CHECK_NO_RATE);