On Tue, Sep 30, 2008 at 04:17:38PM +0530, Arun KS wrote:
On Tue, Sep 30, 2008 at 3:49 PM, Mark Brown broonie@sirena.org.uk wrote:
There are no routes here for your bypass path(s) - this will mean that DAPM won't power them on unless there's an active playback and record. At present that's fine for digital only bypass paths but if there are analogue ones they should be visible here.
I made the bypass and sidetone as controls. The user can switchon them through amixer controls.
Right, they should be visible DAPM controls to allow user control.
sh-3.00# amixer cset numid=9 1 numid=9,iface=MIXER,name='Line Bypass' ; type=BOOLEAN,access=rw------,values=1 : values=on sh-3.00# amixer cset numid=11 1 numid=11,iface=MIXER,name='PGA Mixer Line Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on
Its working.
Hrm. That suggests that there's a bug in the power management somewhere - without routes DAPM won't know to power up any of the output stages when the bypass paths are in use, leaving them unpowered.
Note that a lot of PGAs will pass through audio when powered down so you need to check that things like mute and gain controls are functioning as expected rather than just testing for the presence of a signal. Then again, looking at your driver again I don't see any power managent for the output stages either...
You can see what DAPM is powering up by looking at:
/sys/bus/platform/devices/soc-audio/dapm_widgets
Even if this works within the device DAPM still needs to know about the bypass paths so that it can manage components outside the codec.