linux_dsm_epyc7002/sound
Lars-Peter Clausen 130897ac5a ASoC: dapm: Remove path 'walked' flag
The 'walked' flag was used to avoid walking paths that have already been
walked. But since we started caching the number of inputs and outputs of a
path we never actually get into a situation where we try to walk a path that
has the 'walked' flag set.

There are two cases in which we can end up walking a path multiple times
within a single run of is_connected_output_ep() or is_connected_input_ep().

1) If a path splits up and rejoins later:

	     .--> C ---v
	A -> B         E --> F
	     '--> D ---^

When walking from A to F we'll end up at E twice, once via C and once via D.
But since we do a depth first search we'll fully discover the path and
initialize the number of outputs/inputs of the widget the first time we get
there. The second time we get there we'll use the cached value and not
bother to check any of the paths again. So we'll never see a path where
'walked' is set in this case.

2) If there is a circle:

	A --> B <-- C <-.--> F
	      '--> D ---'

When walking from A to F we'll end up twice at B. But since there is a
circle the 'walking' flag will still be set on B once we get there the
second time. This means we won't look at any of it's outgoing paths. So in
this case we won't ever see a path where 'walked' is set either.

So it is safe to remove the flag. This on one hand means we remove some
always true checks from one of the hottest paths of the DAPM algorithm and
on the other hand means we do not have to do the tedious clearing of the
flag after checking the number inputs or outputs of a widget.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2014-10-22 12:11:38 +01:00
..
aoa ALSA: Use dma_zalloc_coherent 2014-06-16 11:39:45 +02:00
arm ASoC: pxa2xx-ac97: prepare and unprepare the clocks 2014-06-09 21:11:18 +01:00
atmel dmaengine: dw: split dma-dw.h to platform and private parts 2014-10-15 20:31:04 +05:30
core ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop 2014-10-14 09:14:48 +02:00
drivers ALSA: vx: Use nonatomic PCM ops 2014-09-15 15:52:03 +02:00
firewire ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88 2014-10-10 17:25:30 +02:00
i2c ALSA: cs8427: separate HW initialization 2014-04-03 14:59:48 +02:00
isa ALSA: gus: remove checks for CONFIG_SND_DEBUG_ROM 2014-05-30 10:12:10 +02:00
mips ALSA: au1x00: Use resource_size instead of computation 2014-05-28 17:50:57 +02:00
oss sound fixes for 3.17-rc1 2014-08-15 18:06:56 -06:00
parisc ALSA: parisc: Convert to snd_card_new() with a device pointer 2014-02-14 08:14:05 +01:00
pci ALSA: hda_intel: Add Device IDs for Intel Sunrise Point PCH 2014-10-15 11:39:58 +02:00
pcmcia ALSA: pdaudiocf: Use nonatomic PCM ops 2014-09-15 15:52:38 +02:00
ppc of: Migrate of_find_node_by_name() users to for_each_node_by_name() 2014-06-26 17:12:24 +01:00
sh ALSA: sh: Convert to snd_card_new() with a device pointer 2014-02-14 08:14:07 +01:00
soc ASoC: dapm: Remove path 'walked' flag 2014-10-22 12:11:38 +01:00
sparc ALSA: Use dma_zalloc_coherent 2014-06-16 11:39:45 +02:00
spi ALSA: spi: Convert to snd_card_new() with a device pointer 2014-02-14 08:14:08 +01:00
synth ALSA: synth: emux: soundfont.c: Cleaning up memory leak 2014-06-01 14:33:09 +02:00
usb sound updates for 3.18-rc1 2014-10-10 22:13:25 -04:00
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c consolidate the reassignments of ->f_op in ->open() instances 2013-10-24 23:34:53 -04:00
sound_firmware.c