[alsa-devel] [RFC v2 0/3] ASoC: Option to reorder widget power sequence

Peter Ujfalusi peter.ujfalusi at nokia.com
Tue Dec 7 10:29:15 CET 2010


On Tuesday 07 December 2010 00:40:08 ext Mark Brown wrote:
> On Fri, Dec 03, 2010 at 03:31:10PM +0200, Peter Ujfalusi wrote:
> > 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.
> 
> Sorry I've not got back to you yet - I want to implement the thing I was
> talking about with inserting the register update into the DAPM sequence.
> I think that is going to be easier and more generally useful, and it
> doesn't rely on drivers knowing what's going on with the DAPM sequncing
> code which is much cleaner from an abstraction point of view.

Fair enough.
I did taken a look at the possibility to do the register update between DAPM 
power down and up, but I thought it is a bit big change (the place, where the 
DAPM power down and up happens is quite deep, and I was not sure how to inject 
things between those).

I'm no longer sure, when the register update should happen.
It might be worth doing the update at around the power enable for the widget.
IN that way at least we are going to filter the power updates before the 
switch:
DAC -> PGA1 -> widget -> switch -> PGA2 -> out

If we update the register for the switch before the DAPM power up, than we can 
expose the switching from DAC, PGA1, widget.
If we do the update at the same time (or around), when the power for the 
switch would have been enabled, than we are filtering the switching for the 
DAPM widgets before the switch.

-- 
Péter


More information about the Alsa-devel mailing list