Am 5. Mai 2015 13:22:39 MESZ, schrieb Mark Brown broonie@kernel.org:
On Mon, May 04, 2015 at 09:03:56PM +0200, Sergej Sawazki wrote:
Am 04.05.2015 um 13:25 schrieb Mark Brown:
On Fri, May 01, 2015 at 08:13:57PM +0200, Sergej Sawazki wrote:
+static const struct snd_kcontrol_new
wm8741_snd_controls_mono_right[] = {
- SOC_SINGLE_TLV("Fine Playback Volume Right",
WM8741_DACRLSB_ATTENUATION,
1, 255, 1, dac_tlv_fine),
- SOC_SINGLE_TLV("Playback Volume Right",
WM8741_DACRMSB_ATTENUATION,
0, 511, 1, dac_tlv),
+};
Please follow the control naming standard in ControlNames.txt: all volume controls must have Volume as the last word in the name.
Thanks for this information. I would suggest "Right Fine Playback Volume". Where "Right" is the "CHANNEL" from ControlNames.txt. However, there is no "Right" in the "CHANNEL" section. What do you think?
If the device is in a mono mode it shouldn't have Left or Right in the control name at all.
The mono mode of the device should not be confused with the ALSA mono mode. If the device is in mono mode it either plays the left (mono left mode) or the right (mono right mode) channel.
My board has two of this DACs (left and right channel). The control names should be different, hence my suggestion for the "Left" and "Right" prefixes.
Another approach would be to say that the machine driver is responsible for mixer controls if the devices are in mono mode. What do you think?
.playback = { .stream_name = "Playback",
.channels_min = 2, /* Mono modes not yet supported */
.channels_max = 2,.channels_min = 1,
This should be varying with the platform data: in the mono modes we can't do stereo and I suspect the stereo modes may have issues with mono.
I think this should be always ".channels_min = 2". In "mono mode" the DAC plays either the right or the left channel, however the I2S signal is expected to be stereo.
Does the device only do I2S or can it do DSP modes as well (and if it does are they OK with an actual mono signal)?
It can do DSP A and B, but they do not support an actual mono signal (left + right only).