summaryrefslogtreecommitdiff
path: root/include/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-10-09 14:52:05 +0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-10-09 15:07:48 +0400
commit024dc078558e64e4cebc62c096285430a61dd10e (patch)
treef1bc9f20c69d1245e1c7d70d384f3c17bcbdfa8c /include/sound
parent7ca3a18b055ac6667f4e7e34eae6637270002402 (diff)
downloadlinux-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.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index e2853daf802c..bfefc16137ea 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 {