Loading asoc/msm-pcm-q6-v2.c +2 −2 Original line number Diff line number Diff line /* Copyright (c) 2012-2019, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1942,7 +1942,7 @@ static int msm_pcm_path_latency_ctl_get(struct snd_kcontrol *kcontrol, if (rc) { pr_err("%s: get_path_delay failed, ret=%d\n", __func__, rc); mutex_lock(&pdata->lock); mutex_unlock(&pdata->lock); return -EINVAL; } ucontrol->value.integer.value[0] = Loading asoc/msm-pcm-routing-v2.c +27 −1 Original line number Diff line number Diff line /* Copyright (c) 2012-2019, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -728,6 +728,12 @@ static struct msm_pcm_routing_fdai_data {{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM}, {0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} }, /* MULTIMEDIA29 */ {{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM}, {0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} }, /* MULTIMEDIA30 */ {{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM}, {0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} }, /* MULTIMEDIA31 */ {{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM}, {0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} }, /* VOIP */ Loading Loading @@ -12324,6 +12330,10 @@ static const struct snd_kcontrol_new slimbus_rx_voice_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_0_RX, MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_0_RX, MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), }; static const struct snd_kcontrol_new slimbus_6_rx_voice_mixer_controls[] = { Loading @@ -12347,6 +12357,10 @@ MSM_BACKEND_DAI_SLIMBUS_6_RX, MSM_BACKEND_DAI_SLIMBUS_6_RX, MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_6_RX, MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), }; static const struct snd_kcontrol_new usb_audio_rx_voice_mixer_controls[] = { Loading Loading @@ -12577,6 +12591,10 @@ static const struct snd_kcontrol_new quat_mi2s_rx_voice_mixer_controls[] = { MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), }; static const struct snd_kcontrol_new quin_mi2s_rx_voice_mixer_controls[] = { Loading Loading @@ -14278,6 +14296,10 @@ static const struct snd_kcontrol_new quat_mi2s_rx_port_mixer_controls[] = { MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), SOC_DOUBLE_EXT("SLIM_1_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_BACKEND_DAI_SLIMBUS_1_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, Loading Loading @@ -21595,6 +21617,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"SLIM_0_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, {"SLIM_0_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, {"SLIM_0_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, {"SLIM_0_RX_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, {"SLIMBUS_0_RX", NULL, "SLIM_0_RX_Voice Mixer"}, {"SLIM_6_RX_Voice Mixer", "Voip", "VOIP_DL"}, Loading @@ -21602,6 +21625,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"SLIM_6_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, {"SLIM_6_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, {"SLIM_6_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, {"SLIM_6_RX_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, {"SLIMBUS_6_RX", NULL, "SLIM_6_RX_Voice Mixer"}, {"USB_AUDIO_RX_Voice Mixer", "Voip", "VOIP_DL"}, Loading Loading @@ -21721,6 +21745,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"QUAT_MI2S_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, {"QUAT_MI2S_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, {"QUAT_MI2S_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, {"QUAT_MI2S_RX_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, {"QUAT_MI2S_RX", NULL, "QUAT_MI2S_RX_Voice Mixer"}, {"QUIN_MI2S_RX_Voice Mixer", "Voip", "VOIP_DL"}, Loading Loading @@ -22868,6 +22893,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"QUAT_MI2S_RX Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"QUAT_MI2S_RX Port Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, {"QUAT_MI2S_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, {"QUAT_MI2S_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, {"QUAT_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, {"QUAT_MI2S_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, {"QUAT_MI2S_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"}, asoc/msm-pcm-routing-v2.h +2 −2 Original line number Diff line number Diff line Loading @@ -272,8 +272,8 @@ enum { MSM_FRONTEND_DAI_MAX, }; #define MSM_FRONTEND_DAI_MM_SIZE (MSM_FRONTEND_DAI_MULTIMEDIA31 + 1) #define MSM_FRONTEND_DAI_MM_MAX_ID MSM_FRONTEND_DAI_MULTIMEDIA31 #define MSM_FRONTEND_DAI_MM_SIZE (MSM_FRONTEND_DAI_VOLTE_STUB + 1) #define MSM_FRONTEND_DAI_MM_MAX_ID MSM_FRONTEND_DAI_VOLTE_STUB enum { MSM_BACKEND_DAI_PRI_I2S_RX = 0, Loading asoc/sdm660-common.c +22 −1 Original line number Diff line number Diff line /* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved. /* Copyright (c) 2015-2020, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -45,6 +45,27 @@ enum { bool codec_reg_done; enum { STATUS_PORT_STARTED, /* track if AFE port has started */ /* track AFE Tx port status for bi-directional transfers */ STATUS_TX_PORT, /* track AFE Rx port status for bi-directional transfers */ STATUS_RX_PORT, STATUS_MAX }; struct tdm_dai_data { DECLARE_BITMAP(status_mask, STATUS_MAX); u32 rate; u32 channels; u32 bitwidth; u32 num_group_ports; u32 is_island_dai; struct afe_clk_set clk_set; /* hold LPASS clock config. */ union afe_port_group_config group_cfg; /* hold tdm group config */ struct afe_tdm_port_config port_cfg; /* hold tdm config */ }; /* TDM default config */ static struct dev_config tdm_rx_cfg[TDM_INTERFACE_MAX][TDM_PORT_MAX] = { { /* PRI TDM */ Loading asoc/sdm660-external.c +0 −6 Original line number Diff line number Diff line Loading @@ -96,12 +96,6 @@ enum { SLIM_TX_MAX, }; struct dev_config { u32 sample_rate; u32 bit_format; u32 channels; }; /* Default configuration of slimbus channels */ static struct dev_config slim_rx_cfg[] = { [SLIM_RX_0] = {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, Loading Loading
asoc/msm-pcm-q6-v2.c +2 −2 Original line number Diff line number Diff line /* Copyright (c) 2012-2019, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1942,7 +1942,7 @@ static int msm_pcm_path_latency_ctl_get(struct snd_kcontrol *kcontrol, if (rc) { pr_err("%s: get_path_delay failed, ret=%d\n", __func__, rc); mutex_lock(&pdata->lock); mutex_unlock(&pdata->lock); return -EINVAL; } ucontrol->value.integer.value[0] = Loading
asoc/msm-pcm-routing-v2.c +27 −1 Original line number Diff line number Diff line /* Copyright (c) 2012-2019, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -728,6 +728,12 @@ static struct msm_pcm_routing_fdai_data {{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM}, {0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} }, /* MULTIMEDIA29 */ {{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM}, {0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} }, /* MULTIMEDIA30 */ {{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM}, {0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} }, /* MULTIMEDIA31 */ {{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM}, {0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} }, /* VOIP */ Loading Loading @@ -12324,6 +12330,10 @@ static const struct snd_kcontrol_new slimbus_rx_voice_mixer_controls[] = { MSM_BACKEND_DAI_SLIMBUS_0_RX, MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_0_RX, MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), }; static const struct snd_kcontrol_new slimbus_6_rx_voice_mixer_controls[] = { Loading @@ -12347,6 +12357,10 @@ MSM_BACKEND_DAI_SLIMBUS_6_RX, MSM_BACKEND_DAI_SLIMBUS_6_RX, MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, MSM_BACKEND_DAI_SLIMBUS_6_RX, MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), }; static const struct snd_kcontrol_new usb_audio_rx_voice_mixer_controls[] = { Loading Loading @@ -12577,6 +12591,10 @@ static const struct snd_kcontrol_new quat_mi2s_rx_voice_mixer_controls[] = { MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_FRONTEND_DAI_VOICEMMODE2, 1, 0, msm_routing_get_voice_mixer, msm_routing_put_voice_mixer), SOC_DOUBLE_EXT("Voice Stub", SND_SOC_NOPM, MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_FRONTEND_DAI_VOICE_STUB, 1, 0, msm_routing_get_voice_stub_mixer, msm_routing_put_voice_stub_mixer), }; static const struct snd_kcontrol_new quin_mi2s_rx_voice_mixer_controls[] = { Loading Loading @@ -14278,6 +14296,10 @@ static const struct snd_kcontrol_new quat_mi2s_rx_port_mixer_controls[] = { MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_BACKEND_DAI_SLIMBUS_0_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), SOC_DOUBLE_EXT("SLIM_1_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_BACKEND_DAI_SLIMBUS_1_TX, 1, 0, msm_routing_get_port_mixer, msm_routing_put_port_mixer), SOC_DOUBLE_EXT("SEC_MI2S_TX", SND_SOC_NOPM, MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, MSM_BACKEND_DAI_SECONDARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer, Loading Loading @@ -21595,6 +21617,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"SLIM_0_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, {"SLIM_0_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, {"SLIM_0_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, {"SLIM_0_RX_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, {"SLIMBUS_0_RX", NULL, "SLIM_0_RX_Voice Mixer"}, {"SLIM_6_RX_Voice Mixer", "Voip", "VOIP_DL"}, Loading @@ -21602,6 +21625,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"SLIM_6_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, {"SLIM_6_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, {"SLIM_6_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, {"SLIM_6_RX_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, {"SLIMBUS_6_RX", NULL, "SLIM_6_RX_Voice Mixer"}, {"USB_AUDIO_RX_Voice Mixer", "Voip", "VOIP_DL"}, Loading Loading @@ -21721,6 +21745,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"QUAT_MI2S_RX_Voice Mixer", "QCHAT", "QCHAT_DL"}, {"QUAT_MI2S_RX_Voice Mixer", "VoiceMMode1", "VOICEMMODE1_DL"}, {"QUAT_MI2S_RX_Voice Mixer", "VoiceMMode2", "VOICEMMODE2_DL"}, {"QUAT_MI2S_RX_Voice Mixer", "Voice Stub", "VOICE_STUB_DL"}, {"QUAT_MI2S_RX", NULL, "QUAT_MI2S_RX_Voice Mixer"}, {"QUIN_MI2S_RX_Voice Mixer", "Voip", "VOIP_DL"}, Loading Loading @@ -22868,6 +22893,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"QUAT_MI2S_RX Port Mixer", "QUAT_MI2S_TX", "QUAT_MI2S_TX"}, {"QUAT_MI2S_RX Port Mixer", "QUIN_MI2S_TX", "QUIN_MI2S_TX"}, {"QUAT_MI2S_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"}, {"QUAT_MI2S_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"}, {"QUAT_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"}, {"QUAT_MI2S_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"}, {"QUAT_MI2S_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"},
asoc/msm-pcm-routing-v2.h +2 −2 Original line number Diff line number Diff line Loading @@ -272,8 +272,8 @@ enum { MSM_FRONTEND_DAI_MAX, }; #define MSM_FRONTEND_DAI_MM_SIZE (MSM_FRONTEND_DAI_MULTIMEDIA31 + 1) #define MSM_FRONTEND_DAI_MM_MAX_ID MSM_FRONTEND_DAI_MULTIMEDIA31 #define MSM_FRONTEND_DAI_MM_SIZE (MSM_FRONTEND_DAI_VOLTE_STUB + 1) #define MSM_FRONTEND_DAI_MM_MAX_ID MSM_FRONTEND_DAI_VOLTE_STUB enum { MSM_BACKEND_DAI_PRI_I2S_RX = 0, Loading
asoc/sdm660-common.c +22 −1 Original line number Diff line number Diff line /* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved. /* Copyright (c) 2015-2020, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -45,6 +45,27 @@ enum { bool codec_reg_done; enum { STATUS_PORT_STARTED, /* track if AFE port has started */ /* track AFE Tx port status for bi-directional transfers */ STATUS_TX_PORT, /* track AFE Rx port status for bi-directional transfers */ STATUS_RX_PORT, STATUS_MAX }; struct tdm_dai_data { DECLARE_BITMAP(status_mask, STATUS_MAX); u32 rate; u32 channels; u32 bitwidth; u32 num_group_ports; u32 is_island_dai; struct afe_clk_set clk_set; /* hold LPASS clock config. */ union afe_port_group_config group_cfg; /* hold tdm group config */ struct afe_tdm_port_config port_cfg; /* hold tdm config */ }; /* TDM default config */ static struct dev_config tdm_rx_cfg[TDM_INTERFACE_MAX][TDM_PORT_MAX] = { { /* PRI TDM */ Loading
asoc/sdm660-external.c +0 −6 Original line number Diff line number Diff line Loading @@ -96,12 +96,6 @@ enum { SLIM_TX_MAX, }; struct dev_config { u32 sample_rate; u32 bit_format; u32 channels; }; /* Default configuration of slimbus channels */ static struct dev_config slim_rx_cfg[] = { [SLIM_RX_0] = {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1}, Loading