Loading sound/soc/msm/msm-dai-fe.c +30 −0 Original line number Diff line number Diff line Loading @@ -683,6 +683,21 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .name = "PRI_MI2S_RX_HOSTLESS", .probe = fe_dai_probe, }, { .capture = { .stream_name = "Tertiary MI2S_TX Hostless Capture", .aif_name = "TERT_MI2S_UL_HL", .rates = SNDRV_PCM_RATE_8000_48000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 2, .rate_min = 8000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "TERT_MI2S_TX_HOSTLESS", .probe = fe_dai_probe, }, { .playback = { .stream_name = "Secondary MI2S_RX Hostless Playback", Loading @@ -698,6 +713,21 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .name = "SEC_MI2S_RX_HOSTLESS", .probe = fe_dai_probe, }, { .playback = { .stream_name = "Primary MI2S_RX Hostless Playback", .aif_name = "PRI_MI2S_DL_HL", .rates = SNDRV_PCM_RATE_8000_48000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 2, .rate_min = 8000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "PRI_MI2S_RX_HOSTLESS", .probe = fe_dai_probe, }, { .playback = { .stream_name = "Voice2 Playback", Loading sound/soc/msm/msm8x16.c +6 −6 Original line number Diff line number Diff line Loading @@ -403,9 +403,9 @@ static struct snd_soc_dai_link msm8x16_dai[] = { }, /* Hostless PCM purpose */ {/* hw:x,5 */ .name = "Secondary MI2S RX Hostless", .stream_name = "Secondary MI2S_RX Hostless Playback", .cpu_dai_name = "SEC_MI2S_RX_HOSTLESS", .name = "Primary MI2S RX Hostless", .stream_name = "Primary MI2S_RX Hostless Playback", .cpu_dai_name = "PRI_MI2S_RX_HOSTLESS", .platform_name = "msm-pcm-hostless", .dynamic = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, Loading Loading @@ -483,9 +483,9 @@ static struct snd_soc_dai_link msm8x16_dai[] = { .codec_name = "snd-soc-dummy", }, {/* hw:x,11 */ .name = "Primary MI2S TX Hostless", .stream_name = "Primary MI2S_TX Hostless Capture", .cpu_dai_name = "PRI_MI2S_TX_HOSTLESS", .name = "Tertiary MI2S TX Hostless", .stream_name = "Tertiary MI2S_TX Hostless Capture", .cpu_dai_name = "TERT_MI2S_TX_HOSTLESS", .platform_name = "msm-pcm-hostless", .dynamic = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, Loading sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c +16 −0 Original line number Diff line number Diff line Loading @@ -2571,6 +2571,12 @@ static const struct snd_kcontrol_new quat_mi2s_rx_port_mixer_controls[] = { SOC_SINGLE_EXT("PRI_MI2S_TX", MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), SOC_SINGLE_EXT("TERT_MI2S_TX", MSM_BACKEND_DAI_PRI_MI2S_RX, MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), SOC_SINGLE_EXT("INTERNAL_FM_TX", MSM_BACKEND_DAI_PRI_MI2S_RX, MSM_BACKEND_DAI_INT_FM_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), }; static const struct snd_kcontrol_new slim_fm_switch_mixer_controls = Loading Loading @@ -2937,6 +2943,9 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { SND_SOC_DAPM_AIF_IN("HDMI_DL_HL", "HDMI_HOSTLESS Playback", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_I2S_DL_HL", "SEC_I2S_RX_HOSTLESS Playback", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("PRI_MI2S_DL_HL", "Primary MI2S_RX Hostless Playback", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_MI2S_DL_HL", "Secondary MI2S_RX Hostless Playback", 0, 0, 0, 0), Loading @@ -2947,6 +2956,9 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("MI2S_UL_HL", "MI2S_TX_HOSTLESS Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_MI2S_UL_HL", "Tertiary MI2S_TX Hostless Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("PRI_MI2S_UL_HL", "Primary MI2S_TX Hostless Capture", 0, 0, 0, 0), Loading Loading @@ -3786,9 +3798,11 @@ static const struct snd_soc_dapm_route intercon[] = { {"PRI_MI2S_RX_DL_HL", "Switch", "PRI_MI2S_DL_HL"}, {"PRI_MI2S_RX", NULL, "PRI_MI2S_RX_DL_HL"}, {"MI2S_UL_HL", NULL, "TERT_MI2S_TX"}, {"TERT_MI2S_UL_HL", NULL, "TERT_MI2S_TX"}, {"SEC_I2S_RX", NULL, "SEC_I2S_DL_HL"}, {"PRI_MI2S_UL_HL", NULL, "PRI_MI2S_TX"}, {"SEC_MI2S_RX", NULL, "SEC_MI2S_DL_HL"}, {"PRI_MI2S_RX", NULL, "PRI_MI2S_DL_HL"}, {"SLIMBUS_0_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, {"SLIMBUS_0_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, Loading Loading @@ -3890,6 +3904,8 @@ static const struct snd_soc_dapm_route intercon[] = { {"PRI_MI2S_RX Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, {"PRI_MI2S_RX Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"PRI_MI2S_RX Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"PRI_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, {"PRI_MI2S_RX", NULL, "PRI_MI2S_RX Port Mixer"}, {"QUAT_MI2S_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, Loading Loading
sound/soc/msm/msm-dai-fe.c +30 −0 Original line number Diff line number Diff line Loading @@ -683,6 +683,21 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .name = "PRI_MI2S_RX_HOSTLESS", .probe = fe_dai_probe, }, { .capture = { .stream_name = "Tertiary MI2S_TX Hostless Capture", .aif_name = "TERT_MI2S_UL_HL", .rates = SNDRV_PCM_RATE_8000_48000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 2, .rate_min = 8000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "TERT_MI2S_TX_HOSTLESS", .probe = fe_dai_probe, }, { .playback = { .stream_name = "Secondary MI2S_RX Hostless Playback", Loading @@ -698,6 +713,21 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .name = "SEC_MI2S_RX_HOSTLESS", .probe = fe_dai_probe, }, { .playback = { .stream_name = "Primary MI2S_RX Hostless Playback", .aif_name = "PRI_MI2S_DL_HL", .rates = SNDRV_PCM_RATE_8000_48000, .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 1, .channels_max = 2, .rate_min = 8000, .rate_max = 48000, }, .ops = &msm_fe_dai_ops, .name = "PRI_MI2S_RX_HOSTLESS", .probe = fe_dai_probe, }, { .playback = { .stream_name = "Voice2 Playback", Loading
sound/soc/msm/msm8x16.c +6 −6 Original line number Diff line number Diff line Loading @@ -403,9 +403,9 @@ static struct snd_soc_dai_link msm8x16_dai[] = { }, /* Hostless PCM purpose */ {/* hw:x,5 */ .name = "Secondary MI2S RX Hostless", .stream_name = "Secondary MI2S_RX Hostless Playback", .cpu_dai_name = "SEC_MI2S_RX_HOSTLESS", .name = "Primary MI2S RX Hostless", .stream_name = "Primary MI2S_RX Hostless Playback", .cpu_dai_name = "PRI_MI2S_RX_HOSTLESS", .platform_name = "msm-pcm-hostless", .dynamic = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, Loading Loading @@ -483,9 +483,9 @@ static struct snd_soc_dai_link msm8x16_dai[] = { .codec_name = "snd-soc-dummy", }, {/* hw:x,11 */ .name = "Primary MI2S TX Hostless", .stream_name = "Primary MI2S_TX Hostless Capture", .cpu_dai_name = "PRI_MI2S_TX_HOSTLESS", .name = "Tertiary MI2S TX Hostless", .stream_name = "Tertiary MI2S_TX Hostless Capture", .cpu_dai_name = "TERT_MI2S_TX_HOSTLESS", .platform_name = "msm-pcm-hostless", .dynamic = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, Loading
sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c +16 −0 Original line number Diff line number Diff line Loading @@ -2571,6 +2571,12 @@ static const struct snd_kcontrol_new quat_mi2s_rx_port_mixer_controls[] = { SOC_SINGLE_EXT("PRI_MI2S_TX", MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_BACKEND_DAI_PRI_MI2S_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), SOC_SINGLE_EXT("TERT_MI2S_TX", MSM_BACKEND_DAI_PRI_MI2S_RX, MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), SOC_SINGLE_EXT("INTERNAL_FM_TX", MSM_BACKEND_DAI_PRI_MI2S_RX, MSM_BACKEND_DAI_INT_FM_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), }; static const struct snd_kcontrol_new slim_fm_switch_mixer_controls = Loading Loading @@ -2937,6 +2943,9 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { SND_SOC_DAPM_AIF_IN("HDMI_DL_HL", "HDMI_HOSTLESS Playback", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_I2S_DL_HL", "SEC_I2S_RX_HOSTLESS Playback", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("PRI_MI2S_DL_HL", "Primary MI2S_RX Hostless Playback", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_MI2S_DL_HL", "Secondary MI2S_RX Hostless Playback", 0, 0, 0, 0), Loading @@ -2947,6 +2956,9 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("MI2S_UL_HL", "MI2S_TX_HOSTLESS Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_MI2S_UL_HL", "Tertiary MI2S_TX Hostless Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("PRI_MI2S_UL_HL", "Primary MI2S_TX Hostless Capture", 0, 0, 0, 0), Loading Loading @@ -3786,9 +3798,11 @@ static const struct snd_soc_dapm_route intercon[] = { {"PRI_MI2S_RX_DL_HL", "Switch", "PRI_MI2S_DL_HL"}, {"PRI_MI2S_RX", NULL, "PRI_MI2S_RX_DL_HL"}, {"MI2S_UL_HL", NULL, "TERT_MI2S_TX"}, {"TERT_MI2S_UL_HL", NULL, "TERT_MI2S_TX"}, {"SEC_I2S_RX", NULL, "SEC_I2S_DL_HL"}, {"PRI_MI2S_UL_HL", NULL, "PRI_MI2S_TX"}, {"SEC_MI2S_RX", NULL, "SEC_MI2S_DL_HL"}, {"PRI_MI2S_RX", NULL, "PRI_MI2S_DL_HL"}, {"SLIMBUS_0_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, {"SLIMBUS_0_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, Loading Loading @@ -3890,6 +3904,8 @@ static const struct snd_soc_dapm_route intercon[] = { {"PRI_MI2S_RX Port Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"}, {"PRI_MI2S_RX Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"PRI_MI2S_RX Port Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"}, {"PRI_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, {"PRI_MI2S_RX", NULL, "PRI_MI2S_RX Port Mixer"}, {"QUAT_MI2S_RX Port Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"}, Loading