Merge "Fix error handling return on volume listener"
diff --git a/Android.mk b/Android.mk
index 9c5e7ff..f7bdd70 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,6 +1,6 @@
# TODO: Find a better way to separate build configs for ADP vs non-ADP devices
ifneq ($(TARGET_BOARD_AUTO),true)
- ifneq ($(filter msm8960 msm8226 msm8x26 msm8x84 msm8084 msm8992 msm8994 msm8996 msm8909 msm8952,$(TARGET_BOARD_PLATFORM)),)
+ ifneq ($(filter msm8960 msm8226 msm8x26 msm8x84 msm8084 msm8992 msm8994 msm8996 msm8909 msm8952 msmcobalt,$(TARGET_BOARD_PLATFORM)),)
MY_LOCAL_PATH := $(call my-dir)
diff --git a/hal/Android.mk b/hal/Android.mk
index 781e573..362e218 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -10,7 +10,7 @@
ifneq ($(filter msm8960,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2"
endif
-ifneq ($(filter msm8974 msm8226 msm8084 msm8992 msm8994 msm8996,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8974 msm8226 msm8084 msm8992 msm8994 msm8996 msmcobalt,$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM = msm8974
ifneq ($(filter msm8974,$(TARGET_BOARD_PLATFORM)),)
@@ -41,6 +41,12 @@
LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED
MULTIPLE_HW_VARIANTS_ENABLED := true
endif
+ifneq ($(filter msmcobalt,$(TARGET_BOARD_PLATFORM)),)
+ LOCAL_CFLAGS := -DPLATFORM_MSMCOBALT
+ LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4"
+ LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED
+ MULTIPLE_HW_VARIANTS_ENABLED := true
+endif
endif
ifneq ($(filter msm8916 msm8909 msm8952,$(TARGET_BOARD_PLATFORM)),)
@@ -122,7 +128,7 @@
LOCAL_SRC_FILES += audio_extn/dsm_feedback.c
endif
-ifneq ($(filter msm8992 msm8994 msm8996,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8992 msm8994 msm8996 msmcobalt,$(TARGET_BOARD_PLATFORM)),)
# push codec/mad calibration to HW dep node
# applicable to msm8992/8994 or newer platforms
LOCAL_CFLAGS += -DHWDEP_CAL_ENABLED
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index a5404a8..c074f5f 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -1428,7 +1428,9 @@
struct mixer_ctl *ctl;
const char *mixer_ctl_name = "Voice Tx Mute";
int ret = 0;
- uint32_t set_values[ ] = {0};
+ uint32_t set_values[ ] = {0,
+ ALL_SESSION_VSID,
+ DEFAULT_MUTE_RAMP_DURATION_MS};
if (audio_extn_hfp_is_active(adev))
mixer_ctl_name = "HFP TX Mute";
@@ -1441,7 +1443,11 @@
return -EINVAL;
}
ALOGV("Setting voice mute state: %d", state);
- ret = mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
+ // "HFP TX mute" mixer control has xcount of 1.
+ if (audio_extn_hfp_is_active(adev))
+ ret = mixer_ctl_set_array(ctl, set_values, 1 /*count*/);
+ else
+ ret = mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
return ret;
}
diff --git a/post_proc/equalizer.c b/post_proc/equalizer.c
index 1525226..126d1f1 100644
--- a/post_proc/equalizer.c
+++ b/post_proc/equalizer.c
@@ -265,8 +265,12 @@
case EQ_PARAM_BAND_LEVEL:
ALOGV("%s: EQ_PARAM_BAND_LEVEL", __func__);
param2 = *param_tmp;
- if (param2 >= NUM_EQ_BANDS) {
+ if (param2 < 0 || param2 >= NUM_EQ_BANDS) {
p->status = -EINVAL;
+ if (param2 < 0) {
+ android_errorWriteLog(0x534e4554, "32438598");
+ ALOGW("\tERROR EQ_PARAM_BAND_LEVEL band %d", param2);
+ }
break;
}
*(int16_t *)value = (int16_t)equalizer_get_band_level(eq_ctxt, param2);
@@ -275,8 +279,12 @@
case EQ_PARAM_CENTER_FREQ:
ALOGV("%s: EQ_PARAM_CENTER_FREQ", __func__);
param2 = *param_tmp;
- if (param2 >= NUM_EQ_BANDS) {
- p->status = -EINVAL;
+ if (param2 < 0 || param2 >= NUM_EQ_BANDS) {
+ p->status = -EINVAL;
+ if (param2 < 0) {
+ android_errorWriteLog(0x534e4554, "32436341");
+ ALOGW("\tERROR EQ_PARAM_CENTER_FREQ band %d", param2);
+ }
break;
}
*(int32_t *)value = equalizer_get_center_frequency(eq_ctxt, param2);
@@ -285,8 +293,12 @@
case EQ_PARAM_BAND_FREQ_RANGE:
ALOGV("%s: EQ_PARAM_BAND_FREQ_RANGE", __func__);
param2 = *param_tmp;
- if (param2 >= NUM_EQ_BANDS) {
+ if (param2 < 0 || param2 >= NUM_EQ_BANDS) {
p->status = -EINVAL;
+ if (param2 < 0) {
+ android_errorWriteLog(0x534e4554, "32247948");
+ ALOGW("\tERROR EQ_PARAM_BAND_FREQ_RANGE band %d", param2);
+ }
break;
}
equalizer_get_band_freq_range(eq_ctxt, param2, (uint32_t *)value,