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

Commit 858c3c63 authored by Zheng Zhang's avatar Zheng Zhang
Browse files

audio: hal: fix no sound in mic during hfp-sco call

send cal data once for tfa98xx in case no sound in mic during hfp-sco call.

Bug: 33566771

Change-Id: Ic83c2409d2d543740069feddd18493e54b1a66b6
parent 0c0f53e2
Loading
Loading
Loading
Loading
+7 −2
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@
#include "audio_extn.h"
#include "audio_extn.h"
#include "voice_extn.h"
#include "voice_extn.h"
#include "sound/msmcal-hwdep.h"
#include "sound/msmcal-hwdep.h"
#include "audio_extn/tfa_98xx.h"
#include <dirent.h>
#include <dirent.h>
#define MAX_MIXER_XML_PATH  100
#define MAX_MIXER_XML_PATH  100
#define MIXER_XML_PATH "/system/etc/mixer_paths.xml"
#define MIXER_XML_PATH "/system/etc/mixer_paths.xml"
@@ -1304,13 +1305,17 @@ int platform_send_audio_calibration(void *platform, snd_device_t snd_device)
    else
    else
        acdb_dev_type = ACDB_DEV_TYPE_IN;
        acdb_dev_type = ACDB_DEV_TYPE_IN;


    if ((my_data->acdb_send_audio_cal_v3) && (snd_device == SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP)) {
    if ((my_data->acdb_send_audio_cal_v3) &&
        (snd_device == SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP) &&
        !audio_extn_tfa_98xx_is_supported() ) {
            /* TX path calibration */
            /* TX path calibration */
            my_data->acdb_send_audio_cal_v3(acdb_dev_id, ACDB_DEV_TYPE_IN,
            my_data->acdb_send_audio_cal_v3(acdb_dev_id, ACDB_DEV_TYPE_IN,
                                DEFAULT_APP_TYPE_TX_PATH, sample_rate, BUFF_IDX_0);
                                DEFAULT_APP_TYPE_TX_PATH, sample_rate, BUFF_IDX_0);
            my_data->acdb_send_audio_cal_v3(acdb_dev_id, ACDB_DEV_TYPE_OUT,
            my_data->acdb_send_audio_cal_v3(acdb_dev_id, ACDB_DEV_TYPE_OUT,
                                DEFAULT_APP_TYPE_RX_PATH, sample_rate, BUFF_IDX_0);
                                DEFAULT_APP_TYPE_RX_PATH, sample_rate, BUFF_IDX_0);
    } else if ((my_data->acdb_send_audio_cal_v3) && (snd_device == SND_DEVICE_OUT_VOICE_SPEAKER_HFP)) {
    } else if ((my_data->acdb_send_audio_cal_v3) &&
               (snd_device == SND_DEVICE_OUT_VOICE_SPEAKER_HFP) &&
               !audio_extn_tfa_98xx_is_supported()) {
            /* RX path calibration */
            /* RX path calibration */
            ALOGV("%s: sending audio calibration for snd_device(%d) acdb_id(%d)",
            ALOGV("%s: sending audio calibration for snd_device(%d) acdb_id(%d)",
                       __func__, snd_device, acdb_dev_id);
                       __func__, snd_device, acdb_dev_id);