[PATCH v3 4/7] ASoC: codecs: wcd938x: add basic controls
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Mar 19 17:03:09 CET 2021
> +static int wcd938x_ear_pa_put_gain(struct snd_kcontrol *kcontrol,
> + struct snd_ctl_elem_value *ucontrol)
> +{
> + struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
> + struct wcd938x_sdw_priv *wcd = snd_soc_component_get_drvdata(component);
> + struct wcd938x_priv *wcd938x = wcd->wcd938x;
> +
> + if (wcd938x->comp1_enable) {
> + dev_err(component->dev, "Can not set EAR PA Gain, compander1 is enabled\n");
> + return -EINVAL;
> + }
> +
> + snd_soc_component_write_field(component, WCD938X_ANA_EAR_COMPANDER_CTL,
> + WCD938X_EAR_GAIN_MASK,
> + ucontrol->value.integer.value[0]);
> +
> + return 0;
that goes back to my other comments, the earpiece is connected to the RX
interface, so what component would be used to set the gain here? the TX
one? But what tells you this component is active and ready to support
commands?
More information about the Alsa-devel
mailing list