On Thu, 2016-06-30 at 21:39 +0800, Garlic Tseng wrote:
On Wed, 2016-06-29 at 20:13 +0100, Mark Brown wrote:
On Fri, Jun 17, 2016 at 03:43:57PM +0800, Garlic Tseng wrote:
+static int mt2701_afe_i2s_set_clkdiv(struct snd_soc_dai *dai, int div_id,
int div)
+{
Why are we adding a set_clkdiv() operation? I would expect the driver to be able to figure things out automatically.
- case DIV_ID_MCLK_TO_BCK:
afe_priv->i2s_path[i2s_num].div_mclk_to_bck = div;
break;
- case DIV_ID_BCK_TO_LRCK:
afe_priv->i2s_path[i2s_num].div_bck_to_lrck = div;
break;
Especially in the case where we're configuring LRCLK, that's trivial when we know the sample rate which we have to know anyway.
Oh... actually I want to say 'div_mclk_over_bck' and 'div_bck_over_lrck' I'll fix the naming if we decide to reserve the set_clkdiv() operation. (omit some comment)
Hi Mark, I recognize that we can set mclk by set_sysclk, fix bck to 64fs and let lrck be the same as sample rate so yes we don't need set_clkdiv.
Thanks for comment, I'll fix that in the next patch.
Garlic