diff options
author | Steve Kondik <steve@cyngn.com> | 2015-02-13 00:31:42 +0100 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2015-02-13 00:31:42 +0100 |
commit | ce4d7b9d190eb5cb5cbac3690a94195c6c5c5ea7 (patch) | |
tree | e803c6891eae51e24e502bc52c50d69f4f4db0e5 | |
parent | 5cc33da410569e3f4b25b0e699fedc7f54fdba24 (diff) | |
download | hardware_qcom_audio-stable/cm-12.0-caf-8960-YNG1T.tar.gz hardware_qcom_audio-stable/cm-12.0-caf-8960-YNG1T.tar.bz2 hardware_qcom_audio-stable/cm-12.0-caf-8960-YNG1T.zip |
hal: Make use of hwdep calibration optionalstable/cm-12.0-caf-8960-YNG1TAstable/cm-12.0-caf-8960-YNG1T
* Not all devices can use this, as it requires a very new ACDB
loader and kernel-space support. Disable it by default until
devices catch up.
Change-Id: I27c920cb587a804ee6ded5d763fe194dfb210755
-rw-r--r-- | legacy/alsa_sound/Android.mk | 4 | ||||
-rw-r--r-- | legacy/alsa_sound/AudioHardwareALSA.cpp | 13 | ||||
-rw-r--r-- | legacy/alsa_sound/AudioHardwareALSA.h | 2 |
3 files changed, 18 insertions, 1 deletions
diff --git a/legacy/alsa_sound/Android.mk b/legacy/alsa_sound/Android.mk index c704e838..7851f9ee 100644 --- a/legacy/alsa_sound/Android.mk +++ b/legacy/alsa_sound/Android.mk @@ -137,6 +137,10 @@ ifeq ($(BOARD_USES_MOTOROLA_EMU_AUDIO),true) common_cflags += -DMOTOROLA_EMU_AUDIO endif +ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HWDEP_CAL)),true) + LOCAL_CFLAGS += -DHWDEP_CAL_ENABLED +endif + include $(CLEAR_VARS) LOCAL_ARM_MODE := arm diff --git a/legacy/alsa_sound/AudioHardwareALSA.cpp b/legacy/alsa_sound/AudioHardwareALSA.cpp index 00a454b0..582a191d 100644 --- a/legacy/alsa_sound/AudioHardwareALSA.cpp +++ b/legacy/alsa_sound/AudioHardwareALSA.cpp @@ -39,7 +39,9 @@ #include <hardware_legacy/power.h> #include <audio_utils/resampler.h> #include <pthread.h> +#ifdef HWDEP_CAL_ENABLED #include "sound/msmcal-hwdep.h" +#endif #include "AudioHardwareALSA.h" #ifdef QCOM_USBAUDIO_ENABLED @@ -55,9 +57,10 @@ #endif #define MAX_FILE_NAME 50 +#ifdef HWDEP_CAL_ENABLED #define SOUND_TRIGGER_DEVICE_HANDSET_MONO_LOW_POWER_ACDB_ID (100) #define MAX_CAL_NAME 20 - +#endif extern "C" { @@ -93,6 +96,7 @@ extern "C" namespace android_audio_legacy { +#ifdef HWDEP_CAL_ENABLED char cal_name_info[WCD9XXX_MAX_CAL][MAX_CAL_NAME] = { "anc_cal", "mbhc_cal", @@ -100,6 +104,7 @@ char cal_name_info[WCD9XXX_MAX_CAL][MAX_CAL_NAME] = { typedef int (*acdb_loader_get_calibration_t)(char *attr, int size, void *data); acdb_loader_get_calibration_t acdb_loader_get_calibration; +#endif // ---------------------------------------------------------------------------- AudioHardwareInterface *AudioHardwareALSA::create() { @@ -113,6 +118,7 @@ AudioHardwareInterface *AudioHardwareALSA::create() { return hardwareInterface; } +#ifdef HWDEP_CAL_ENABLED int hwUtilOpen(int cardNum) { int fd = -1; @@ -176,6 +182,7 @@ int sendCodecCal(acdb_loader_get_calibration_t acdb_loader_get_calibration, int } return ret; } +#endif AudioHardwareALSA::AudioHardwareALSA() : mALSADevice(0),mVoipInStreamCount(0),mVoipOutStreamCount(0),mVoipMicMute(false), @@ -317,7 +324,9 @@ AudioHardwareALSA::AudioHardwareALSA() : return; } } +#ifdef HWDEP_CAL_ENABLED initCodecCalib(); +#endif fclose(fp); } memset(ucm_name_str, 0, MAX_FILE_NAME); @@ -472,6 +481,7 @@ AudioHardwareALSA::AudioHardwareALSA() : mStatus = OK; } +#ifdef HWDEP_CAL_ENABLED void AudioHardwareALSA::initCodecCalib() { int fd; @@ -492,6 +502,7 @@ void AudioHardwareALSA::initCodecCalib() if (sendCodecCal(acdb_loader_get_calibration, fd) < 0) ALOGE("%s: Could not send anc cal", __FUNCTION__); } +#endif AudioHardwareALSA::~AudioHardwareALSA() { diff --git a/legacy/alsa_sound/AudioHardwareALSA.h b/legacy/alsa_sound/AudioHardwareALSA.h index a5c42a17..6c21378e 100644 --- a/legacy/alsa_sound/AudioHardwareALSA.h +++ b/legacy/alsa_sound/AudioHardwareALSA.h @@ -875,7 +875,9 @@ public: void pauseIfUseCaseTunnelOrLPA(); void resumeIfUseCaseTunnelOrLPA(); +#ifdef HWDEP_CAL_ENABLED void initCodecCalib(void); +#endif private: status_t openExtOutput(int device); status_t closeExtOutput(int device); |