Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 541423dd authored by Liam Girdwood's avatar Liam Girdwood Committed by Mark Brown
Browse files

ASoC: max98090: Make sure we configure BCLK in one place



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: default avatarLiam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 70f29d38
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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 */
@@ -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:
@@ -1873,6 +1875,7 @@ static int max98090_dai_hw_params(struct snd_pcm_substream *substream,
		return -EINVAL;
	}

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

	cdata->rate = max98090->lrclk;
@@ -1952,8 +1955,6 @@ static int max98090_dai_set_sysclk(struct snd_soc_dai *dai,

	max98090->sysclk = freq;

	max98090_configure_bclk(codec);

	return 0;
}

@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -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,