Skip to content

Commit

Permalink
ASoC: max98090: Make sure we configure BCLK in one place
Browse files Browse the repository at this point in the history
BCL is being configured in two places producing a warning message.
Make sure we only configure BCLK once and when we are master.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
  • Loading branch information
Liam Girdwood authored and Mark Brown committed May 16, 2014
1 parent 70f29d3 commit 541423d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
8 changes: 5 additions & 3 deletions sound/soc/codecs/max98090.c
Original file line number Diff line number Diff line change
Expand Up @@ -1674,6 +1674,7 @@ static int max98090_dai_set_fmt(struct snd_soc_dai *codec_dai,
M98090_REG_CLOCK_RATIO_NI_LSB, 0x00);
snd_soc_update_bits(codec, M98090_REG_CLOCK_MODE,
M98090_USE_M1_MASK, 0);
max98090->master = false;
break;
case SND_SOC_DAIFMT_CBM_CFM:
/* Set to master mode */
Expand All @@ -1690,6 +1691,7 @@ static int max98090_dai_set_fmt(struct snd_soc_dai *codec_dai,
regval |= M98090_MAS_MASK |
M98090_BSEL_32;
}
max98090->master = true;
break;
case SND_SOC_DAIFMT_CBS_CFM:
case SND_SOC_DAIFMT_CBM_CFS:
Expand Down Expand Up @@ -1873,7 +1875,8 @@ static int max98090_dai_hw_params(struct snd_pcm_substream *substream,
return -EINVAL;
}

max98090_configure_bclk(codec);
if (max98090->master)
max98090_configure_bclk(codec);

cdata->rate = max98090->lrclk;

Expand Down Expand Up @@ -1952,8 +1955,6 @@ static int max98090_dai_set_sysclk(struct snd_soc_dai *dai,

max98090->sysclk = freq;

max98090_configure_bclk(codec);

return 0;
}

Expand Down Expand Up @@ -2225,6 +2226,7 @@ static int max98090_probe(struct snd_soc_codec *codec)
/* Initialize private data */

max98090->sysclk = (unsigned)-1;
max98090->master = false;

cdata = &max98090->dai[0];
cdata->rate = (unsigned)-1;
Expand Down
1 change: 1 addition & 0 deletions sound/soc/codecs/max98090.h
Original file line number Diff line number Diff line change
Expand Up @@ -1540,6 +1540,7 @@ struct max98090_priv {
unsigned int pa2en;
unsigned int extmic_mux;
unsigned int sidetone;
bool master;
};

int max98090_mic_detect(struct snd_soc_codec *codec,
Expand Down

0 comments on commit 541423d

Please sign in to comment.