Symbol: ak4113
include/sound/ak4113.h
295
void (*change_callback)(struct ak4113 *ak4113, unsigned char c0,
include/sound/ak4113.h
302
void *private_data, struct ak4113 **r_ak4113);
include/sound/ak4113.h
303
void snd_ak4113_reg_write(struct ak4113 *ak4113, unsigned char reg,
include/sound/ak4113.h
305
void snd_ak4113_reinit(struct ak4113 *ak4113);
include/sound/ak4113.h
306
int snd_ak4113_build(struct ak4113 *ak4113,
include/sound/ak4113.h
308
int snd_ak4113_external_rate(struct ak4113 *ak4113);
include/sound/ak4113.h
309
int snd_ak4113_check_rate_and_errors(struct ak4113 *ak4113, unsigned int flags);
include/sound/ak4113.h
312
void snd_ak4113_suspend(struct ak4113 *chip);
include/sound/ak4113.h
313
void snd_ak4113_resume(struct ak4113 *chip);
include/sound/ak4113.h
315
static inline void snd_ak4113_suspend(struct ak4113 *chip) {}
include/sound/ak4113.h
316
static inline void snd_ak4113_resume(struct ak4113 *chip) {}
sound/i2c/other/ak4113.c
101
void snd_ak4113_reg_write(struct ak4113 *chip, unsigned char reg,
sound/i2c/other/ak4113.c
110
static void ak4113_init_regs(struct ak4113 *chip)
sound/i2c/other/ak4113.c
126
void snd_ak4113_reinit(struct ak4113 *chip)
sound/i2c/other/ak4113.c
186
struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4113.c
200
struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4113.c
223
struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4113.c
233
struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4113.c
26
static void ak4113_init_regs(struct ak4113 *chip);
sound/i2c/other/ak4113.c
260
struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4113.c
278
struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4113.c
29
static void reg_write(struct ak4113 *ak4113, unsigned char reg,
sound/i2c/other/ak4113.c
315
struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4113.c
32
ak4113->write(ak4113->private_data, reg, val);
sound/i2c/other/ak4113.c
33
if (reg < sizeof(ak4113->regmap))
sound/i2c/other/ak4113.c
34
ak4113->regmap[reg] = val;
sound/i2c/other/ak4113.c
340
struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
sound/i2c/other/ak4113.c
37
static inline unsigned char reg_read(struct ak4113 *ak4113, unsigned char reg)
sound/i2c/other/ak4113.c
39
return ak4113->read(ak4113->private_data, reg);
sound/i2c/other/ak4113.c
42
static void snd_ak4113_free(struct ak4113 *chip)
sound/i2c/other/ak4113.c
467
struct ak4113 *ak4113 = entry->private_data;
sound/i2c/other/ak4113.c
471
val = reg_read(ak4113, reg);
sound/i2c/other/ak4113.c
476
static void snd_ak4113_proc_init(struct ak4113 *ak4113)
sound/i2c/other/ak4113.c
478
snd_card_ro_proc_new(ak4113->card, "ak4113", ak4113,
sound/i2c/other/ak4113.c
482
int snd_ak4113_build(struct ak4113 *ak4113,
sound/i2c/other/ak4113.c
491
ak4113->substream = cap_substream;
sound/i2c/other/ak4113.c
493
kctl = snd_ctl_new1(&snd_ak4113_iec958_controls[idx], ak4113);
sound/i2c/other/ak4113.c
498
err = snd_ctl_add(ak4113->card, kctl);
sound/i2c/other/ak4113.c
501
ak4113->kctls[idx] = kctl;
sound/i2c/other/ak4113.c
503
snd_ak4113_proc_init(ak4113);
sound/i2c/other/ak4113.c
505
schedule_delayed_work(&ak4113->work, HZ / 10);
sound/i2c/other/ak4113.c
51
struct ak4113 *chip = device->device_data;
sound/i2c/other/ak4113.c
510
int snd_ak4113_external_rate(struct ak4113 *ak4113)
sound/i2c/other/ak4113.c
514
rcs1 = reg_read(ak4113, AK4113_REG_RCS1);
sound/i2c/other/ak4113.c
519
int snd_ak4113_check_rate_and_errors(struct ak4113 *ak4113, unsigned int flags)
sound/i2c/other/ak4113.c
522
ak4113->substream ? ak4113->substream->runtime : NULL;
sound/i2c/other/ak4113.c
528
rcs1 = reg_read(ak4113, AK4113_REG_RCS1);
sound/i2c/other/ak4113.c
531
rcs0 = reg_read(ak4113, AK4113_REG_RCS0);
sound/i2c/other/ak4113.c
532
rcs2 = reg_read(ak4113, AK4113_REG_RCS2);
sound/i2c/other/ak4113.c
533
scoped_guard(spinlock_irqsave, &ak4113->lock) {
sound/i2c/other/ak4113.c
535
ak4113->errors[AK4113_PARITY_ERRORS]++;
sound/i2c/other/ak4113.c
537
ak4113->errors[AK4113_V_BIT_ERRORS]++;
sound/i2c/other/ak4113.c
539
ak4113->errors[AK4113_CCRC_ERRORS]++;
sound/i2c/other/ak4113.c
541
ak4113->errors[AK4113_QCRC_ERRORS]++;
sound/i2c/other/ak4113.c
542
c0 = (ak4113->rcs0 & (AK4113_QINT | AK4113_CINT | AK4113_STC |
sound/i2c/other/ak4113.c
546
c1 = (ak4113->rcs1 & (AK4113_DTSCD | AK4113_NPCM | AK4113_PEM |
sound/i2c/other/ak4113.c
550
ak4113->rcs0 = rcs0 & ~(AK4113_QINT | AK4113_CINT | AK4113_STC);
sound/i2c/other/ak4113.c
551
ak4113->rcs1 = rcs1;
sound/i2c/other/ak4113.c
552
ak4113->rcs2 = rcs2;
sound/i2c/other/ak4113.c
556
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
sound/i2c/other/ak4113.c
557
&ak4113->kctls[0]->id);
sound/i2c/other/ak4113.c
559
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
sound/i2c/other/ak4113.c
560
&ak4113->kctls[1]->id);
sound/i2c/other/ak4113.c
562
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
sound/i2c/other/ak4113.c
563
&ak4113->kctls[2]->id);
sound/i2c/other/ak4113.c
565
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
sound/i2c/other/ak4113.c
566
&ak4113->kctls[3]->id);
sound/i2c/other/ak4113.c
570
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
sound/i2c/other/ak4113.c
571
&ak4113->kctls[4]->id);
sound/i2c/other/ak4113.c
574
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
sound/i2c/other/ak4113.c
575
&ak4113->kctls[6]->id);
sound/i2c/other/ak4113.c
577
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
sound/i2c/other/ak4113.c
578
&ak4113->kctls[8]->id);
sound/i2c/other/ak4113.c
58
void *private_data, struct ak4113 **r_ak4113)
sound/i2c/other/ak4113.c
581
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
sound/i2c/other/ak4113.c
582
&ak4113->kctls[9]->id);
sound/i2c/other/ak4113.c
584
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
sound/i2c/other/ak4113.c
585
&ak4113->kctls[10]->id);
sound/i2c/other/ak4113.c
587
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
sound/i2c/other/ak4113.c
588
&ak4113->kctls[11]->id);
sound/i2c/other/ak4113.c
590
if (ak4113->change_callback && (c0 | c1) != 0)
sound/i2c/other/ak4113.c
591
ak4113->change_callback(ak4113, c0, c1);
sound/i2c/other/ak4113.c
598
snd_pcm_stream_lock_irqsave(ak4113->substream, _flags);
sound/i2c/other/ak4113.c
599
if (snd_pcm_running(ak4113->substream)) {
sound/i2c/other/ak4113.c
60
struct ak4113 *chip;
sound/i2c/other/ak4113.c
600
snd_pcm_stop(ak4113->substream,
sound/i2c/other/ak4113.c
605
snd_pcm_stream_unlock_irqrestore(ak4113->substream, _flags);
sound/i2c/other/ak4113.c
613
struct ak4113 *chip = container_of(work, struct ak4113, work.work);
sound/i2c/other/ak4113.c
623
void snd_ak4113_suspend(struct ak4113 *chip)
sound/i2c/other/ak4113.c
630
void snd_ak4113_resume(struct ak4113 *chip)
sound/pci/ice1712/quartet.c
1021
ice, &spec->ak4113);
sound/pci/ice1712/quartet.c
1025
spec->ak4113->change_callback = qtet_ak4113_change;
sound/pci/ice1712/quartet.c
1026
spec->ak4113->change_callback_private = ice;
sound/pci/ice1712/quartet.c
1029
spec->ak4113->check_flags = 0;
sound/pci/ice1712/quartet.c
25
struct ak4113 *ak4113;
sound/pci/ice1712/quartet.c
795
return snd_ak4113_build(spec->ak4113,
sound/pci/ice1712/quartet.c
909
static void qtet_ak4113_change(struct ak4113 *ak4113, unsigned char c0,
sound/pci/ice1712/quartet.c
912
struct snd_ice1712 *ice = ak4113->change_callback_private;
sound/pci/ice1712/quartet.c
917
rate = snd_ak4113_external_rate(ak4113);
sound/pci/ice1712/quartet.c
939
rate = snd_ak4113_external_rate(spec->ak4113);