linux/sound
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
..
aoa ALSA: aoa: constify of_device_id array 2015-03-19 12:11:13 +01:00
arm ALSA: Deletion of checks before the function call "iounmap" 2015-01-04 15:13:45 +01:00
atmel ALSA: sound/atmel/ac97c.c: Add device tree support 2015-01-07 07:56:19 +01:00
core sound updates for 4.1-rc1 2015-04-15 15:41:41 -07:00
drivers Merge branch 'for-linus' into for-next 2015-03-09 08:42:00 +01:00
firewire Merge branch 'for-next' into for-linus 2015-04-13 10:23:18 +02:00
hda ALSA: hda - set GET bit when adding a vendor verb to the codec regmap 2015-04-14 07:25:42 +02:00
i2c ALSA: ak411x: simplify snd_ak4113_create() a bit 2015-03-23 13:58:59 +01:00
isa sound: Deparenthesize negative error returns 2015-03-24 11:41:37 +01:00
mips ALSA: au1x00: fix error return code 2015-04-05 18:04:27 +02:00
oss sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND) 2015-04-18 09:05:55 +02:00
parisc ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
pci ALSA: hda - fix headset mic detection problem for one more machine 2015-04-24 07:47:08 +02:00
pcmcia
ppc powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
sh ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
soc ASoC: dapm: Add cache to speed up adding of routes 2015-05-12 11:41:46 +01:00
sparc ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
spi
synth ALSA: Include linux/uaccess.h and linux/bitopts.h instead of asm/* 2015-01-28 17:25:07 +01:00
usb ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module 2015-04-21 07:59:10 +02:00
ac97_bus.c
Kconfig ALSA: hda - Make snd_hda_bus_type public 2015-03-23 13:15:51 +01:00
last.c
Makefile ALSA: hda - Make snd_hda_bus_type public 2015-03-23 13:15:51 +01:00
sound_core.c
sound_firmware.c