All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC v2 0/3] ASoC: Option to reorder widget power sequence
@ 2010-12-03 13:31 Peter Ujfalusi
  2010-12-03 13:31 ` [RFC v2 1/3] ASoC: core: DAPM widget flag for reversed power up sequence Peter Ujfalusi
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Peter Ujfalusi @ 2010-12-03 13:31 UTC (permalink / raw)
  To: alsa-devel; +Cc: Mark Brown, Liam Girdwood

Hello,

Chasnges sicne v1:
- Flag moved to per widget
- Flag name changed to: route_change_before_powerup
- Comments from Mark has been addressed in the soc-dapm.c file
- New helper function to set the reorder power up sequence.
- tlv320dac33 to be the first codec to use the reversed power up order

Note: power down sequence remains the same for the reordered widgets as well.

Intro from the v1:

Quite some time ago I have faced similar issue with the sequence of the
DAPM register writes [1]
For that issue, I used a workaround within the twl4030 codec driver.
Now I have again issue with the register write sequence.

The dac33 codec emmits a pop noise, when user enable the analog bypass path.
The route cause in this codec are the DAPM update power and register write
sequence:
1. User enable the bypass
2. DAPM power up sequence takes place
2.1 codec DAPM widgets got powered on, codec is enabled
2.2 External speaker enabled
3. The bit enabling the bypass got changed.

Step 3 cause a pop, which propagate to the speaker, since it is already enabled.

The first patch implements a new flag for the core to reorder the sequence to:
1. User enable the bypass
2. The bit enabling the bypass got changed.
3. DAPM power up sequence takes place
3.1 codec DAPM widgets got powered on, codec is enabled
3.2 External speaker enabled

The default sequence is kept, codec driver must ask to have the reordered
sequence to avoid any side effect on other codecs.

[1]: http://mailman.alsa-project.org/pipermail/alsa-devel/2010-August/030024.html

Peter

---
Peter Ujfalusi (3):
  ASoC: core: DAPM widget flag for reversed power up sequence
  ASoC: core: Helper function to request reversed widget power up
  ASoC: tlv320dac33: Reverse the power up sequence for bypass switches

 include/sound/soc-dapm.h       |    3 ++
 sound/soc/codecs/tlv320dac33.c |    4 +++
 sound/soc/soc-dapm.c           |   54 ++++++++++++++++++++++++++++++++++++++-
 3 files changed, 59 insertions(+), 2 deletions(-)

-- 
1.7.3.2

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-12-07 10:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-03 13:31 [RFC v2 0/3] ASoC: Option to reorder widget power sequence Peter Ujfalusi
2010-12-03 13:31 ` [RFC v2 1/3] ASoC: core: DAPM widget flag for reversed power up sequence Peter Ujfalusi
2010-12-03 13:31 ` [RFC v2 2/3] ASoC: core: Helper function to request reversed widget power up Peter Ujfalusi
2010-12-03 13:31 ` [RFC v2 3/3] ASoC: tlv320dac33: Reverse the power up sequence for bypass switches Peter Ujfalusi
2010-12-06 22:40 ` [RFC v2 0/3] ASoC: Option to reorder widget power sequence Mark Brown
2010-12-07  9:29   ` Peter Ujfalusi
2010-12-07 10:51     ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.