
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.