On Friday 15 May 2009 09:30:08 Ujfalusi Peter (Nokia-D/Tampere) wrote:
On Thursday 14 May 2009 15:53:34 ext Mark Brown wrote:
It might help to have the mixers and muxes maintain some state when they change? It's just a suggestion, I'm not familiar enough with the codec to know if it's a sensible one for this device or if it's more trouble than it's worth.
I have given this one a though and it might be not that problematic. What I'm afraid is that there are some corner cases, which might need some special attention.
I have tried this. Worked well with the playback stop/start, but than getting the loopbacks working again proven to be close to impossible... Anyway I have tried another approach, which seams to be working in all scenarios for the twl4030 codec. It does not involve changes outside of the twl4030.c. I will clean up the code and send the patches for testing. In short: I have moved the APGA control from the SND_SOC_DAPM_PGA to SND_SOC_DAPM_MIXER, also I have added another level of mixer for the digital path, which actually controls the DAC state. Than I have SND_SOC_DAPM_PGA_E for the headset outputs.
Now the power up and power down order is correct and a minimal (almost no) pop can be heard on startup and on standby.
I know that this is kind of a hack, but there seams to be no other way to handle the twl4030 codec power on/off sequences.