Lines Matching defs:ak4113

15 #include <sound/ak4113.h>
26 static void ak4113_init_regs(struct ak4113 *chip);
29 static void reg_write(struct ak4113 *ak4113, unsigned char reg,
32 ak4113->write(ak4113->private_data, reg, val);
33 if (reg < sizeof(ak4113->regmap))
34 ak4113->regmap[reg] = val;
37 static inline unsigned char reg_read(struct ak4113 *ak4113, unsigned char reg)
39 return ak4113->read(ak4113->private_data, reg);
42 static void snd_ak4113_free(struct ak4113 *chip)
51 struct ak4113 *chip = device->device_data;
58 void *private_data, struct ak4113 **r_ak4113)
60 struct ak4113 *chip;
101 void snd_ak4113_reg_write(struct ak4113 *chip, unsigned char reg,
110 static void ak4113_init_regs(struct ak4113 *chip)
126 void snd_ak4113_reinit(struct ak4113 *chip)
186 struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
201 struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
224 struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
234 struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
262 struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
280 struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
317 struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
342 struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
469 struct ak4113 *ak4113 = entry->private_data;
471 /* all ak4113 registers 0x00 - 0x1c */
473 val = reg_read(ak4113, reg);
478 static void snd_ak4113_proc_init(struct ak4113 *ak4113)
480 snd_card_ro_proc_new(ak4113->card, "ak4113", ak4113,
484 int snd_ak4113_build(struct ak4113 *ak4113,
493 ak4113->substream = cap_substream;
495 kctl = snd_ctl_new1(&snd_ak4113_iec958_controls[idx], ak4113);
500 err = snd_ctl_add(ak4113->card, kctl);
503 ak4113->kctls[idx] = kctl;
505 snd_ak4113_proc_init(ak4113);
507 schedule_delayed_work(&ak4113->work, HZ / 10);
512 int snd_ak4113_external_rate(struct ak4113 *ak4113)
516 rcs1 = reg_read(ak4113, AK4113_REG_RCS1);
521 int snd_ak4113_check_rate_and_errors(struct ak4113 *ak4113, unsigned int flags)
524 ak4113->substream ? ak4113->substream->runtime : NULL;
530 rcs1 = reg_read(ak4113, AK4113_REG_RCS1);
533 rcs0 = reg_read(ak4113, AK4113_REG_RCS0);
534 rcs2 = reg_read(ak4113, AK4113_REG_RCS2);
535 spin_lock_irqsave(&ak4113->lock, _flags);
537 ak4113->errors[AK4113_PARITY_ERRORS]++;
539 ak4113->errors[AK4113_V_BIT_ERRORS]++;
541 ak4113->errors[AK4113_CCRC_ERRORS]++;
543 ak4113->errors[AK4113_QCRC_ERRORS]++;
544 c0 = (ak4113->rcs0 & (AK4113_QINT | AK4113_CINT | AK4113_STC |
548 c1 = (ak4113->rcs1 & (AK4113_DTSCD | AK4113_NPCM | AK4113_PEM |
552 ak4113->rcs0 = rcs0 & ~(AK4113_QINT | AK4113_CINT | AK4113_STC);
553 ak4113->rcs1 = rcs1;
554 ak4113->rcs2 = rcs2;
555 spin_unlock_irqrestore(&ak4113->lock, _flags);
558 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
559 &ak4113->kctls[0]->id);
561 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
562 &ak4113->kctls[1]->id);
564 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
565 &ak4113->kctls[2]->id);
567 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
568 &ak4113->kctls[3]->id);
572 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
573 &ak4113->kctls[4]->id);
576 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
577 &ak4113->kctls[6]->id);
579 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
580 &ak4113->kctls[8]->id);
583 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
584 &ak4113->kctls[9]->id);
586 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
587 &ak4113->kctls[10]->id);
589 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
590 &ak4113->kctls[11]->id);
592 if (ak4113->change_callback && (c0 | c1) != 0)
593 ak4113->change_callback(ak4113, c0, c1);
600 snd_pcm_stream_lock_irqsave(ak4113->substream, _flags);
601 if (snd_pcm_running(ak4113->substream)) {
602 snd_pcm_stop(ak4113->substream,
607 snd_pcm_stream_unlock_irqrestore(ak4113->substream, _flags);
615 struct ak4113 *chip = container_of(work, struct ak4113, work.work);
625 void snd_ak4113_suspend(struct ak4113 *chip)
632 void snd_ak4113_resume(struct ak4113 *chip)