]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: Run bias level changes for all DAPM contexts in parallel
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 18 Feb 2011 19:49:43 +0000 (11:49 -0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 22 Feb 2011 18:40:54 +0000 (10:40 -0800)
commitf5f951dabbd391323db9c0a3a6e89508388abb2e
treeab7f2dde596391491d74ae2bc93935dd44b51893
parent9eed20c3eea245c620705d2f0e894d21b92b26b5
ASoC: Run bias level changes for all DAPM contexts in parallel

As bias level changes can be quite time consuming and the bias changes
for multiple devices aren't strongly tied to each other (if anything it
can be advantageous to bring different devices up together) we can improve
the state transition time for multi-component systems by running the bias
level changes for all the devices in parallel. This is very simple to
achieve using the kernel async functionality so use that to schedule the
work.

This should have no practical effect for the overwhelming majority of
systems which have a single DAPM context - we'll bounce into another
thread to do the bias level change but otherwise everything will happen
in exactly the same order as it did before.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
sound/soc/soc-dapm.c