Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de83e87f authored by Sudheer Papothi's avatar Sudheer Papothi
Browse files

ASoC: wsa-macro: Add core vote before accessing registers



Add core vote before accessing registers to avoid unclocked
access.

Change-Id: I02ce78d71787f5a12c44cd3194dde62682f20037
Signed-off-by: default avatarSudheer Papothi <spapothi@codeaurora.org>
parent 779e5fd0
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -2008,10 +2008,12 @@ static int wsa_macro_set_rx_mute_status(struct snd_kcontrol *kcontrol,
	int value = ucontrol->value.integer.value[0];
	int wsa_rx_shift = ((struct soc_multi_mixer_control *)
			kcontrol->private_value)->shift;
	int ret = 0;

	if (!wsa_macro_get_data(component, &wsa_dev, &wsa_priv, __func__))
		return -EINVAL;

	pm_runtime_get_sync(wsa_priv->dev);
	switch (wsa_rx_shift) {
	case 0:
		snd_soc_component_update_bits(component,
@@ -2036,13 +2038,16 @@ static int wsa_macro_set_rx_mute_status(struct snd_kcontrol *kcontrol,
	default:
		pr_err("%s: invalid argument rx_shift = %d\n", __func__,
			wsa_rx_shift);
		return -EINVAL;
		ret = -EINVAL;
	}
	pm_runtime_mark_last_busy(wsa_priv->dev);
	pm_runtime_put_autosuspend(wsa_priv->dev);

	dev_dbg(component->dev, "%s: WSA Digital Mute RX %d Enable %d\n",
		__func__, wsa_rx_shift, value);
	wsa_priv->wsa_digital_mute_status[wsa_rx_shift] = value;
	return 0;

	return ret;
}

static int wsa_macro_get_compander(struct snd_kcontrol *kcontrol,