[alsa-devel] wm8731 - redundant register initialization, stream name vs DAPM widgets, snd_soc_io to regmap_io conversion

Charles Keepax ckeepax at opensource.wolfsonmicro.com
Mon Jun 8 11:51:11 CEST 2015


On Fri, Jun 05, 2015 at 12:27:48PM -0700, Sergey Kiselev wrote:
> Hi,
> 
> I have a few questions regarding wm8731. Some might be applicable to other
> codecs as well.
> 
> 1. According to the datasheet bit #8 of all the registers below is set to
> '0' by the hardware reset. Is there a good reason to set them anyway?
> (Perhaps an errata in previous chip version?)
> 	/* Latch the update bits */
> 	snd_soc_update_bits(codec, WM8731_LOUT1V, 0x100, 0);
> 	snd_soc_update_bits(codec, WM8731_ROUT1V, 0x100, 0);
> 	snd_soc_update_bits(codec, WM8731_LINVOL, 0x100, 0);
> 	snd_soc_update_bits(codec, WM8731_RINVOL, 0x100, 0);

Hmm... this does actually look like it is probably redundant, it
looks like initially these set the simultaneous load bits (commit
40e0aa64660b [ALSA] ASoC codecs: WM8731 support), but this caused
problems with the Stereo controls so it was changed in (commit
389619f1063e [ALSA] soc/wm8731: Fix stereo mixer controls). I
think it was just overlooked in that second commit that these are
the defaults and I would expect that those lines could now be
removed with no ill effects.

> 
> 2. In wm8731's snd_soc_dai_driver structure the steam names are 'Playback'
> and 'Capture', while DAPM widgets have 'HiFi' prepended to the names:
> SND_SOC_DAPM_DAC("DAC", "HiFi Playback", WM8731_PWR, 3, 1),
> SND_SOC_DAPM_ADC("ADC", "HiFi Capture", WM8731_PWR, 2, 1),
> Should the name match? DAPM.txt says so, but the DAPM code actually looks
> for a substring match (DAI name as a substring in widget name).

The documentation is fairly out of date here I think and even so
it decidely implies a substring match looking at the examples it
gives. I might defer to Mark or Lars for the definitive answer on
this one.

> 
> 3. Do I understand correctly the direction is to move from snd_soc_${io}
> to more generic regmap_${io}? If so, I'll submit a patch.

Don't think I really have a strong opinion on this. I do tend to
prefer to use the regmap calls, but I doubt the snd_soc helpers
are going away anytime soon.

Thanks,
Charles


More information about the Alsa-devel mailing list