Loading hal/msm8916/platform.c +33 −0 Original line number Diff line number Diff line Loading @@ -289,6 +289,11 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC] = "aanc-fluence-dmic-handset", [SND_DEVICE_IN_SSR_3MIC] = "three-mic", [SND_DEVICE_IN_UNPROCESSED_MIC] = "unprocessed-mic", [SND_DEVICE_IN_UNPROCESSED_STEREO_MIC] = "voice-rec-dmic-ef", [SND_DEVICE_IN_UNPROCESSED_THREE_MIC] = "three-mic", [SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = "quad-mic", [SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = "headset-mic", }; /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ Loading Loading @@ -376,6 +381,11 @@ static int acdb_device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = 120, [SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC] = 135, [SND_DEVICE_IN_SSR_3MIC] = 4, [SND_DEVICE_IN_UNPROCESSED_MIC] = 143, [SND_DEVICE_IN_UNPROCESSED_STEREO_MIC] = 144, [SND_DEVICE_IN_UNPROCESSED_THREE_MIC] = 145, [SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = 146, [SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = 147, }; struct snd_device_index { Loading Loading @@ -462,6 +472,11 @@ struct snd_device_index snd_device_name_index[SND_DEVICE_MAX] = { {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_STEREO_DMIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_CAPTURE_VI_FEEDBACK)}, {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_STEREO_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_THREE_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_QUAD_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC)}, }; #define NO_COLS 2 Loading Loading @@ -1867,6 +1882,24 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d snd_device = SND_DEVICE_IN_VOICE_REC_MIC; } } } else if (source == AUDIO_SOURCE_UNPROCESSED) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if (((channel_mask == AUDIO_CHANNEL_IN_FRONT_BACK) || (channel_mask == AUDIO_CHANNEL_IN_STEREO)) && (my_data->source_mic_type & SOURCE_DUAL_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_STEREO_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_3) && (my_data->source_mic_type & SOURCE_THREE_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_THREE_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_4) && (my_data->source_mic_type & SOURCE_QUAD_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_QUAD_MIC; } else { snd_device = SND_DEVICE_IN_UNPROCESSED_MIC; } } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { snd_device = SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC; } } else if (source == AUDIO_SOURCE_VOICE_COMMUNICATION) { if (out_device & AUDIO_DEVICE_OUT_SPEAKER) in_device = AUDIO_DEVICE_IN_BACK_MIC; Loading hal/msm8916/platform.h +5 −1 Original line number Diff line number Diff line Loading @@ -149,10 +149,14 @@ enum { SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE, SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC, SND_DEVICE_IN_SSR_3MIC, SND_DEVICE_IN_UNPROCESSED_MIC, SND_DEVICE_IN_UNPROCESSED_STEREO_MIC, SND_DEVICE_IN_UNPROCESSED_THREE_MIC, SND_DEVICE_IN_UNPROCESSED_QUAD_MIC, SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC, SND_DEVICE_IN_END, SND_DEVICE_MAX = SND_DEVICE_IN_END, }; #define DEFAULT_OUTPUT_SAMPLING_RATE 48000 Loading hal/msm8974/platform.c +33 −0 Original line number Diff line number Diff line Loading @@ -366,6 +366,11 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_QMIC_NS] = "quad-mic", [SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS] = "quad-mic", [SND_DEVICE_IN_SSR_3MIC] = "three-mic", [SND_DEVICE_IN_UNPROCESSED_MIC] = "unprocessed-mic", [SND_DEVICE_IN_UNPROCESSED_STEREO_MIC] = "voice-rec-dmic-ef", [SND_DEVICE_IN_UNPROCESSED_THREE_MIC] = "three-mic", [SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = "quad-mic", [SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = "headset-mic", }; // Platform specific backend bit width table Loading Loading @@ -463,6 +468,11 @@ static int acdb_device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_QMIC_NS] = 127, [SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS] = 129, [SND_DEVICE_IN_SSR_3MIC] = 46, [SND_DEVICE_IN_UNPROCESSED_MIC] = 143, [SND_DEVICE_IN_UNPROCESSED_STEREO_MIC] = 144, [SND_DEVICE_IN_UNPROCESSED_THREE_MIC] = 145, [SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = 146, [SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = 147, }; struct name_to_index { Loading Loading @@ -558,6 +568,11 @@ static struct name_to_index snd_device_name_index[SND_DEVICE_MAX] = { {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_QMIC_AEC)}, {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_QMIC_NS)}, {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_STEREO_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_THREE_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_QUAD_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC)}, }; static char * backend_table[SND_DEVICE_MAX] = {0}; Loading Loading @@ -2062,6 +2077,24 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d snd_device = SND_DEVICE_IN_VOICE_REC_MIC; } } } else if (source == AUDIO_SOURCE_UNPROCESSED) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if (((channel_mask == AUDIO_CHANNEL_IN_FRONT_BACK) || (channel_mask == AUDIO_CHANNEL_IN_STEREO)) && (my_data->source_mic_type & SOURCE_DUAL_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_STEREO_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_3) && (my_data->source_mic_type & SOURCE_THREE_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_THREE_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_4) && (my_data->source_mic_type & SOURCE_QUAD_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_QUAD_MIC; } else { snd_device = SND_DEVICE_IN_UNPROCESSED_MIC; } } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { snd_device = SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC; } } else if (source == AUDIO_SOURCE_VOICE_COMMUNICATION) { if (out_device & AUDIO_DEVICE_OUT_SPEAKER) in_device = AUDIO_DEVICE_IN_BACK_MIC; Loading hal/msm8974/platform.h +5 −1 Original line number Diff line number Diff line Loading @@ -155,10 +155,14 @@ enum { SND_DEVICE_IN_SPEAKER_QMIC_NS, SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS, SND_DEVICE_IN_SSR_3MIC, SND_DEVICE_IN_UNPROCESSED_MIC, SND_DEVICE_IN_UNPROCESSED_STEREO_MIC, SND_DEVICE_IN_UNPROCESSED_THREE_MIC, SND_DEVICE_IN_UNPROCESSED_QUAD_MIC, SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC, SND_DEVICE_IN_END, SND_DEVICE_MAX = SND_DEVICE_IN_END, }; #define DEFAULT_OUTPUT_SAMPLING_RATE 48000 Loading Loading
hal/msm8916/platform.c +33 −0 Original line number Diff line number Diff line Loading @@ -289,6 +289,11 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC] = "aanc-fluence-dmic-handset", [SND_DEVICE_IN_SSR_3MIC] = "three-mic", [SND_DEVICE_IN_UNPROCESSED_MIC] = "unprocessed-mic", [SND_DEVICE_IN_UNPROCESSED_STEREO_MIC] = "voice-rec-dmic-ef", [SND_DEVICE_IN_UNPROCESSED_THREE_MIC] = "three-mic", [SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = "quad-mic", [SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = "headset-mic", }; /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ Loading Loading @@ -376,6 +381,11 @@ static int acdb_device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = 120, [SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC] = 135, [SND_DEVICE_IN_SSR_3MIC] = 4, [SND_DEVICE_IN_UNPROCESSED_MIC] = 143, [SND_DEVICE_IN_UNPROCESSED_STEREO_MIC] = 144, [SND_DEVICE_IN_UNPROCESSED_THREE_MIC] = 145, [SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = 146, [SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = 147, }; struct snd_device_index { Loading Loading @@ -462,6 +472,11 @@ struct snd_device_index snd_device_name_index[SND_DEVICE_MAX] = { {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_STEREO_DMIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_CAPTURE_VI_FEEDBACK)}, {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_STEREO_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_THREE_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_QUAD_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC)}, }; #define NO_COLS 2 Loading Loading @@ -1867,6 +1882,24 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d snd_device = SND_DEVICE_IN_VOICE_REC_MIC; } } } else if (source == AUDIO_SOURCE_UNPROCESSED) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if (((channel_mask == AUDIO_CHANNEL_IN_FRONT_BACK) || (channel_mask == AUDIO_CHANNEL_IN_STEREO)) && (my_data->source_mic_type & SOURCE_DUAL_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_STEREO_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_3) && (my_data->source_mic_type & SOURCE_THREE_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_THREE_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_4) && (my_data->source_mic_type & SOURCE_QUAD_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_QUAD_MIC; } else { snd_device = SND_DEVICE_IN_UNPROCESSED_MIC; } } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { snd_device = SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC; } } else if (source == AUDIO_SOURCE_VOICE_COMMUNICATION) { if (out_device & AUDIO_DEVICE_OUT_SPEAKER) in_device = AUDIO_DEVICE_IN_BACK_MIC; Loading
hal/msm8916/platform.h +5 −1 Original line number Diff line number Diff line Loading @@ -149,10 +149,14 @@ enum { SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE, SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC, SND_DEVICE_IN_SSR_3MIC, SND_DEVICE_IN_UNPROCESSED_MIC, SND_DEVICE_IN_UNPROCESSED_STEREO_MIC, SND_DEVICE_IN_UNPROCESSED_THREE_MIC, SND_DEVICE_IN_UNPROCESSED_QUAD_MIC, SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC, SND_DEVICE_IN_END, SND_DEVICE_MAX = SND_DEVICE_IN_END, }; #define DEFAULT_OUTPUT_SAMPLING_RATE 48000 Loading
hal/msm8974/platform.c +33 −0 Original line number Diff line number Diff line Loading @@ -366,6 +366,11 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_QMIC_NS] = "quad-mic", [SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS] = "quad-mic", [SND_DEVICE_IN_SSR_3MIC] = "three-mic", [SND_DEVICE_IN_UNPROCESSED_MIC] = "unprocessed-mic", [SND_DEVICE_IN_UNPROCESSED_STEREO_MIC] = "voice-rec-dmic-ef", [SND_DEVICE_IN_UNPROCESSED_THREE_MIC] = "three-mic", [SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = "quad-mic", [SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = "headset-mic", }; // Platform specific backend bit width table Loading Loading @@ -463,6 +468,11 @@ static int acdb_device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_QMIC_NS] = 127, [SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS] = 129, [SND_DEVICE_IN_SSR_3MIC] = 46, [SND_DEVICE_IN_UNPROCESSED_MIC] = 143, [SND_DEVICE_IN_UNPROCESSED_STEREO_MIC] = 144, [SND_DEVICE_IN_UNPROCESSED_THREE_MIC] = 145, [SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = 146, [SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = 147, }; struct name_to_index { Loading Loading @@ -558,6 +568,11 @@ static struct name_to_index snd_device_name_index[SND_DEVICE_MAX] = { {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_QMIC_AEC)}, {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_QMIC_NS)}, {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_STEREO_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_THREE_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_QUAD_MIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC)}, }; static char * backend_table[SND_DEVICE_MAX] = {0}; Loading Loading @@ -2062,6 +2077,24 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d snd_device = SND_DEVICE_IN_VOICE_REC_MIC; } } } else if (source == AUDIO_SOURCE_UNPROCESSED) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if (((channel_mask == AUDIO_CHANNEL_IN_FRONT_BACK) || (channel_mask == AUDIO_CHANNEL_IN_STEREO)) && (my_data->source_mic_type & SOURCE_DUAL_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_STEREO_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_3) && (my_data->source_mic_type & SOURCE_THREE_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_THREE_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_4) && (my_data->source_mic_type & SOURCE_QUAD_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_QUAD_MIC; } else { snd_device = SND_DEVICE_IN_UNPROCESSED_MIC; } } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { snd_device = SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC; } } else if (source == AUDIO_SOURCE_VOICE_COMMUNICATION) { if (out_device & AUDIO_DEVICE_OUT_SPEAKER) in_device = AUDIO_DEVICE_IN_BACK_MIC; Loading
hal/msm8974/platform.h +5 −1 Original line number Diff line number Diff line Loading @@ -155,10 +155,14 @@ enum { SND_DEVICE_IN_SPEAKER_QMIC_NS, SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS, SND_DEVICE_IN_SSR_3MIC, SND_DEVICE_IN_UNPROCESSED_MIC, SND_DEVICE_IN_UNPROCESSED_STEREO_MIC, SND_DEVICE_IN_UNPROCESSED_THREE_MIC, SND_DEVICE_IN_UNPROCESSED_QUAD_MIC, SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC, SND_DEVICE_IN_END, SND_DEVICE_MAX = SND_DEVICE_IN_END, }; #define DEFAULT_OUTPUT_SAMPLING_RATE 48000 Loading