Re: ASoC: hook for codec control updates and clock controls

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

 



On Sun, Dec 07, 2008 at 06:38:25PM +0100, Daniel Mack wrote:

> 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.

What exactly do you mean when you say "I2S clock input" here?  An I2S
link has two clocks, a bit clock and a frame clock and most codecs also
use a third, master, clock which is not associated directly with an I2S
link.  I suspect that the requirement is for the master clock...

The clocking is the responsibility of the board driver - often the
clocks are disabled while the link is inctive but this up to the board
driver (and ultimately the hardware design).

> 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?

You'll be able to get there since the card is accessible but it's
unacceptable for the codec driver to go fiddling with other parts of the
link like you're suggesting here - it doesn't have enough information
about the system to know what to do.  The clocking for the bus could be
shared with other devices, the clocks could be provided by other devices
or the codec itself could be the clock master.

> Is there a sane way to address this problem?

It does depend on what the actual requirement is here.  Which clock or
clocks are the issue?
_______________________________________________
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