mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 20:33:49 -04:00
ASoC: Don't mark the outputs of supplies as dirty on state changes
The whole point of supply widgets is that they aren't inputs to their
sinks so a state change in a supply should never affect the state of the
widget being supplied and we don't need to mark them as dirty.
Power Path Neighbour
Before: 69 727 905
After: 63 607 731
This is particularly useful where supplies affect large portions of the
chip (eg, a bandgap supplying the analogue sections).
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
@@ -1260,11 +1260,18 @@ static void dapm_widget_set_power(struct snd_soc_dapm_widget *w, bool power,
|
||||
path->connect);
|
||||
}
|
||||
}
|
||||
list_for_each_entry(path, &w->sinks, list_source) {
|
||||
if (path->sink) {
|
||||
dapm_widget_set_peer_power(path->sink, power,
|
||||
path->connect);
|
||||
switch (w->id) {
|
||||
case snd_soc_dapm_supply:
|
||||
/* Supplies can't affect their outputs, only their inputs */
|
||||
break;
|
||||
default:
|
||||
list_for_each_entry(path, &w->sinks, list_source) {
|
||||
if (path->sink) {
|
||||
dapm_widget_set_peer_power(path->sink, power,
|
||||
path->connect);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (power)
|
||||
|
||||
Reference in New Issue
Block a user