[alsa-devel] [PATCH 0/4] ASoC: tlv320dac33: Support for turning codec off

Peter Ujfalusi peter.ujfalusi at nokia.com
Fri Apr 30 09:31:51 CEST 2010


Hello,

The following series adds support for turning the tlv320dac33 codec off in
BIAS_STANDBY (and obviously in BIAS_OFF).

Since the driver already had mechanics for supporting turned off codec in
register writes, the needed changes are mainly in the BIAS/stream handling.

As part of the series further optimization has been done to codec
initialization, resume.

The following scenarios has been tested, and verified (I think these are
covering all cases):
1. Analog bypass caused BIAS_STANDBY -> 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_STANDBY -> 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.
6. Analog bypass enable withing soc power down timeout (BIAS_ON -> BIAS_ON)
   Nothing need to be done.

This series applies on top of Liam's:
git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6.git for-2.6.35 branch

---
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 in BIAS_STANDBY

 sound/soc/codecs/tlv320dac33.c |  236 +++++++++++++++++++++++-----------------
 1 files changed, 137 insertions(+), 99 deletions(-)



More information about the Alsa-devel mailing list