WSL2-Linux-Kernel/include
Charles Keepax 45a110a137 ASoC: dapm: Add cache to speed up adding of routes
Some CODECs have a significant number of DAPM routes and for each route,
when it is added to the card, the entire card widget list must be
searched. When adding routes it is very likely, however, that adjacent
routes will require adjacent widgets. For example all the routes for a
mux are likely added in a block and the sink widget will be the same
each time and it is also quite likely that the source widgets are
sequential located in the widget list.

This patch adds a cache to the DAPM context, this cache will hold the
source and sink widgets from the last call to snd_soc_dapm_add_route for
that context. A small search of the widget list will be made from those
points for both the sink and source. Currently this search only checks
both the last widget and the one adjacent to it.

On wm8280 which has approximately 500 widgets and 30000 routes (one of
the largest CODECs in mainline), the number of paths that hit the cache
is 24000, which significantly improves probe time.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-05-12 11:41:46 +01:00
..
acpi Initial ACPI support for arm64: 2015-04-24 08:23:45 -07:00
asm-generic
clocksource
crypto
drm
dt-bindings Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2015-04-24 09:49:37 -07:00
keys
kvm
linux Merge git://git.infradead.org/intel-iommu 2015-04-26 17:47:46 -07:00
math-emu
media
memory
misc
net
pcmcia
ras
rdma
rxrpc
scsi
soc
sound ASoC: dapm: Add cache to speed up adding of routes 2015-05-12 11:41:46 +01:00
target Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-04-24 10:22:09 -07:00
trace Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
uapi NFS client updates for Linux 4.1 2015-04-26 17:33:59 -07:00
video
xen
Kbuild