Lines Matching refs:ak4113

41 static void ak4113_init_regs(struct ak4113 *chip);
44 static void reg_write(struct ak4113 *ak4113, unsigned char reg, in reg_write() argument
47 ak4113->write(ak4113->private_data, reg, val); in reg_write()
48 if (reg < sizeof(ak4113->regmap)) in reg_write()
49 ak4113->regmap[reg] = val; in reg_write()
52 static inline unsigned char reg_read(struct ak4113 *ak4113, unsigned char reg) in reg_read() argument
54 return ak4113->read(ak4113->private_data, reg); in reg_read()
57 static void snd_ak4113_free(struct ak4113 *chip) in snd_ak4113_free()
66 struct ak4113 *chip = device->device_data; in snd_ak4113_dev_free()
73 void *private_data, struct ak4113 **r_ak4113) in snd_ak4113_create()
75 struct ak4113 *chip; in snd_ak4113_create()
116 void snd_ak4113_reg_write(struct ak4113 *chip, unsigned char reg, in snd_ak4113_reg_write()
125 static void ak4113_init_regs(struct ak4113 *chip) in ak4113_init_regs()
141 void snd_ak4113_reinit(struct ak4113 *chip) in snd_ak4113_reinit()
201 struct ak4113 *chip = snd_kcontrol_chip(kcontrol); in snd_ak4113_in_error_get()
216 struct ak4113 *chip = snd_kcontrol_chip(kcontrol); in snd_ak4113_in_bit_get()
239 struct ak4113 *chip = snd_kcontrol_chip(kcontrol); in snd_ak4113_rx_get()
249 struct ak4113 *chip = snd_kcontrol_chip(kcontrol); in snd_ak4113_rx_put()
277 struct ak4113 *chip = snd_kcontrol_chip(kcontrol); in snd_ak4113_rate_get()
295 struct ak4113 *chip = snd_kcontrol_chip(kcontrol); in snd_ak4113_spdif_get()
332 struct ak4113 *chip = snd_kcontrol_chip(kcontrol); in snd_ak4113_spdif_pget()
357 struct ak4113 *chip = snd_kcontrol_chip(kcontrol); in snd_ak4113_spdif_qget()
484 struct ak4113 *ak4113 = entry->private_data; in snd_ak4113_proc_regs_read() local
488 val = reg_read(ak4113, reg); in snd_ak4113_proc_regs_read()
493 static void snd_ak4113_proc_init(struct ak4113 *ak4113) in snd_ak4113_proc_init() argument
496 if (!snd_card_proc_new(ak4113->card, "ak4113", &entry)) in snd_ak4113_proc_init()
497 snd_info_set_text_ops(entry, ak4113, snd_ak4113_proc_regs_read); in snd_ak4113_proc_init()
500 int snd_ak4113_build(struct ak4113 *ak4113, in snd_ak4113_build() argument
509 ak4113->substream = cap_substream; in snd_ak4113_build()
511 kctl = snd_ctl_new1(&snd_ak4113_iec958_controls[idx], ak4113); in snd_ak4113_build()
516 err = snd_ctl_add(ak4113->card, kctl); in snd_ak4113_build()
519 ak4113->kctls[idx] = kctl; in snd_ak4113_build()
521 snd_ak4113_proc_init(ak4113); in snd_ak4113_build()
523 schedule_delayed_work(&ak4113->work, HZ / 10); in snd_ak4113_build()
528 int snd_ak4113_external_rate(struct ak4113 *ak4113) in snd_ak4113_external_rate() argument
532 rcs1 = reg_read(ak4113, AK4113_REG_RCS1); in snd_ak4113_external_rate()
537 int snd_ak4113_check_rate_and_errors(struct ak4113 *ak4113, unsigned int flags) in snd_ak4113_check_rate_and_errors() argument
540 ak4113->substream ? ak4113->substream->runtime : NULL; in snd_ak4113_check_rate_and_errors()
546 rcs1 = reg_read(ak4113, AK4113_REG_RCS1); in snd_ak4113_check_rate_and_errors()
549 rcs0 = reg_read(ak4113, AK4113_REG_RCS0); in snd_ak4113_check_rate_and_errors()
550 rcs2 = reg_read(ak4113, AK4113_REG_RCS2); in snd_ak4113_check_rate_and_errors()
551 spin_lock_irqsave(&ak4113->lock, _flags); in snd_ak4113_check_rate_and_errors()
553 ak4113->errors[AK4113_PARITY_ERRORS]++; in snd_ak4113_check_rate_and_errors()
555 ak4113->errors[AK4113_V_BIT_ERRORS]++; in snd_ak4113_check_rate_and_errors()
557 ak4113->errors[AK4113_CCRC_ERRORS]++; in snd_ak4113_check_rate_and_errors()
559 ak4113->errors[AK4113_QCRC_ERRORS]++; in snd_ak4113_check_rate_and_errors()
560 c0 = (ak4113->rcs0 & (AK4113_QINT | AK4113_CINT | AK4113_STC | in snd_ak4113_check_rate_and_errors()
564 c1 = (ak4113->rcs1 & (AK4113_DTSCD | AK4113_NPCM | AK4113_PEM | in snd_ak4113_check_rate_and_errors()
568 ak4113->rcs0 = rcs0 & ~(AK4113_QINT | AK4113_CINT | AK4113_STC); in snd_ak4113_check_rate_and_errors()
569 ak4113->rcs1 = rcs1; in snd_ak4113_check_rate_and_errors()
570 ak4113->rcs2 = rcs2; in snd_ak4113_check_rate_and_errors()
571 spin_unlock_irqrestore(&ak4113->lock, _flags); in snd_ak4113_check_rate_and_errors()
574 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE, in snd_ak4113_check_rate_and_errors()
575 &ak4113->kctls[0]->id); in snd_ak4113_check_rate_and_errors()
577 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE, in snd_ak4113_check_rate_and_errors()
578 &ak4113->kctls[1]->id); in snd_ak4113_check_rate_and_errors()
580 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE, in snd_ak4113_check_rate_and_errors()
581 &ak4113->kctls[2]->id); in snd_ak4113_check_rate_and_errors()
583 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE, in snd_ak4113_check_rate_and_errors()
584 &ak4113->kctls[3]->id); in snd_ak4113_check_rate_and_errors()
588 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE, in snd_ak4113_check_rate_and_errors()
589 &ak4113->kctls[4]->id); in snd_ak4113_check_rate_and_errors()
592 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE, in snd_ak4113_check_rate_and_errors()
593 &ak4113->kctls[6]->id); in snd_ak4113_check_rate_and_errors()
595 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE, in snd_ak4113_check_rate_and_errors()
596 &ak4113->kctls[8]->id); in snd_ak4113_check_rate_and_errors()
599 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE, in snd_ak4113_check_rate_and_errors()
600 &ak4113->kctls[9]->id); in snd_ak4113_check_rate_and_errors()
602 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE, in snd_ak4113_check_rate_and_errors()
603 &ak4113->kctls[10]->id); in snd_ak4113_check_rate_and_errors()
605 snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE, in snd_ak4113_check_rate_and_errors()
606 &ak4113->kctls[11]->id); in snd_ak4113_check_rate_and_errors()
608 if (ak4113->change_callback && (c0 | c1) != 0) in snd_ak4113_check_rate_and_errors()
609 ak4113->change_callback(ak4113, c0, c1); in snd_ak4113_check_rate_and_errors()
616 snd_pcm_stream_lock_irqsave(ak4113->substream, _flags); in snd_ak4113_check_rate_and_errors()
617 if (snd_pcm_running(ak4113->substream)) { in snd_ak4113_check_rate_and_errors()
620 snd_pcm_stop(ak4113->substream, in snd_ak4113_check_rate_and_errors()
625 snd_pcm_stream_unlock_irqrestore(ak4113->substream, _flags); in snd_ak4113_check_rate_and_errors()
633 struct ak4113 *chip = container_of(work, struct ak4113, work.work); in ak4113_stats()
643 void snd_ak4113_suspend(struct ak4113 *chip) in snd_ak4113_suspend()
650 void snd_ak4113_resume(struct ak4113 *chip) in snd_ak4113_resume()