[alsa-devel] [PATCH 2/4] ASoC: Add ADAU1373 codec support

Lars-Peter Clausen lars at metafoo.de
Fri Aug 12 02:20:49 CEST 2011


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.


More information about the Alsa-devel mailing list