diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-10-09 10:52:05 (GMT) |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-10-09 11:07:48 (GMT) |
commit | 024dc078558e64e4cebc62c096285430a61dd10e (patch) | |
tree | f1bc9f20c69d1245e1c7d70d384f3c17bcbdfa8c /include/sound | |
parent | 7ca3a18b055ac6667f4e7e34eae6637270002402 (diff) | |
download | linux-024dc078558e64e4cebc62c096285430a61dd10e.tar.xz |
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>
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/soc-dapm.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h index e2853da..bfefc16 100644 --- a/include/sound/soc-dapm.h +++ b/include/sound/soc-dapm.h @@ -495,6 +495,8 @@ struct snd_soc_dapm_widget { /* used during DAPM updates */ struct list_head power_list; struct list_head dirty; + int inputs; + int outputs; }; struct snd_soc_dapm_update { |