ASoC: hook for codec control updates and clock controls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Codecs like the tlv320aic3x family have soft volume controls to smoothly
drive up and down mixer elements in order to prevent clicks and pops. In
fact, most of the controls on this chip are implemented as such. For the
mixers to work, however, the I2S input clock is needed which is 
currently only true when the DAC/ACD elements are active but not when
the chip is just operating as an analog mixer.

To allow this functionality, the I2S clock must be present for a short
period after each volume control update to the codec and disabled again
after some milliseconds. It should, however, not be enabled if it's
already running and of course, it must not be disabled if the ADC/DAC
is still running.

Adding a hook to struct snd_soc_codec which is called from
snd_soc_update_bits() isn't a big deal, but the problem is the
abstraction layers in this case - for good reasons, the cpu_dai is not
accessible from the codec dai. Or did I miss a link?

Is there a sane way to address this problem?

Thanks and best regards,
Daniel

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux