Re: [PATCH 2/4] ASoC: Add ADAU1373 codec support

Lars-Peter Clausen
2011-08-12T00:23:10Z

On 08/11/2011 03:16 PM, Mark Brown wrote:
> On Thu, 2011-08-11 at 12:11 +0200, Lars-Peter Clausen wrote:
>>>> + SOC_ENUM("Lineout1 Mono Stereo", adau1373_lineout1_mode_enum),
>>>> + SOC_ENUM("Speaker Mono Stereo", adau1373_speaker_mode_enum),
>
>>> I'd expect these to be platform data/machine data rather than user
>>> control? The speaker wiring isn't going to vary dynamically...
>
>> You still might want to switch, for whatever particular reason, between mono
>> and stereo at runtime.
>
> Sorry, what does this actually control? I guess I've been mislead but
> from the name of the control I'd expect it to control if the outputs
> were physically connected as mono or stereo outputs.

It controls how Lineout and Speaker mixers distribute the left and right input
channels to their output channels.

>
>>>> + switch (freq / params_rate(params)) {
>>>> + case 1024: /* fs */
>>>> + div = 0;
>>>> + break;
>>>> + case 1536: /* 2/3 fs */
>>>> + div = 1;
>>>> + break;
>
>>> These comments look inaccuate, fs is the sample rate so a divide of 1
>>> would be fs.
>
>> div contains the register value representation of that particular divider.
>
> div isn't the issue here. The comments seem to indicate that the result
> of the divisions are some multiple of fs but fs usually means some
> multiple of the sample rate. For example 2/3fs for 44.1kHz would be
> 29.4kHz.
>

Ah, ok. Yes, I guess the comments are a bit confusing since fs refers to the
internal sample rate and not to the sample rate of the DAI. I'll try to clarify it.