ASoC: Cache connected input and output recursions
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 9 Oct 2011 10:52:05 +0000 (11:52 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 9 Oct 2011 11:07:48 +0000 (12:07 +0100)
commitcf3490e0b4925636a5ecbaa1db422ed3608eb353
treef1bc9f20c69d1245e1c7d70d384f3c17bcbdfa8c
parentea104149961e34915e5c8dd287a1e0a9075e2beb
ASoC: Cache connected input and output recursions

The number of connected input and output endpoints for a given widgets
can't change during a DAPM run so there is no need to redo the recursion
through branches of the tree we've already visited. Doing this on one of
my test systems gives an improvement of:

         Power    Path   Neighbour
Before:  63       607    731
After:   63       141    181

which scales up well as more widgets are involved in paths.

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