[alsa-devel] [PATCHv2 0/4] ASoC: tlv320dac33: Support for turning off codec
Peter Ujfalusi
peter.ujfalusi at nokia.com
Fri Apr 30 13:59:32 CEST 2010
Hello,
Changes since v1:
- patch 1: Removed extra register writes
- patch 4:
- Let core to bring the codec to BIAS_OFF (set idle_bias_off)
- dac33_set_bias_level only takes care of power and minimum initialization
- PRE_DAPM widget event is replacing the dac33_pcm_pointer call to take
care of the initialization needed before _every_ playback.
There are few scenarios, which has to be taken care::
1. Analog bypass caused BIAS_OFF -> BIAS_ON
We need to power on the codec, and do the chip init, but we does not
need to execute the playback related configuration
2. Playback caused BIAS_OFF -> BIAS_ON
We need to power on the codec, and do the chip init, and also we need
to execute the playback related configuration.
3. Playback start, while Analog bypass is on (BIAS_ON -> BIAS_ON)
We need to execute the playback related configuration. The codec is
already on.
4. Analog bypass enable, while playback (BIAS_ON -> BIAS_ON)
Nothing need to be done.
5. Playback start withing soc power down timeout (BIAS_ON -> BIAS_ON)
We need to execute the playback related configuration. The codec is
still on.
Since the power up, and the codec init is optimized, the added overhead
in stream start is minimal.
Withing this patch, the hard_power function is now only doing what it
supposed to: only handle the powers, and GPIO reset line.
The codec initialization and state restore has been moved out.
---
Peter Ujfalusi (4):
ASoC: tlv320dac33: Optimize power up, and restore
ASoC: tlv320dac33: Revised module loading, and DAC33 ID read
ASoC: tlv320dac33: Manage a pointer for snd_pcm_substream in private
structure
ASoC: tlv320dac33: Support for turning off the codec
sound/soc/codecs/tlv320dac33.c | 235 ++++++++++++++++++++++------------------
1 files changed, 129 insertions(+), 106 deletions(-)
More information about the Alsa-devel
mailing list