Răsfoiți Sursa

asoc: routing: update routing to support sound tracking

Add support for TX codec dma interface to support source
tracking and sound focus mixer controls.

Change-Id: I11dc36a2f86164c7dc3a24357e68a04a8099cb4a
Signed-off-by: Aditya Bavanari <[email protected]>
Aditya Bavanari 6 ani în urmă
părinte
comite
c5c7d44d96
1 a modificat fișierele cu 33 adăugiri și 0 ștergeri
  1. 33 0
      asoc/msm-pcm-routing-v2.c

+ 33 - 0
asoc/msm-pcm-routing-v2.c

@@ -17017,6 +17017,9 @@ static int msm_audio_sound_focus_derive_port_id(struct snd_kcontrol *kcontrol,
 	} else if (!strcmp(kcontrol->id.name + strlen(prefix),
 					"VA_CDC_DMA_TX_0")) {
 		*port_id = AFE_PORT_ID_VA_CODEC_DMA_TX_0;
+	} else if (!strcmp(kcontrol->id.name + strlen(prefix),
+					"TX_CDC_DMA_TX_3")) {
+		*port_id = AFE_PORT_ID_TX_CODEC_DMA_TX_3;
 	} else {
 		pr_err("%s: mixer ctl name=%s, could not derive valid port id\n",
 			__func__, kcontrol->id.name);
@@ -17281,6 +17284,36 @@ 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_READWRITE,
+		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
+		.name	= "Sound Focus Voice Tx TX_CDC_DMA_TX_3",
+		.info	= msm_sound_focus_info,
+		.get	= msm_voice_sound_focus_get,
+		.put	= msm_voice_sound_focus_put,
+	},
+	{
+		.access = SNDRV_CTL_ELEM_ACCESS_READ,
+		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
+		.name	= "Source Tracking 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,
+		.name	= "Sound Focus Audio Tx TX_CDC_DMA_TX_3",
+		.info	= msm_sound_focus_info,
+		.get	= msm_audio_sound_focus_get,
+		.put	= msm_audio_sound_focus_put,
+	},
+	{
+		.access = SNDRV_CTL_ELEM_ACCESS_READ,
+		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
+		.name	= "Source Tracking Audio Tx TX_CDC_DMA_TX_3",
+		.info	= msm_source_tracking_info,
+		.get	= msm_audio_source_tracking_get,
+	},
 };
 
 static int spkr_prot_put_vi_lch_port(struct snd_kcontrol *kcontrol,