Merge "Asoc: add functionality to get source Track data from FNN module"
This commit is contained in:
commit
7baccc0c3b
@ -32500,8 +32500,13 @@ done:
|
|||||||
static int msm_source_tracking_info(struct snd_kcontrol *kcontrol,
|
static int msm_source_tracking_info(struct snd_kcontrol *kcontrol,
|
||||||
struct snd_ctl_elem_info *uinfo)
|
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->type = SNDRV_CTL_ELEM_TYPE_BYTES;
|
||||||
uinfo->count = sizeof(struct source_tracking_param);
|
uinfo->count = sizeof(struct source_tracking_param);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -32511,12 +32516,25 @@ static int msm_voice_source_tracking_get(struct snd_kcontrol *kcontrol,
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct source_tracking_param sourceTrackingData;
|
struct source_tracking_param sourceTrackingData;
|
||||||
|
struct fluence_nn_source_tracking_param FnnSourceTrackingData;
|
||||||
|
|
||||||
|
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));
|
memset(&sourceTrackingData, 0, sizeof(struct source_tracking_param));
|
||||||
|
|
||||||
ret = voc_get_source_tracking(&sourceTrackingData);
|
ret = voc_get_source_tracking(&sourceTrackingData);
|
||||||
if (ret) {
|
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);
|
__func__, ret);
|
||||||
|
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
@ -32524,7 +32542,7 @@ static int msm_voice_source_tracking_get(struct snd_kcontrol *kcontrol,
|
|||||||
}
|
}
|
||||||
memcpy(ucontrol->value.bytes.data, (void *)&sourceTrackingData,
|
memcpy(ucontrol->value.bytes.data, (void *)&sourceTrackingData,
|
||||||
sizeof(struct source_tracking_param));
|
sizeof(struct source_tracking_param));
|
||||||
|
}
|
||||||
done:
|
done:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -32724,12 +32742,18 @@ done:
|
|||||||
static int msm_audio_source_tracking_get(struct snd_kcontrol *kcontrol,
|
static int msm_audio_source_tracking_get(struct snd_kcontrol *kcontrol,
|
||||||
struct snd_ctl_elem_value *ucontrol)
|
struct snd_ctl_elem_value *ucontrol)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = -EINVAL;
|
||||||
struct source_tracking_param sourceTrackingData;
|
struct source_tracking_param sourceTrackingData;
|
||||||
|
struct fluence_nn_source_tracking_param FnnSourceTrackingData;
|
||||||
int port_id, copp_idx;
|
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,
|
ret = msm_audio_sound_focus_derive_port_id(kcontrol,
|
||||||
"Source Tracking Audio Tx ", &port_id);
|
"Source Tracking Audio Tx ", &port_id);
|
||||||
|
}
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("%s: Error in deriving port id, err=%d\n",
|
pr_err("%s: Error in deriving port id, err=%d\n",
|
||||||
__func__, ret);
|
__func__, ret);
|
||||||
@ -32748,6 +32772,18 @@ static int msm_audio_source_tracking_get(struct snd_kcontrol *kcontrol,
|
|||||||
goto done;
|
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);
|
ret = adm_get_source_tracking(port_id, copp_idx, &sourceTrackingData);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("%s: Error getting Source Tracking Params, err=%d\n",
|
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;
|
ret = -EINVAL;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(ucontrol->value.bytes.data, (void *)&sourceTrackingData,
|
memcpy(ucontrol->value.bytes.data, (void *)&sourceTrackingData,
|
||||||
sizeof(struct source_tracking_param));
|
sizeof(struct source_tracking_param));
|
||||||
|
}
|
||||||
|
|
||||||
done:
|
done:
|
||||||
return ret;
|
return ret;
|
||||||
@ -32833,6 +32869,13 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
|
|||||||
.info = msm_source_tracking_info,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_voice_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_audio_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_voice_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_audio_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_voice_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_audio_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_voice_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_audio_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_voice_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_audio_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_voice_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_audio_source_tracking_get,
|
.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,
|
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
|
||||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
.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,
|
.info = msm_source_tracking_info,
|
||||||
.get = msm_audio_source_tracking_get,
|
.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[] = {
|
static const struct snd_kcontrol_new msm_source_doa_tracking_controls[] = {
|
||||||
|
Loading…
Reference in New Issue
Block a user