Loading hal/msm8916/platform.c +18 −2 Original line number Diff line number Diff line Loading @@ -185,6 +185,7 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_OUT_VOICE_HANDSET] = "voice-handset", [SND_DEVICE_OUT_VOICE_HAC_HANDSET] = "voice-hac-handset", [SND_DEVICE_OUT_VOICE_SPEAKER] = "voice-speaker", [SND_DEVICE_OUT_VOICE_SPEAKER_HFP] = "voice-speaker-hfp", [SND_DEVICE_OUT_VOICE_HEADPHONES] = "voice-headphones", [SND_DEVICE_OUT_VOICE_LINE] = "voice-line", [SND_DEVICE_OUT_HDMI] = "hdmi", Loading Loading @@ -222,6 +223,7 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_HEADSET_MIC] = "headset-mic", [SND_DEVICE_IN_HEADSET_MIC_FLUENCE] = "headset-mic", [SND_DEVICE_IN_VOICE_SPEAKER_MIC] = "voice-speaker-mic", [SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP] = "voice-speaker-mic-hfp", [SND_DEVICE_IN_VOICE_HEADSET_MIC] = "voice-headset-mic", [SND_DEVICE_IN_HDMI_MIC] = "hdmi-mic", [SND_DEVICE_IN_BT_SCO_MIC] = "bt-sco-mic", Loading Loading @@ -286,6 +288,7 @@ static int acdb_device_table[SND_DEVICE_MAX] = { [SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET] = 14, [SND_DEVICE_OUT_SPEAKER_PROTECTED] = 124, [SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED] = 101, [SND_DEVICE_OUT_VOICE_SPEAKER_HFP] = 14, [SND_DEVICE_IN_HANDSET_MIC] = 4, [SND_DEVICE_IN_HANDSET_MIC_EXTERNAL] = 4, Loading Loading @@ -315,6 +318,7 @@ static int acdb_device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_BT_SCO_MIC_WB_NREC] = 123, [SND_DEVICE_IN_CAMCORDER_MIC] = 4, [SND_DEVICE_IN_VOICE_DMIC] = 41, [SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP] = 11, [SND_DEVICE_IN_VOICE_SPEAKER_DMIC] = 43, [SND_DEVICE_IN_VOICE_SPEAKER_QMIC] = 19, [SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC] = 16, Loading Loading @@ -362,6 +366,7 @@ static struct name_to_index snd_device_name_index[SND_DEVICE_MAX] = { {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_HANDSET)}, {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_HAC_HANDSET)}, {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_SPEAKER)}, {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_SPEAKER_HFP)}, {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_HEADPHONES)}, {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_LINE)}, {TO_NAME_INDEX(SND_DEVICE_OUT_HDMI)}, Loading Loading @@ -397,6 +402,7 @@ static struct name_to_index snd_device_name_index[SND_DEVICE_MAX] = { {TO_NAME_INDEX(SND_DEVICE_IN_HEADSET_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_HEADSET_MIC_FLUENCE)}, {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_SPEAKER_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP)}, {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_HEADSET_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_HDMI_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_BT_SCO_MIC)}, Loading Loading @@ -1356,6 +1362,9 @@ int platform_set_mic_mute(void *platform, bool state) ALL_SESSION_VSID, DEFAULT_MUTE_RAMP_DURATION_MS}; if (audio_extn_hfp_is_active(adev)) mixer_ctl_name = "HFP Tx Mute"; set_values[0] = state; ctl = mixer_get_ctl_by_name(adev->mixer, mixer_ctl_name); if (!ctl) { Loading Loading @@ -1515,6 +1524,9 @@ snd_device_t platform_get_output_snd_device(void *platform, audio_devices_t devi else snd_device = SND_DEVICE_OUT_BT_SCO; } else if (devices & AUDIO_DEVICE_OUT_SPEAKER) { if (audio_extn_hfp_is_active(adev)) snd_device = SND_DEVICE_OUT_VOICE_SPEAKER_HFP; else snd_device = SND_DEVICE_OUT_VOICE_SPEAKER; } else if (devices & AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET || devices & AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET) { Loading Loading @@ -1645,8 +1657,12 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d } } else { snd_device = SND_DEVICE_IN_VOICE_SPEAKER_MIC; if (audio_extn_hfp_is_active(adev)) if (audio_extn_hfp_is_active(adev)) { snd_device = SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP; platform_set_echo_reference(adev, true, out_device); } else { snd_device = SND_DEVICE_IN_VOICE_SPEAKER_MIC; } } } else if (out_device & AUDIO_DEVICE_OUT_TELEPHONY_TX) snd_device = SND_DEVICE_IN_VOICE_RX; Loading hal/msm8916/platform.h +2 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ enum { SND_DEVICE_OUT_VOICE_HANDSET, SND_DEVICE_OUT_VOICE_HAC_HANDSET, SND_DEVICE_OUT_VOICE_SPEAKER, SND_DEVICE_OUT_VOICE_SPEAKER_HFP, SND_DEVICE_OUT_VOICE_HEADPHONES, SND_DEVICE_OUT_VOICE_LINE, SND_DEVICE_OUT_HDMI, Loading Loading @@ -112,6 +113,7 @@ enum { SND_DEVICE_IN_HEADSET_MIC, SND_DEVICE_IN_HEADSET_MIC_FLUENCE, SND_DEVICE_IN_VOICE_SPEAKER_MIC, SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP, SND_DEVICE_IN_VOICE_HEADSET_MIC, SND_DEVICE_IN_HDMI_MIC, SND_DEVICE_IN_BT_SCO_MIC, Loading Loading
hal/msm8916/platform.c +18 −2 Original line number Diff line number Diff line Loading @@ -185,6 +185,7 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_OUT_VOICE_HANDSET] = "voice-handset", [SND_DEVICE_OUT_VOICE_HAC_HANDSET] = "voice-hac-handset", [SND_DEVICE_OUT_VOICE_SPEAKER] = "voice-speaker", [SND_DEVICE_OUT_VOICE_SPEAKER_HFP] = "voice-speaker-hfp", [SND_DEVICE_OUT_VOICE_HEADPHONES] = "voice-headphones", [SND_DEVICE_OUT_VOICE_LINE] = "voice-line", [SND_DEVICE_OUT_HDMI] = "hdmi", Loading Loading @@ -222,6 +223,7 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_HEADSET_MIC] = "headset-mic", [SND_DEVICE_IN_HEADSET_MIC_FLUENCE] = "headset-mic", [SND_DEVICE_IN_VOICE_SPEAKER_MIC] = "voice-speaker-mic", [SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP] = "voice-speaker-mic-hfp", [SND_DEVICE_IN_VOICE_HEADSET_MIC] = "voice-headset-mic", [SND_DEVICE_IN_HDMI_MIC] = "hdmi-mic", [SND_DEVICE_IN_BT_SCO_MIC] = "bt-sco-mic", Loading Loading @@ -286,6 +288,7 @@ static int acdb_device_table[SND_DEVICE_MAX] = { [SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET] = 14, [SND_DEVICE_OUT_SPEAKER_PROTECTED] = 124, [SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED] = 101, [SND_DEVICE_OUT_VOICE_SPEAKER_HFP] = 14, [SND_DEVICE_IN_HANDSET_MIC] = 4, [SND_DEVICE_IN_HANDSET_MIC_EXTERNAL] = 4, Loading Loading @@ -315,6 +318,7 @@ static int acdb_device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_BT_SCO_MIC_WB_NREC] = 123, [SND_DEVICE_IN_CAMCORDER_MIC] = 4, [SND_DEVICE_IN_VOICE_DMIC] = 41, [SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP] = 11, [SND_DEVICE_IN_VOICE_SPEAKER_DMIC] = 43, [SND_DEVICE_IN_VOICE_SPEAKER_QMIC] = 19, [SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC] = 16, Loading Loading @@ -362,6 +366,7 @@ static struct name_to_index snd_device_name_index[SND_DEVICE_MAX] = { {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_HANDSET)}, {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_HAC_HANDSET)}, {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_SPEAKER)}, {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_SPEAKER_HFP)}, {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_HEADPHONES)}, {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_LINE)}, {TO_NAME_INDEX(SND_DEVICE_OUT_HDMI)}, Loading Loading @@ -397,6 +402,7 @@ static struct name_to_index snd_device_name_index[SND_DEVICE_MAX] = { {TO_NAME_INDEX(SND_DEVICE_IN_HEADSET_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_HEADSET_MIC_FLUENCE)}, {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_SPEAKER_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP)}, {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_HEADSET_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_HDMI_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_BT_SCO_MIC)}, Loading Loading @@ -1356,6 +1362,9 @@ int platform_set_mic_mute(void *platform, bool state) ALL_SESSION_VSID, DEFAULT_MUTE_RAMP_DURATION_MS}; if (audio_extn_hfp_is_active(adev)) mixer_ctl_name = "HFP Tx Mute"; set_values[0] = state; ctl = mixer_get_ctl_by_name(adev->mixer, mixer_ctl_name); if (!ctl) { Loading Loading @@ -1515,6 +1524,9 @@ snd_device_t platform_get_output_snd_device(void *platform, audio_devices_t devi else snd_device = SND_DEVICE_OUT_BT_SCO; } else if (devices & AUDIO_DEVICE_OUT_SPEAKER) { if (audio_extn_hfp_is_active(adev)) snd_device = SND_DEVICE_OUT_VOICE_SPEAKER_HFP; else snd_device = SND_DEVICE_OUT_VOICE_SPEAKER; } else if (devices & AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET || devices & AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET) { Loading Loading @@ -1645,8 +1657,12 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d } } else { snd_device = SND_DEVICE_IN_VOICE_SPEAKER_MIC; if (audio_extn_hfp_is_active(adev)) if (audio_extn_hfp_is_active(adev)) { snd_device = SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP; platform_set_echo_reference(adev, true, out_device); } else { snd_device = SND_DEVICE_IN_VOICE_SPEAKER_MIC; } } } else if (out_device & AUDIO_DEVICE_OUT_TELEPHONY_TX) snd_device = SND_DEVICE_IN_VOICE_RX; Loading
hal/msm8916/platform.h +2 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ enum { SND_DEVICE_OUT_VOICE_HANDSET, SND_DEVICE_OUT_VOICE_HAC_HANDSET, SND_DEVICE_OUT_VOICE_SPEAKER, SND_DEVICE_OUT_VOICE_SPEAKER_HFP, SND_DEVICE_OUT_VOICE_HEADPHONES, SND_DEVICE_OUT_VOICE_LINE, SND_DEVICE_OUT_HDMI, Loading Loading @@ -112,6 +113,7 @@ enum { SND_DEVICE_IN_HEADSET_MIC, SND_DEVICE_IN_HEADSET_MIC_FLUENCE, SND_DEVICE_IN_VOICE_SPEAKER_MIC, SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP, SND_DEVICE_IN_VOICE_HEADSET_MIC, SND_DEVICE_IN_HDMI_MIC, SND_DEVICE_IN_BT_SCO_MIC, Loading