ASoC: Only run power_check() on a widget once per run
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 4 Oct 2011 21:15:59 +0000 (22:15 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 5 Oct 2011 10:22:22 +0000 (11:22 +0100)
commit9b8a83b205bd07b06784028effd94515fe9278c3
tree82e015462cf5e36769c2da61d3bf49f6d2873e63
parent75c1f891b4c394c607532fdcea294c2556e410c4
ASoC: Only run power_check() on a widget once per run

Some widgets will get power_check() run on them more than once during a
DAPM run, most commonly due to supply widgets checking to see if their
consumers are powered up. It's wasteful to do this so cache the result
of power_check() during a run. For one system I tested this on I got an
improvement of:

           Power    Path   Neighbour
Before:    106      970    1186
After:     69       727    905

from this.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
include/sound/soc-dapm.h
sound/soc/soc-dapm.c