Lines Matching +full:dynamic +full:- +full:power +full:- +full:switching
1 /* SPDX-License-Identifier: GPL-2.0
3 * linux/sound/soc-dapm.h -- ALSA SoC Dynamic Audio Power Management
15 #include <sound/soc-topology.h>
25 #define SND_SOC_NOPM -1
28 * SoC dynamic audio power management
30 * We can have up to 4 power domains
31 * 1. Codec domain - VREF, VMID
33 * at stream time if power is not needed for sidetone, etc.
34 * 2. Platform/Machine domain - physically connected inputs and outputs
37 * 3. Path domain - Internal codec path mixers
40 * 4. Stream domain - DAC's and ADC's.
159 /* path domain with event - event handler must return 0 for success */
385 #define SND_SOC_DAPM_PRE_PMU 0x1 /* before widget power up */
386 #define SND_SOC_DAPM_POST_PMU 0x2 /* after widget power up */
387 #define SND_SOC_DAPM_PRE_PMD 0x4 /* before widget power down */
388 #define SND_SOC_DAPM_POST_PMD 0x8 /* after widget power down */
407 * @PREPARE: Prepare for audio operations. Called before DAPM switching for
409 * @STANDBY: Low power standby state when no playback/capture operations are
412 * @OFF: Power Off. No restrictions on transition times.
433 snd_soc_dapm_micbias, /* microphone bias (power) - DEPRECATED: use snd_soc_dapm_supply */
439 snd_soc_dapm_vmid, /* codec bias/vmid - to minimise pops */
440 snd_soc_dapm_pre, /* machine specific pre widget - exec first */
441 snd_soc_dapm_post, /* machine specific post widget - exec last */
442 snd_soc_dapm_supply, /* power/clock supply */
453 snd_soc_dapm_kcontrol, /* Auto-disabled kcontrol */
491 * p->source, rather than p->node[SND_SOC_DAPM_DIR_IN]
529 unsigned int mask; /* non-shifted mask */
532 unsigned char power:1; /* block power status */
538 unsigned char new_power:1; /* power from this run */
539 unsigned char power_checked:1; /* power checked this run */
588 struct device *dev; /* from parent - for debug */ /* REMOVE ME */
691 /* dapm sys fs - used by the core */
734 #define snd_soc_component_force_bias_level(c, l) snd_soc_dapm_force_bias_level(&(c)->dapm, l)
735 #define snd_soc_component_get_bias_level(c) snd_soc_dapm_get_bias_level(&(c)->dapm)
736 #define snd_soc_component_init_bias_level(c, l) snd_soc_dapm_init_bias_level(&(c)->dapm, l)
744 (i) < list->num_widgets && (widget = list->widgets[i]); \
748 * snd_soc_dapm_widget_for_each_path - Iterates over all paths in the
756 list_for_each_entry(p, &w->edges[dir], list_node[dir])
759 * snd_soc_dapm_widget_for_each_path_safe - Iterates over all paths in the
771 list_for_each_entry_safe(p, next_p, &w->edges[dir], list_node[dir])
774 * snd_soc_dapm_widget_for_each_sink_path - Iterates over all paths leaving a
783 * snd_soc_dapm_widget_for_each_source_path - Iterates over all paths leading to