Loading asoc/msm-pcm-routing-v2.c +150 −23 Original line number Diff line number Diff line Loading @@ -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; } Loading @@ -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; Loading @@ -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; } Loading Loading @@ -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); Loading @@ -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", Loading @@ -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; Loading Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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[] = { Loading
asoc/msm-pcm-routing-v2.c +150 −23 Original line number Diff line number Diff line Loading @@ -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; } Loading @@ -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; Loading @@ -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; } Loading Loading @@ -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); Loading @@ -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", Loading @@ -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; Loading Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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, Loading @@ -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[] = {