summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcodeworkx <daniel.hillenbrand@codeworkx.de>2012-08-02 11:27:15 +0200
committercodeworkx <daniel.hillenbrand@codeworkx.de>2012-08-02 11:30:03 +0200
commit9ab338ba90915af2dfb849500c257d43a0324c7c (patch)
treea39bce82fbca1b6314d190436005e9c6e71895f5
parentd3287cfad7ddb2a6f18a704db69ca3cd927768eb (diff)
downloaddevice_samsung_i9300-9ab338ba90915af2dfb849500c257d43a0324c7c.zip
device_samsung_i9300-9ab338ba90915af2dfb849500c257d43a0324c7c.tar.gz
device_samsung_i9300-9ab338ba90915af2dfb849500c257d43a0324c7c.tar.bz2
audio: cleanup, finetuning, +30db boost for mics
Change-Id: I642b0b118293a679700ffc04fc8803aeb7b67952
-rwxr-xr-xaudio/audio_hw.c29
-rw-r--r--audio/audio_hw.h21
-rw-r--r--configs/tiny_hw.xml68
3 files changed, 55 insertions, 63 deletions
diff --git a/audio/audio_hw.c b/audio/audio_hw.c
index 55f497e..842fb1d 100755
--- a/audio/audio_hw.c
+++ b/audio/audio_hw.c
@@ -70,18 +70,6 @@ struct pcm_config pcm_config_vx = {
#define MIN(x, y) ((x) > (y) ? (y) : (x))
-struct mixer_ctls
-{
- struct mixer_ctl *aif2dacl_source;
- struct mixer_ctl *aif2dacr_source;
- struct mixer_ctl *aif2_mode;
- struct mixer_ctl *dac1l_mixer_aif1_switch;
- struct mixer_ctl *dac1r_mixer_aif1_switch;
- struct mixer_ctl *dac1l_mixer_aif2_switch;
- struct mixer_ctl *dac1r_mixer_aif2_switch;
- struct mixer_ctl *aif2dac_mux;
-};
-
struct m0_audio_device {
struct audio_hw_device hw_device;
@@ -371,6 +359,10 @@ static void end_call(struct m0_audio_device *adev)
adev->pcm_modem_dl = NULL;
adev->pcm_modem_ul = NULL;
LOGD("%s: X", __func__);
+
+ /* re-enable +30db boost on mics */
+ mixer_ctl_set_value(adev->mixer_ctls.mixinl_in1l_volume, 0, 1);
+ mixer_ctl_set_value(adev->mixer_ctls.mixinl_in2l_volume, 0, 1);
}
static void set_eq_filter(struct m0_audio_device *adev)
@@ -613,7 +605,7 @@ static void select_output_device(struct m0_audio_device *adev)
LOGD("%s: set voicecall route: bt_output", __func__);
set_bigroute_by_array(adev->mixer, bt_output, 1);
} else {
- ALOGD("%s: set voicecall route: bt_disable", __func__);
+ LOGD("%s: set voicecall route: bt_disable", __func__);
set_bigroute_by_array(adev->mixer, bt_disable, 1);
}
@@ -2349,14 +2341,9 @@ static int adev_open(const hw_module_t* module, const char* name,
return -EINVAL;
}
- adev->mixer_ctls.aif2dacl_source = mixer_get_ctl_by_name(adev->mixer, "AIF2DACL Source");
- adev->mixer_ctls.aif2dacr_source = mixer_get_ctl_by_name(adev->mixer, "AIF2DACR Source");
- adev->mixer_ctls.aif2_mode = mixer_get_ctl_by_name(adev->mixer, "AIF2 Mode");
- adev->mixer_ctls.dac1l_mixer_aif1_switch = mixer_get_ctl_by_name(adev->mixer, "DAC1L Mixer AIF1.1 Switch");
- adev->mixer_ctls.dac1r_mixer_aif1_switch = mixer_get_ctl_by_name(adev->mixer, "DAC1R Mixer AIF1.1 Switch");
- adev->mixer_ctls.dac1l_mixer_aif2_switch = mixer_get_ctl_by_name(adev->mixer, "DAC1L Mixer AIF2 Switch");
- adev->mixer_ctls.dac1r_mixer_aif2_switch = mixer_get_ctl_by_name(adev->mixer, "DAC1R Mixer AIF2 Switch");
- adev->mixer_ctls.aif2dac_mux = mixer_get_ctl_by_name(adev->mixer, "AIF2DAC Mux");
+ /* +30db boost for mics */
+ adev->mixer_ctls.mixinl_in1l_volume = mixer_get_ctl_by_name(adev->mixer, "MIXINL IN1L Volume");
+ adev->mixer_ctls.mixinl_in2l_volume = mixer_get_ctl_by_name(adev->mixer, "MIXINL IN2L Volume");
ret = adev_config_parse(adev);
if (ret != 0)
diff --git a/audio/audio_hw.h b/audio/audio_hw.h
index 0947bd5..d1b1433 100644
--- a/audio/audio_hw.h
+++ b/audio/audio_hw.h
@@ -56,6 +56,12 @@ enum tty_modes {
TTY_MODE_FULL
};
+struct mixer_ctls
+{
+ struct mixer_ctl *mixinl_in1l_volume;
+ struct mixer_ctl *mixinl_in2l_volume;
+};
+
struct route_setting
{
char *ctl_name;
@@ -91,7 +97,9 @@ 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 = 0, },
{ .ctl_name = "AIF1ADC1 HPF Switch", .intval = 1, },
{ .ctl_name = NULL, },
@@ -99,8 +107,8 @@ struct route_setting default_input[] = {
struct route_setting default_input_disable[] = {
{ .ctl_name = "Main Mic Switch", .intval = 0, },
+ { .ctl_name = "IN1L Volume", .intval = 22, },
{ .ctl_name = "MIXINL IN1L Switch", .intval = 0, },
- { .ctl_name = "AIF1ADC1 HPF Mode", .intval = 0, },
{ .ctl_name = "AIF1ADC1 HPF Switch", .intval = 0, },
{ .ctl_name = NULL, },
};
@@ -109,15 +117,15 @@ struct route_setting headset_input[] = {
{ .ctl_name = "MIXINL IN1L Switch", .intval = 0, },
{ .ctl_name = "MIXINR IN1R Switch", .intval = 0, },
{ .ctl_name = "Headset Mic Switch", .intval = 1, },
- { .ctl_name = "AIF1ADCL Source", .intval = 0, },
- { .ctl_name = "AIF1ADCR Source", .intval = 0, },
- { .ctl_name = "AIF2ADCL Source", .intval = 0, },
+ { .ctl_name = "IN2L Volume", .intval = 18, },
{ .ctl_name = "MIXINL IN2L Switch", .intval = 1, },
+ { .ctl_name = "MIXINL IN2L Volume", .intval = 0, },
{ .ctl_name = "AIF1ADC1 HPF Mode", .intval = 1, },
{ .ctl_name = "AIF1ADC1 HPF Switch", .intval = 1, },
- { .ctl_name = "IN2L Volume", .intval = 18, },
- { .ctl_name = "MIXINL IN2L Volume", .intval = 0, },
{ .ctl_name = "AIF1ADC1 Volume", .intval = 96, },
+ { .ctl_name = "AIF1ADCL Source", .intval = 0, },
+ { .ctl_name = "AIF1ADCR Source", .intval = 0, },
+ { .ctl_name = "AIF2ADCL Source", .intval = 0, },
{ .ctl_name = NULL, },
};
@@ -139,7 +147,6 @@ struct route_setting bt_output[] = {
{ .ctl_name = "DAC2 Volume", .intval = 96, },
{ .ctl_name = "AIF2ADC Volume", .intval = 96, },
{ .ctl_name = "Speaker Mixer Volume", .intval = 1, },
- { .ctl_name = "Speaker Volume", .intval = 0, },
{ .ctl_name = "MIXINL IN2L Volume", .intval = 1, },
{ .ctl_name = "IN1L Volume", .intval = 25, },
{ .ctl_name = "IN1R Volume", .intval = 25, },
diff --git a/configs/tiny_hw.xml b/configs/tiny_hw.xml
index c3fd418..7948164 100644
--- a/configs/tiny_hw.xml
+++ b/configs/tiny_hw.xml
@@ -125,8 +125,14 @@ We are able to have most of our routing static so do that
<ctl name="SPKL DAC1 Volume" val="1"/>
<ctl name="SPKR DAC1 Volume" val="1"/>
<ctl name="Speaker Mixer Volume" val="3"/>
- <ctl name="Speaker Boost Volume" val="4"/>
- <ctl name="Speaker Volume" val="57"/>
+ <ctl name="Speaker Boost Volume" val="5"/>
+ <ctl name="Speaker Volume" val="60"/>
+ <ctl name="AIF1DAC1 EQ Switch" val="1"/>
+ <ctl name="AIF1DAC1 EQ1 Volume" val="9"/>
+ <ctl name="AIF1DAC1 EQ2 Volume" val="7"/>
+ <ctl name="AIF1DAC1 EQ3 Volume" val="10"/>
+ <ctl name="AIF1DAC1 EQ4 Volume" val="13"/>
+ <ctl name="AIF1DAC1 EQ5 Volume" val="12"/>
</path>
<path name="off">
<ctl name="SPK Switch" val="0"/>
@@ -136,8 +142,9 @@ We are able to have most of our routing static so do that
<ctl name="SPKL DAC1 Volume" val="1"/>
<ctl name="SPKR DAC1 Volume" val="1"/>
<ctl name="Speaker Mixer Volume" val="0"/>
- <ctl name="Speaker Volume" val="57"/>
+ <ctl name="Speaker Volume" val="0"/>
<ctl name="Speaker Boost Volume" val="0"/>
+ <ctl name="AIF1DAC1 EQ Switch" val="0"/>
</path>
</device>
<device name="earpiece">
@@ -151,7 +158,6 @@ We are able to have most of our routing static so do that
<ctl name="Output Volume" val="57"/>
<ctl name="Earpiece Volume" val="1"/>
<ctl name="Speaker Mixer Volume" val="1"/>
- <ctl name="Speaker Volume" val="0"/>
</path>
<path name="off">
<ctl name="RCV Switch" val="0"/>
@@ -167,21 +173,23 @@ We are able to have most of our routing static so do that
<device name="headphone">
<path name="on">
<ctl name="HP Switch" val="1"/>
+ <ctl name="Headphone Volume" val="50"/>
<ctl name="Headphone ZC Switch" val="0"/>
<ctl name="AIF1DAC1 Volume" val="96"/>
<ctl name="AIF1 Boost Volume" val="0"/>
<ctl name="DAC1 Volume" val="96"/>
<ctl name="Left Output Mixer DAC Volume" val="7"/>
<ctl name="Right Output Mixer DAC Volume" val="7"/>
- <ctl name="Headphone Volume" val="50"/>
+ <ctl name="AIF1DAC1 EQ Switch" val="1"/>
+ <ctl name="AIF1DAC1 EQ1 Volume" val="16"/>
+ <ctl name="AIF1DAC1 EQ2 Volume" val="14"/>
+ <ctl name="AIF1DAC1 EQ3 Volume" val="12"/>
+ <ctl name="AIF1DAC1 EQ4 Volume" val="14"/>
+ <ctl name="AIF1DAC1 EQ5 Volume" val="16"/>
</path>
<path name="off">
<ctl name="HP Switch" val="0"/>
- <ctl name="Headphone ZC Switch" val="0"/>
- <ctl name="AIF1DAC1 Volume" val="96"/>
- <ctl name="AIF1 Boost Volume" val="0"/>
- <ctl name="DAC1 Volume" val="96"/>
- <ctl name="Headphone Volume" val="50"/>
+ <ctl name="AIF1DAC1 EQ Switch" val="0"/>
</path>
</device>
<device name="sco-out">
@@ -195,13 +203,11 @@ We are able to have most of our routing static so do that
<ctl name="DAC2 Volume" val="96"/>
<ctl name="AIF2ADC Volume" val="96"/>
<ctl name="Speaker Mixer Volume" val="1"/>
- <ctl name="Speaker Volume" val="0"/>
</path>
<path name="off">
<ctl name="AIF2DAC2L Mixer AIF1.1 Switch" val="0"/>
<ctl name="AIF2DAC2R Mixer AIF1.1 Switch" val="0"/>
<ctl name="Speaker Mixer Volume" val="1"/>
- <ctl name="Speaker Volume" val="0"/>
</path>
</device>
<device name="analog-dock">
@@ -249,52 +255,44 @@ We are able to have most of our routing static so do that
<ctl name="SPKL DAC1 Volume" val="1"/>
<ctl name="SPKR DAC1 Volume" val="1"/>
<ctl name="Speaker Mixer Volume" val="0"/>
- <ctl name="Speaker Volume" val="57"/>
<ctl name="Speaker Boost Volume" val="0"/>
</path>
</device>
<device name="builtin-mic">
<path name="on">
<ctl name="Main Mic Switch" val="1"/>
+ <ctl name="IN1L Volume" val="22"/>
+ <ctl name="MIXINL IN1L Switch" val="1"/>
+ <ctl name="MIXINL IN1L Volume" val="1"/>
<ctl name="AIF1ADCL Source" val="0"/>
<ctl name="AIF2ADCL Source" val="0"/>
- <ctl name="MIXINL IN1L Switch" val="1"/>
<ctl name="AIF1ADC1 HPF Mode" val="0"/>
<ctl name="AIF1ADC1 HPF Switch" val="1"/>
- <ctl name="IN1L Volume" val="30"/>
- <ctl name="MIXINL IN1L Volume" val="0"/>
<ctl name="AIF1ADC1 Volume" val="96"/>
</path>
<path name="off">
<ctl name="Main Mic Switch" val="0"/>
<ctl name="MIXINL IN1L Switch" val="0"/>
- <ctl name="AIF1ADC1 HPF Mode" val="0"/>
- <ctl name="AIF1ADC1 HPF Switch" val="0"/>
- <ctl name="IN1L Volume" val="4"/>
<ctl name="MIXINL IN1L Volume" val="0"/>
- <ctl name="AIF1ADC1 Volume" val="96"/>
+ <ctl name="IN1L Volume" val="10"/>
</path>
</device>
<device name="back-mic">
<path name="on">
<ctl name="Sub Mic Switch" val="1"/>
+ <ctl name="IN1R Volume" val="22"/>
+ <ctl name="MIXINR IN1R Switch" val="1"/>
+ <ctl name="MIXINR IN1R Volume" val="1"/>
<ctl name="AIF1ADCR Source" val="1"/>
<ctl name="AIF2ADCR Source" val="1"/>
- <ctl name="MIXINR IN1R Switch" val="1"/>
<ctl name="AIF1ADC1 HPF Mode" val="1"/>
<ctl name="AIF1ADC1 HPF Switch" val="1"/>
- <ctl name="IN1R Volume" val="30"/>
- <ctl name="MIXINR IN1R Volume" val="0"/>
<ctl name="AIF1ADC1 Volume" val="96"/>
</path>
<path name="off">
<ctl name="Sub Mic Switch" val="0"/>
<ctl name="MIXINR IN1R Switch" val="0"/>
- <ctl name="AIF1ADC1 HPF Mode" val="0"/>
- <ctl name="AIF1ADC1 HPF Switch" val="0"/>
- <ctl name="IN1R Volume" val="11"/>
- <ctl name="MIXINR IN1R Volume" val="0"/>
- <ctl name="AIF1ADC1 Volume" val="96"/>
+ <ctl name="IN1R Volume" val="10"/>
</path>
</device>
<device name="headset-in">
@@ -302,23 +300,23 @@ We are able to have most of our routing static so do that
<ctl name="MIXINL IN1L Switch" val="0"/>
<ctl name="MIXINR IN1R Switch" val="0"/>
<ctl name="Headset Mic Switch" val="1"/>
- <ctl name="AIF1ADCL Source" val="0"/>
- <ctl name="AIF1ADCR Source" val="0"/>
- <ctl name="AIF2ADCL Source" val="0"/>
+ <ctl name="IN2L Volume" val="22"/>
<ctl name="MIXINL IN2L Switch" val="1"/>
+ <ctl name="MIXINL IN2L Volume" val="1"/>
<ctl name="AIF1ADC1 HPF Mode" val="1"/>
<ctl name="AIF1ADC1 HPF Switch" val="1"/>
- <ctl name="IN2L Volume" val="18"/>
- <ctl name="MIXINL IN2L Volume" val="0"/>
<ctl name="AIF1ADC1 Volume" val="96"/>
+ <ctl name="AIF1ADCL Source" val="0"/>
+ <ctl name="AIF1ADCR Source" val="0"/>
+ <ctl name="AIF2ADCL Source" val="0"/>
</path>
<path name="off">
<ctl name="Headset Mic Switch" val="0"/>
+ <ctl name="IN2L Volume" val="10"/>
<ctl name="MIXINL IN2L Switch" val="0"/>
+ <ctl name="MIXINL IN2L Volume" val="0"/>
<ctl name="AIF1ADC1 HPF Mode" val="0"/>
<ctl name="AIF1ADC1 HPF Switch" val="0"/>
- <ctl name="IN2L Volume" val="11"/>
- <ctl name="MIXINL IN2L Volume" val="0"/>
<ctl name="AIF1ADC1 Volume" val="96"/>
</path>
</device>