Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f78676f authored by Steve Kondik's avatar Steve Kondik
Browse files

Merge tag 'android-6.0.1_r3' of...

Merge tag 'android-6.0.1_r3' of https://android.googlesource.com/platform/hardware/qcom/audio into HEAD

Android 6.0.1 release 3
parents 001fb3af 26f06c79
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -7,6 +7,9 @@ include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_ARM_MODE := arm


AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
ifneq ($(filter msm8960,$(TARGET_BOARD_PLATFORM)),)
  LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2"
endif
ifneq ($(filter msm8974 msm8226 msm8084 msm8992 msm8994,$(TARGET_BOARD_PLATFORM)),)
ifneq ($(filter msm8974 msm8226 msm8084 msm8992 msm8994,$(TARGET_BOARD_PLATFORM)),)
  # B-family platform uses msm8974 code base
  # B-family platform uses msm8974 code base
  AUDIO_PLATFORM = msm8974
  AUDIO_PLATFORM = msm8974
+1 −0
Original line number Original line Diff line number Diff line
@@ -94,6 +94,7 @@ void audio_extn_perf_lock_release(void)
{
{
    if (perf_lock_rel && perf_lock_handle) {
    if (perf_lock_rel && perf_lock_handle) {
        perf_lock_rel(perf_lock_handle);
        perf_lock_rel(perf_lock_handle);
        perf_lock_handle = 0;
        ALOGV("%s: Perf lock released", __func__);
        ALOGV("%s: Perf lock released", __func__);
    } else {
    } else {
        ALOGE("%s: Perf lock release error", __func__);
        ALOGE("%s: Perf lock release error", __func__);
+12 −4
Original line number Original line Diff line number Diff line
@@ -65,9 +65,13 @@
#define MIN_CHANNEL_COUNT                1
#define MIN_CHANNEL_COUNT                1
#define DEFAULT_CHANNEL_COUNT            2
#define DEFAULT_CHANNEL_COUNT            2


#ifndef MAX_TARGET_SPECIFIC_CHANNEL_CNT
#define MAX_CHANNEL_COUNT 1
#else
#define MAX_CHANNEL_COUNT atoi(XSTR(MAX_TARGET_SPECIFIC_CHANNEL_CNT))
#define MAX_CHANNEL_COUNT atoi(XSTR(MAX_TARGET_SPECIFIC_CHANNEL_CNT))
#define XSTR(x) STR(x)
#define XSTR(x) STR(x)
#define STR(x) #x
#define STR(x) #x
#endif


static unsigned int configured_low_latency_capture_period_size =
static unsigned int configured_low_latency_capture_period_size =
        LOW_LATENCY_CAPTURE_PERIOD_SIZE;
        LOW_LATENCY_CAPTURE_PERIOD_SIZE;
@@ -639,7 +643,8 @@ int select_devices(struct audio_device *adev,
                                            usecase->stream.out->devices);
                                            usecase->stream.out->devices);
                if (usecase->stream.out == adev->primary_output &&
                if (usecase->stream.out == adev->primary_output &&
                        adev->active_input &&
                        adev->active_input &&
                        adev->active_input->source == AUDIO_SOURCE_VOICE_COMMUNICATION &&
                        (adev->active_input->source == AUDIO_SOURCE_VOICE_COMMUNICATION ||
                            adev->mode == AUDIO_MODE_IN_COMMUNICATION) &&
                        out_snd_device != usecase->out_snd_device) {
                        out_snd_device != usecase->out_snd_device) {
                    select_devices(adev, adev->active_input->usecase);
                    select_devices(adev, adev->active_input->usecase);
                }
                }
@@ -649,7 +654,9 @@ int select_devices(struct audio_device *adev,
            out_snd_device = SND_DEVICE_NONE;
            out_snd_device = SND_DEVICE_NONE;
            if (in_snd_device == SND_DEVICE_NONE) {
            if (in_snd_device == SND_DEVICE_NONE) {
                audio_devices_t out_device = AUDIO_DEVICE_NONE;
                audio_devices_t out_device = AUDIO_DEVICE_NONE;
                if (adev->active_input->source == AUDIO_SOURCE_VOICE_COMMUNICATION) {
                if (adev->active_input &&
                        (adev->active_input->source == AUDIO_SOURCE_VOICE_COMMUNICATION ||
                            adev->mode == AUDIO_MODE_IN_COMMUNICATION)) {
                    platform_set_echo_reference(adev, false, AUDIO_DEVICE_NONE);
                    platform_set_echo_reference(adev, false, AUDIO_DEVICE_NONE);
                    if (usecase->id == USECASE_AUDIO_RECORD_AFE_PROXY) {
                    if (usecase->id == USECASE_AUDIO_RECORD_AFE_PROXY) {
                        out_device = AUDIO_DEVICE_OUT_TELEPHONY_TX;
                        out_device = AUDIO_DEVICE_OUT_TELEPHONY_TX;
@@ -1239,7 +1246,7 @@ static int check_input_parameters(uint32_t sample_rate,
    }
    }


    if ((channel_count < MIN_CHANNEL_COUNT) || (channel_count > MAX_CHANNEL_COUNT)) {
    if ((channel_count < MIN_CHANNEL_COUNT) || (channel_count > MAX_CHANNEL_COUNT)) {
        ALOGE("%s: unsupported channel count (%d) passed  Min / Max (%d\%d)", __func__,
        ALOGE("%s: unsupported channel count (%d) passed  Min / Max (%d / %d)", __func__,
               channel_count, MIN_CHANNEL_COUNT, MAX_CHANNEL_COUNT);
               channel_count, MIN_CHANNEL_COUNT, MAX_CHANNEL_COUNT);
        return -EINVAL;
        return -EINVAL;
    }
    }
@@ -2054,7 +2061,8 @@ static int add_remove_audio_effect(const struct audio_stream *stream,


    lock_input_stream(in);
    lock_input_stream(in);
    pthread_mutex_lock(&in->dev->lock);
    pthread_mutex_lock(&in->dev->lock);
    if ((in->source == AUDIO_SOURCE_VOICE_COMMUNICATION) &&
    if ((in->source == AUDIO_SOURCE_VOICE_COMMUNICATION ||
            adev->mode == AUDIO_MODE_IN_COMMUNICATION) &&
            in->enable_aec != enable &&
            in->enable_aec != enable &&
            (memcmp(&desc.type, FX_IID_AEC, sizeof(effect_uuid_t)) == 0)) {
            (memcmp(&desc.type, FX_IID_AEC, sizeof(effect_uuid_t)) == 0)) {
        in->enable_aec = enable;
        in->enable_aec = enable;
+2 −1
Original line number Original line Diff line number Diff line
@@ -794,7 +794,8 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d
                snd_device = SND_DEVICE_IN_VOICE_REC_MIC;
                snd_device = SND_DEVICE_IN_VOICE_REC_MIC;
            }
            }
        }
        }
    } else if (source == AUDIO_SOURCE_VOICE_COMMUNICATION) {
    } else if (source == AUDIO_SOURCE_VOICE_COMMUNICATION ||
            mode == AUDIO_MODE_IN_COMMUNICATION) {
        if (out_device & AUDIO_DEVICE_OUT_SPEAKER)
        if (out_device & AUDIO_DEVICE_OUT_SPEAKER)
            in_device = AUDIO_DEVICE_IN_BACK_MIC;
            in_device = AUDIO_DEVICE_IN_BACK_MIC;
        if (adev->active_input) {
        if (adev->active_input) {
+2 −1
Original line number Original line Diff line number Diff line
@@ -1940,7 +1940,8 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d
        } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) {
        } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) {
            snd_device = SND_DEVICE_IN_VOICE_REC_HEADSET_MIC;
            snd_device = SND_DEVICE_IN_VOICE_REC_HEADSET_MIC;
        }
        }
    } else if (source == AUDIO_SOURCE_VOICE_COMMUNICATION) {
    } else if (source == AUDIO_SOURCE_VOICE_COMMUNICATION ||
            mode == AUDIO_MODE_IN_COMMUNICATION) {
        if (out_device & (AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_OUT_SPEAKER_SAFE))
        if (out_device & (AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_OUT_SPEAKER_SAFE))
            in_device = AUDIO_DEVICE_IN_BACK_MIC;
            in_device = AUDIO_DEVICE_IN_BACK_MIC;
        if (adev->active_input) {
        if (adev->active_input) {