Merge branch 'for-3.1' into for-3.2
This commit is contained in:
Коммит
fef24d92a6
|
@ -2354,6 +2354,8 @@ static int sysclk_event(struct snd_soc_dapm_widget *w,
|
|||
switch (event) {
|
||||
case SND_SOC_DAPM_PRE_PMU:
|
||||
if (fll) {
|
||||
try_wait_for_completion(&wm8962->fll_lock);
|
||||
|
||||
snd_soc_update_bits(codec, WM8962_FLL_CONTROL_1,
|
||||
WM8962_FLL_ENA, WM8962_FLL_ENA);
|
||||
if (wm8962->irq) {
|
||||
|
@ -3449,6 +3451,8 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
|
|||
snd_soc_write(codec, WM8962_FLL_CONTROL_7, fll_div.lambda);
|
||||
snd_soc_write(codec, WM8962_FLL_CONTROL_8, fll_div.n);
|
||||
|
||||
try_wait_for_completion(&wm8962->fll_lock);
|
||||
|
||||
snd_soc_update_bits(codec, WM8962_FLL_CONTROL_1,
|
||||
WM8962_FLL_FRAC | WM8962_FLL_REFCLK_SRC_MASK |
|
||||
WM8962_FLL_ENA, fll1);
|
||||
|
|
|
@ -990,15 +990,10 @@ SND_SOC_DAPM_MICBIAS("MICB1", WM8996_POWER_MANAGEMENT_1, 8, 0),
|
|||
SND_SOC_DAPM_PGA("IN1L PGA", WM8996_POWER_MANAGEMENT_2, 5, 0, NULL, 0),
|
||||
SND_SOC_DAPM_PGA("IN1R PGA", WM8996_POWER_MANAGEMENT_2, 4, 0, NULL, 0),
|
||||
|
||||
SND_SOC_DAPM_MUX("IN1L Mux", SND_SOC_NOPM, 0, 0, &in1_mux),
|
||||
SND_SOC_DAPM_MUX("IN1R Mux", SND_SOC_NOPM, 0, 0, &in1_mux),
|
||||
SND_SOC_DAPM_MUX("IN2L Mux", SND_SOC_NOPM, 0, 0, &in2_mux),
|
||||
SND_SOC_DAPM_MUX("IN2R Mux", SND_SOC_NOPM, 0, 0, &in2_mux),
|
||||
|
||||
SND_SOC_DAPM_PGA("IN1L", WM8996_POWER_MANAGEMENT_7, 2, 0, NULL, 0),
|
||||
SND_SOC_DAPM_PGA("IN1R", WM8996_POWER_MANAGEMENT_7, 3, 0, NULL, 0),
|
||||
SND_SOC_DAPM_PGA("IN2L", WM8996_POWER_MANAGEMENT_7, 6, 0, NULL, 0),
|
||||
SND_SOC_DAPM_PGA("IN2R", WM8996_POWER_MANAGEMENT_7, 7, 0, NULL, 0),
|
||||
SND_SOC_DAPM_MUX("IN1L Mux", WM8996_POWER_MANAGEMENT_7, 2, 0, &in1_mux),
|
||||
SND_SOC_DAPM_MUX("IN1R Mux", WM8996_POWER_MANAGEMENT_7, 3, 0, &in1_mux),
|
||||
SND_SOC_DAPM_MUX("IN2L Mux", WM8996_POWER_MANAGEMENT_7, 6, 0, &in2_mux),
|
||||
SND_SOC_DAPM_MUX("IN2R Mux", WM8996_POWER_MANAGEMENT_7, 7, 0, &in2_mux),
|
||||
|
||||
SND_SOC_DAPM_SUPPLY("DMIC2", WM8996_POWER_MANAGEMENT_7, 9, 0, NULL, 0),
|
||||
SND_SOC_DAPM_SUPPLY("DMIC1", WM8996_POWER_MANAGEMENT_7, 8, 0, NULL, 0),
|
||||
|
@ -1217,6 +1212,16 @@ static const struct snd_soc_dapm_route wm8996_dapm_routes[] = {
|
|||
{ "AIF2RX0", NULL, "AIFCLK" },
|
||||
{ "AIF2RX1", NULL, "AIFCLK" },
|
||||
|
||||
{ "AIF1TX0", NULL, "AIFCLK" },
|
||||
{ "AIF1TX1", NULL, "AIFCLK" },
|
||||
{ "AIF1TX2", NULL, "AIFCLK" },
|
||||
{ "AIF1TX3", NULL, "AIFCLK" },
|
||||
{ "AIF1TX4", NULL, "AIFCLK" },
|
||||
{ "AIF1TX5", NULL, "AIFCLK" },
|
||||
|
||||
{ "AIF2TX0", NULL, "AIFCLK" },
|
||||
{ "AIF2TX1", NULL, "AIFCLK" },
|
||||
|
||||
{ "DSP1RXL", NULL, "SYSDSPCLK" },
|
||||
{ "DSP1RXR", NULL, "SYSDSPCLK" },
|
||||
{ "DSP2RXL", NULL, "SYSDSPCLK" },
|
||||
|
@ -2110,6 +2115,9 @@ static int wm8996_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
|
|||
|
||||
snd_soc_write(codec, WM8996_FLL_EFS_1, fll_div.lambda);
|
||||
|
||||
/* Clear any pending completions (eg, from failed startups) */
|
||||
try_wait_for_completion(&wm8996->fll_lock);
|
||||
|
||||
snd_soc_update_bits(codec, WM8996_FLL_CONTROL_1,
|
||||
WM8996_FLL_ENA, WM8996_FLL_ENA);
|
||||
|
||||
|
|
|
@ -23,6 +23,9 @@ static int speyside_wm8962_set_bias_level(struct snd_soc_card *card,
|
|||
struct snd_soc_dai *codec_dai = card->rtd[0].codec_dai;
|
||||
int ret;
|
||||
|
||||
if (dapm->dev != codec_dai->dev)
|
||||
return 0;
|
||||
|
||||
switch (level) {
|
||||
case SND_SOC_BIAS_PREPARE:
|
||||
if (dapm->bias_level == SND_SOC_BIAS_STANDBY) {
|
||||
|
@ -57,6 +60,9 @@ static int speyside_wm8962_set_bias_level_post(struct snd_soc_card *card,
|
|||
struct snd_soc_dai *codec_dai = card->rtd[0].codec_dai;
|
||||
int ret;
|
||||
|
||||
if (dapm->dev != codec_dai->dev)
|
||||
return 0;
|
||||
|
||||
switch (level) {
|
||||
case SND_SOC_BIAS_STANDBY:
|
||||
ret = snd_soc_dai_set_sysclk(codec_dai, WM8962_SYSCLK_MCLK,
|
||||
|
|
Загрузка…
Ссылка в новой задаче