On Tue, Mar 24, 2009 at 09:57:20PM +0900, Joonyoung Shim wrote:
This patch supports DAPM widget for always active DAC or ADC regardless of stream. This widgets will be used for voice call at TWL4030 codec.
TWL4030 codec use the digital signal for voice call, so it needs DAC and ADC to change signal to digital or analog, however currently DAC and ADC widgets cannot support voice call because they are activated only when playback or capture is executed.
What's actually needed here is proper path management in the digital domain. Powering components on all the time is clearly suboptimal since it consumes power when the bypass paths aren't in use, potentially including power from other components
This is something that's planned in for the core (there are devices out there with more complex digital routing needs than can be solved with this sort of configuration) but I can't give you a specific schedule for it.
What I'd suggest doing for now is providing a direct analog link from the ADC input to the DAC output for DAPM and then hooking in using events on the widgets to manage the power of the DAC and ADC manually. When the core gains support for digital routing this can be replaced. Alternatively, if there is no integration with record or playback required then there's no reason to represent them as DACs and ADCs, they could be done as some other path element that DAPM does know about.