mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
ASoC: dapm: Run clock and regulator events separately to other supplies
In order to avoid trying to use an external clock or supply for an on-chip supply prior to it being enabled move the clock and regulator supply events to a separate step in DAPM sequencing from normal supply events. This should have minimal practical impact since these widgets are sorted using SND_SOC_NOPM which is a negative value and hence sorted separately to any real register writes, though it may be relevant if supplies have event callbacks only. Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
eb270e98e1
commit
1dd275b60e
@ -59,31 +59,31 @@ snd_soc_dapm_new_control(struct snd_soc_dapm_context *dapm,
|
|||||||
/* dapm power sequences - make this per codec in the future */
|
/* dapm power sequences - make this per codec in the future */
|
||||||
static int dapm_up_seq[] = {
|
static int dapm_up_seq[] = {
|
||||||
[snd_soc_dapm_pre] = 0,
|
[snd_soc_dapm_pre] = 0,
|
||||||
[snd_soc_dapm_supply] = 1,
|
|
||||||
[snd_soc_dapm_regulator_supply] = 1,
|
[snd_soc_dapm_regulator_supply] = 1,
|
||||||
[snd_soc_dapm_clock_supply] = 1,
|
[snd_soc_dapm_clock_supply] = 1,
|
||||||
[snd_soc_dapm_micbias] = 2,
|
[snd_soc_dapm_supply] = 2,
|
||||||
|
[snd_soc_dapm_micbias] = 3,
|
||||||
[snd_soc_dapm_dai_link] = 2,
|
[snd_soc_dapm_dai_link] = 2,
|
||||||
[snd_soc_dapm_dai_in] = 3,
|
[snd_soc_dapm_dai_in] = 4,
|
||||||
[snd_soc_dapm_dai_out] = 3,
|
[snd_soc_dapm_dai_out] = 4,
|
||||||
[snd_soc_dapm_aif_in] = 3,
|
[snd_soc_dapm_aif_in] = 4,
|
||||||
[snd_soc_dapm_aif_out] = 3,
|
[snd_soc_dapm_aif_out] = 4,
|
||||||
[snd_soc_dapm_mic] = 4,
|
[snd_soc_dapm_mic] = 5,
|
||||||
[snd_soc_dapm_mux] = 5,
|
[snd_soc_dapm_mux] = 6,
|
||||||
[snd_soc_dapm_virt_mux] = 5,
|
[snd_soc_dapm_virt_mux] = 6,
|
||||||
[snd_soc_dapm_value_mux] = 5,
|
[snd_soc_dapm_value_mux] = 6,
|
||||||
[snd_soc_dapm_dac] = 6,
|
[snd_soc_dapm_dac] = 7,
|
||||||
[snd_soc_dapm_switch] = 7,
|
[snd_soc_dapm_switch] = 8,
|
||||||
[snd_soc_dapm_mixer] = 7,
|
[snd_soc_dapm_mixer] = 8,
|
||||||
[snd_soc_dapm_mixer_named_ctl] = 7,
|
[snd_soc_dapm_mixer_named_ctl] = 8,
|
||||||
[snd_soc_dapm_pga] = 8,
|
[snd_soc_dapm_pga] = 9,
|
||||||
[snd_soc_dapm_adc] = 9,
|
[snd_soc_dapm_adc] = 10,
|
||||||
[snd_soc_dapm_out_drv] = 10,
|
[snd_soc_dapm_out_drv] = 11,
|
||||||
[snd_soc_dapm_hp] = 10,
|
[snd_soc_dapm_hp] = 11,
|
||||||
[snd_soc_dapm_spk] = 10,
|
[snd_soc_dapm_spk] = 11,
|
||||||
[snd_soc_dapm_line] = 10,
|
[snd_soc_dapm_line] = 11,
|
||||||
[snd_soc_dapm_kcontrol] = 11,
|
[snd_soc_dapm_kcontrol] = 12,
|
||||||
[snd_soc_dapm_post] = 12,
|
[snd_soc_dapm_post] = 13,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int dapm_down_seq[] = {
|
static int dapm_down_seq[] = {
|
||||||
@ -109,10 +109,10 @@ static int dapm_down_seq[] = {
|
|||||||
[snd_soc_dapm_dai_in] = 10,
|
[snd_soc_dapm_dai_in] = 10,
|
||||||
[snd_soc_dapm_dai_out] = 10,
|
[snd_soc_dapm_dai_out] = 10,
|
||||||
[snd_soc_dapm_dai_link] = 11,
|
[snd_soc_dapm_dai_link] = 11,
|
||||||
[snd_soc_dapm_clock_supply] = 12,
|
|
||||||
[snd_soc_dapm_regulator_supply] = 12,
|
|
||||||
[snd_soc_dapm_supply] = 12,
|
[snd_soc_dapm_supply] = 12,
|
||||||
[snd_soc_dapm_post] = 13,
|
[snd_soc_dapm_clock_supply] = 13,
|
||||||
|
[snd_soc_dapm_regulator_supply] = 13,
|
||||||
|
[snd_soc_dapm_post] = 14,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void pop_wait(u32 pop_time)
|
static void pop_wait(u32 pop_time)
|
||||||
|
Loading…
Reference in New Issue
Block a user