From c7b7cf5b51fcb01084e67b8e0c2e5624a56bdbd2 Mon Sep 17 00:00:00 2001 From: Daniel Hillenbrand Date: Sun, 14 Apr 2013 16:23:27 +0200 Subject: p3100: refine incall audio settings Change-Id: Iecee3ee43ef988ec1fc97f1d763596dfda4c6271 --- audio/audio_hw.c | 15 +++++++++------ audio/audio_hw.h | 34 +++++++++++++++++++++------------- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/audio/audio_hw.c b/audio/audio_hw.c index 60ad2cf..2dde2eb 100755 --- a/audio/audio_hw.c +++ b/audio/audio_hw.c @@ -676,10 +676,10 @@ static void select_output_device(struct espresso_audio_device *adev) } if (headset_on || headphone_on || speaker_on || earpiece_on) { - ALOGD("%s: set voicecall: voicecall_default", __func__); + ALOGD("%s: set voicecall route: voicecall_default", __func__); set_bigroute_by_array(adev->mixer, voicecall_default, 1); } else { - ALOGD("%s: set voicecall: voicecall_default_disable", __func__); + ALOGD("%s: set voicecall route: voicecall_default_disable", __func__); set_bigroute_by_array(adev->mixer, voicecall_default_disable, 1); } @@ -691,18 +691,21 @@ static void select_output_device(struct espresso_audio_device *adev) set_bigroute_by_array(adev->mixer, default_input_disable, 1); } - if (headset_on || headphone_on) { - ALOGD("%s: set voicecall: headset_input", __func__); + if (headset_on) { + ALOGD("%s: set voicecall route: headset_input", __func__); set_bigroute_by_array(adev->mixer, headset_input, 1); + } else { + ALOGD("%s: set voicecall route: headset_input_disable", __func__); + set_bigroute_by_array(adev->mixer, headset_input_disable, 1); } if (bt_on) { // bt uses a different port (PORT_BT) for playback, reopen the pcms end_call(adev); start_call(adev); - ALOGD("%s: set voicecall: bt_input", __func__); + ALOGD("%s: set voicecall route: bt_input", __func__); set_bigroute_by_array(adev->mixer, bt_input, 1); - ALOGD("%s: set voicecall: bt_output", __func__); + ALOGD("%s: set voicecall route: bt_output", __func__); set_bigroute_by_array(adev->mixer, bt_output, 1); } set_incall_device(adev); diff --git a/audio/audio_hw.h b/audio/audio_hw.h index ee52ca9..65a6443 100644 --- a/audio/audio_hw.h +++ b/audio/audio_hw.h @@ -137,32 +137,38 @@ struct route_setting voicecall_default_disable[] = { struct route_setting default_input[] = { { .ctl_name = "Main Mic Switch", .intval = 1, }, { .ctl_name = "IN1L Volume", .intval = 30, }, + { .ctl_name = "MIXINL IN1L Switch", .intval = 1, }, { .ctl_name = "MIXINL IN1L Volume", .intval = 0, }, { .ctl_name = "AIF1ADC1 HPF Mode", .intval = 1, }, { .ctl_name = "AIF1ADC1 HPF Switch", .intval = 1, }, + { .ctl_name = "AIF2DAC2L Mixer Left Sidetone Switch", .intval = 1, }, + { .ctl_name = "AIF2DAC2L Mixer Right Sidetone Switch", .intval = 0, }, + { .ctl_name = "AIF2DAC2R Mixer Left Sidetone Switch", .intval = 1, }, + { .ctl_name = "AIF2DAC2R Mixer Right Sidetone Switch", .intval = 0, }, { .ctl_name = NULL, }, }; struct route_setting default_input_disable[] = { { .ctl_name = "Main Mic Switch", .intval = 0, }, + { .ctl_name = "MIXINL IN1L Switch", .intval = 0, }, { .ctl_name = "AIF1ADC1 HPF Mode", .intval = 0, }, { .ctl_name = "AIF1ADC1 HPF Switch", .intval = 0, }, { .ctl_name = NULL, }, }; struct route_setting headset_input[] = { - { .ctl_name = "AIF2DAC2L Mixer AIF2 Switch", .intval = 0, }, - { .ctl_name = "AIF2DAC2R Mixer AIF2 Switch", .intval = 0, }, - { .ctl_name = "Headphone ZC Switch", .intval = 0, }, - { .ctl_name = "AIF1DAC1 Volume", .intval = 110, }, - { .ctl_name = "AIF2DAC Volume", .intval = 96, }, - { .ctl_name = "AIF1 Boost Volume", .intval = 0, }, - { .ctl_name = "AIF2 Boost Volume", .intval = 0, }, - { .ctl_name = "DAC1 Volume", .intval = 96, }, - { .ctl_name = "Headphone Volume", .intval = 54, }, + { .ctl_name = "Headset Mic Switch", .intval = 1, }, { .ctl_name = "MIXINR IN1R Switch", .intval = 1, }, - { .ctl_name = "MIXINR IN2R Switch", .intval = 1, }, - { .ctl_name = "IN1R Volume", .intval = 25, }, + { .ctl_name = "AIF2DAC2L Mixer Left Sidetone Switch", .intval = 0, }, + { .ctl_name = "AIF2DAC2L Mixer Right Sidetone Switch", .intval = 1, }, + { .ctl_name = "AIF2DAC2R Mixer Left Sidetone Switch", .intval = 0, }, + { .ctl_name = "AIF2DAC2R Mixer Right Sidetone Switch", .intval = 1, }, + { .ctl_name = NULL, }, +}; + +struct route_setting headset_input_disable[] = { + { .ctl_name = "Headset Mic Switch", .intval = 0, }, + { .ctl_name = "MIXINR IN1R Switch", .intval = 0, }, { .ctl_name = NULL, }, }; @@ -183,8 +189,10 @@ struct route_setting bt_input[] = { { .ctl_name = "DAC1R Mixer AIF2 Switch", .intval = 1, }, { .ctl_name = "AIF1ADC1R Mixer AIF2 Switch", .intval = 0, }, { .ctl_name = "AIF1ADC1L Mixer AIF2 Switch", .intval = 0, }, - { .ctl_name = "AIF2DAC2R Mixer Right Sidetone Switch", .intval = 0, }, - { .ctl_name = "AIF2DAC2R Mixer Left Sidetone Switch", .intval = 1, }, + { .ctl_name = "AIF2DAC2L Mixer Left Sidetone Switch", .intval = 1, }, + { .ctl_name = "AIF2DAC2L Mixer Right Sidetone Switch", .intval = 0, }, + { .ctl_name = "AIF2DAC2R Mixer Left Sidetone Switch", .intval = 0, }, + { .ctl_name = "AIF2DAC2R Mixer Right Sidetone Switch", .intval = 1, }, { .ctl_name = "AIF1ADC1R Mixer AIF2 Switch", .intval = 0, }, { .ctl_name = "AIF1ADC1L Mixer AIF2 Switch", .intval = 0, }, { .ctl_name = "MIXINL IN1L Switch", .intval = 0, }, -- cgit v1.1