On Fri, 2010-04-30 at 14:59 +0300, Peter Ujfalusi wrote: > 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. > Applied. Thanks ! Liam _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel