summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Coucheron <arco68@gmail.com>2015-01-21 08:06:13 +0100
committerArne Coucheron <arco68@gmail.com>2016-05-11 00:12:21 +0200
commitee5cce315965e1982585d6afb958e6f687128c57 (patch)
treea03aebdcfc098359d61417f3be0baa0f006ee466
parentf3e2a15c5284cadf39a93e430c029aa7dba7902b (diff)
downloadhardware_qcom_audio-ee5cce315965e1982585d6afb958e6f687128c57.tar.gz
hardware_qcom_audio-ee5cce315965e1982585d6afb958e6f687128c57.tar.bz2
hardware_qcom_audio-ee5cce315965e1982585d6afb958e6f687128c57.zip
hal: Use old API for setting voice volume and mute states
A family kernels doesn't support the new API. Change-Id: Iaa0d7c0641bfb0cc66f70bef958e860b38a0864a
-rw-r--r--hal/Android.mk1
-rw-r--r--hal/msm8960/platform.c15
-rw-r--r--hal/voice_extn/compress_voip.c4
3 files changed, 15 insertions, 5 deletions
diff --git a/hal/Android.mk b/hal/Android.mk
index 1eb3ba6f..e7f9070b 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -26,6 +26,7 @@ endif
ifneq ($(filter msm8960,$(TARGET_BOARD_PLATFORM)),)
# A-family platform uses msm8960 code base
AUDIO_PLATFORM = msm8960
+ LOCAL_CFLAGS := -DPLATFORM_MSM8960
# MULTIPLE_HW_VARIANTS_ENABLED := true
endif
diff --git a/hal/msm8960/platform.c b/hal/msm8960/platform.c
index f132a20a..afad41a7 100644
--- a/hal/msm8960/platform.c
+++ b/hal/msm8960/platform.c
@@ -1204,7 +1204,8 @@ int platform_set_voice_volume(void *platform, int volume)
struct platform_data *my_data = (struct platform_data *)platform;
struct audio_device *adev = my_data->adev;
struct mixer_ctl *ctl;
- const char *mixer_ctl_name = "Voice Rx Gain";
+ //const char *mixer_ctl_name = "Voice Rx Gain";
+ const char *mixer_ctl_name = "Voice Rx Volume";
int vol_index = 0, ret = 0;
uint32_t set_values[ ] = {0,
ALL_SESSION_VSID,
@@ -1222,8 +1223,10 @@ int platform_set_voice_volume(void *platform, int volume)
__func__, mixer_ctl_name);
return -EINVAL;
}
- ALOGV("Setting voice volume index: %d", set_values[0]);
- mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
+ //ALOGV("Setting voice volume index: %d", set_values[0]);
+ //mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
+ ALOGV("Setting voice volume index: %d", vol_index);
+ mixer_ctl_set_value(ctl, 0, vol_index);
if (my_data->csd != NULL) {
ret = my_data->csd->volume(ALL_SESSION_VSID, volume);
@@ -1253,7 +1256,8 @@ int platform_set_mic_mute(void *platform, bool state)
return -EINVAL;
}
ALOGV("Setting voice mute state: %d", state);
- mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
+ //mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
+ mixer_ctl_set_value(ctl, 0, state);
if (my_data->csd != NULL) {
ret = my_data->csd->mic_mute(ALL_SESSION_VSID, state);
@@ -1297,7 +1301,8 @@ int platform_set_device_mute(void *platform, bool state, char *dir)
ALOGV("%s: Setting device mute state: %d, mixer ctrl:%s",
__func__,state, mixer_ctl_name);
- mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
+ //mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
+ mixer_ctl_set_value(ctl, 0, state);
return ret;
}
diff --git a/hal/voice_extn/compress_voip.c b/hal/voice_extn/compress_voip.c
index 31ae2acc..0eaec87a 100644
--- a/hal/voice_extn/compress_voip.c
+++ b/hal/voice_extn/compress_voip.c
@@ -136,7 +136,11 @@ static int audio_format_to_voip_mode(int format)
static int voip_set_volume(struct audio_device *adev, int volume)
{
struct mixer_ctl *ctl;
+#ifdef PLATFORM_MSM8960
+ const char *mixer_ctl_name = "Voip Rx Volume";
+#else
const char *mixer_ctl_name = "Voip Rx Gain";
+#endif
int vol_index = 0;
uint32_t set_values[ ] = {0,
DEFAULT_VOLUME_RAMP_DURATION_MS};