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

Commit 20af3e77 authored by Hari Krishna Chowdary Yennana's avatar Hari Krishna Chowdary Yennana
Browse files

Asoc: add functionality to get source Track data from FNN module

- Add support to get Source track data from Adsp's FNN module

Change-Id: Icea13a0ab036d753a4343be04f4ff58bbe3b747c
parent a1937b42
Loading
Loading
Loading
Loading
+150 −23
Original line number Diff line number Diff line
@@ -32500,8 +32500,13 @@ static int msm_voice_sound_focus_get(struct snd_kcontrol *kcontrol,
static int msm_source_tracking_info(struct snd_kcontrol *kcontrol,
				    struct snd_ctl_elem_info *uinfo)
{
	if (strnstr(kcontrol->id.name, "FNN", sizeof("FNN"))) {
		uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES;
		uinfo->count = sizeof(struct fluence_nn_source_tracking_param);
	} else {
		uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES;
		uinfo->count = sizeof(struct source_tracking_param);
	}
	return 0;
}
@@ -32511,12 +32516,25 @@ static int msm_voice_source_tracking_get(struct snd_kcontrol *kcontrol,
{
	int ret = 0;
	struct source_tracking_param sourceTrackingData;
	struct fluence_nn_source_tracking_param FnnSourceTrackingData;
	memset(&sourceTrackingData, 0, sizeof(struct source_tracking_param));
	if (strnstr(kcontrol->id.name, "FNN", sizeof("FNN"))) {
		memset(&FnnSourceTrackingData, 0, sizeof(struct fluence_nn_source_tracking_param));
		ret = voc_get_fnn_source_tracking(&FnnSourceTrackingData);
		if (ret) {
			pr_err("%s: Error getting FNN ST Params, err=%d\n",
				__func__, ret);
			ret = -EINVAL;
			goto done;
		}
		memcpy(ucontrol->value.bytes.data, (void *)&FnnSourceTrackingData,
			sizeof(struct fluence_nn_source_tracking_param));
	} else {
		memset(&sourceTrackingData, 0, sizeof(struct source_tracking_param));
		ret = voc_get_source_tracking(&sourceTrackingData);
		if (ret) {
		pr_debug("%s: Error getting Source Tracking Params, err=%d\n",
			pr_err("%s: Error getting Source Tracking Params, err=%d\n",
				__func__, ret);
			ret = -EINVAL;
@@ -32524,7 +32542,7 @@ static int msm_voice_source_tracking_get(struct snd_kcontrol *kcontrol,
		}
		memcpy(ucontrol->value.bytes.data, (void *)&sourceTrackingData,
			sizeof(struct source_tracking_param));
	}
done:
	return ret;
}
@@ -32724,12 +32742,18 @@ static int msm_audio_sound_focus_get(struct snd_kcontrol *kcontrol,
static int msm_audio_source_tracking_get(struct snd_kcontrol *kcontrol,
					struct snd_ctl_elem_value *ucontrol)
{
	int ret = 0;
	int ret = -EINVAL;
	struct source_tracking_param sourceTrackingData;
	struct fluence_nn_source_tracking_param FnnSourceTrackingData;
	int port_id, copp_idx;
	if (strnstr(kcontrol->id.name, "FNN", sizeof("FNN"))) {
		ret = msm_audio_sound_focus_derive_port_id(kcontrol,
				"FNN STM Audio Tx ", &port_id);
	} else {
		ret = msm_audio_sound_focus_derive_port_id(kcontrol,
					"Source Tracking Audio Tx ", &port_id);
	}
	if (ret) {
		pr_err("%s: Error in deriving port id, err=%d\n",
			  __func__, ret);
@@ -32748,6 +32772,18 @@ static int msm_audio_source_tracking_get(struct snd_kcontrol *kcontrol,
		goto done;
	}
	if (strnstr(kcontrol->id.name, "FNN", sizeof("FNN"))) {
		ret = adm_get_fnn_source_tracking(port_id, copp_idx, &FnnSourceTrackingData);
		if (ret) {
			pr_err("%s: Error getting FNN STM Params, err=%d\n",
				__func__, ret);
			ret = -EINVAL;
			goto done;
		}
		memcpy(ucontrol->value.bytes.data, (void *)&FnnSourceTrackingData,
			sizeof(struct fluence_nn_source_tracking_param));
	} else {
		ret = adm_get_source_tracking(port_id, copp_idx, &sourceTrackingData);
		if (ret) {
			pr_err("%s: Error getting Source Tracking Params, err=%d\n",
@@ -32756,9 +32792,9 @@ static int msm_audio_source_tracking_get(struct snd_kcontrol *kcontrol,
			ret = -EINVAL;
			goto done;
		}
		memcpy(ucontrol->value.bytes.data, (void *)&sourceTrackingData,
		sizeof(struct source_tracking_param));
	}
done:
	return ret;
@@ -32833,6 +32869,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Voice Tx SLIMBUS_0",
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32848,6 +32891,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Audio Tx SLIMBUS_0",
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32863,6 +32913,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Voice Tx TERT_MI2S",
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32878,6 +32935,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Audio Tx TERT_MI2S",
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32893,6 +32957,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Voice Tx INT3_MI2S",
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32908,6 +32979,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Audio Tx INT3_MI2S",
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32923,6 +33001,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Voice Tx VA_CDC_DMA_TX_0",
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32938,6 +33023,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Audio Tx VA_CDC_DMA_TX_0",
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32953,6 +33045,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Voice Tx TX_CDC_DMA_TX_3",
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32968,6 +33067,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Audio Tx TX_CDC_DMA_TX_3",
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32983,6 +33089,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Voice Tx QUIN_TDM_TX_0",
		.info	= msm_source_tracking_info,
		.get	= msm_voice_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -32998,6 +33111,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Audio Tx QUIN_TDM_TX_0",
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
		.iface  = SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -33013,6 +33133,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
		.info   = msm_source_tracking_info,
		.get    = msm_audio_source_tracking_get,
	},
	{
		.access = SNDRV_CTL_ELEM_ACCESS_READ,
		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
		.name	= "FNN STM Audio Tx PRIMARY_TDM",
		.info	= msm_source_tracking_info,
		.get	= msm_audio_source_tracking_get,
	},
};
static const struct snd_kcontrol_new msm_source_doa_tracking_controls[] = {