On Tue, 12 Sep 2017 08:20:05 +0200, Bard Liao wrote: > > We need to set a specific bit for 50 bclk rate. So add set_bclk_ratio > function to set the bit. > > Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> > --- > sound/soc/codecs/rt5670.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/sound/soc/codecs/rt5670.c b/sound/soc/codecs/rt5670.c > index 9545764..dbdd01c 100644 > --- a/sound/soc/codecs/rt5670.c > +++ b/sound/soc/codecs/rt5670.c > @@ -2582,6 +2582,22 @@ static int rt5670_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask, > return 0; > } > > +static int rt5670_set_bclk_ratio(struct snd_soc_dai *dai, unsigned int ratio) > +{ > + struct snd_soc_codec *codec = dai->codec; > + > + dev_dbg(codec->dev, "%s ratio=%d\n", __func__, ratio); > + if (dai->id != RT5670_AIF1) > + return 0; > + > + if (ratio == 50) > + snd_soc_update_bits(codec, RT5670_GEN_CTRL3, 0x0800, 0x0800); > + else > + snd_soc_update_bits(codec, RT5670_GEN_CTRL3, 0x0800, 0x0); Better to define some proper constant for 0x0800 bit. thanks, Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel