Re: [alsa-devel] [RFC PATCH] ASoC: wm8960: Use physical width for bclk

From: Daniel Baluta
Date: Wed Mar 15 2017 - 11:14:00 EST


On Wed, Mar 15, 2017 at 3:33 PM, Mark Brown <broonie@xxxxxxxxxx> wrote:
> On Wed, Mar 15, 2017 at 09:19:01AM +0000, Charles Keepax wrote:
>> On Tue, Mar 14, 2017 at 06:57:02PM +0200, Daniel Baluta wrote:
>
>> > - wm8960->bclk = snd_soc_params_to_bclk(params);
>> > + wm8960->bclk = params_physical_width(params) *
>> > + params_channels(params) * params_rate(params);
>> > if (params_channels(params) == 1)
>> > wm8960->bclk *= 2;
>
>> Would quite like to see Mark's thoughts on this. Feels a bit to
>> me (although I am not certain) like we are solving the problem in
>> the wrong place, isn't this really setting the desired BCLK and
>> then in wm8960_configure_clocking we should set the lowest BCLK
>> we can that is greater than or equal to the desired.
>
> Exactly, this is the wrong fix in the wrong place - if this is something
> we want to do we should be doing it in the shared functions so all
> CODECs get the same behaviour but really I think Charles' suggestion
> makes more sense.

I see your point. Thanks a lot for feedback.

I already have an implementation for Charles' suggestion.
Will send the patches asap.

thanks,
Daniel.