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

Commit 0b67950f authored by Zheng Zhang's avatar Zheng Zhang
Browse files

audio: hal: set mode bt in tfa when entering start_hfp

set mode bt at the start up of start_hfp, in case no sound in spk when ringtone enabled.

Change-Id: I45930d82e376ad47622f1dffc08e80995c128ffc
parent 13f26e89
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -259,6 +259,8 @@ static int32_t start_hfp(struct audio_device *adev,


    list_add_tail(&adev->usecase_list, &uc_info->list);
    list_add_tail(&adev->usecase_list, &uc_info->list);


    audio_extn_tfa_98xx_set_mode_bt();

    select_devices(adev, hfpmod.ucid);
    select_devices(adev, hfpmod.ucid);


    pcm_dev_rx_id = platform_get_pcm_device_id(uc_info->id, PCM_PLAYBACK);
    pcm_dev_rx_id = platform_get_pcm_device_id(uc_info->id, PCM_PLAYBACK);
+14 −2
Original line number Original line Diff line number Diff line
@@ -404,8 +404,7 @@ void audio_extn_tfa_98xx_set_mode(void)
            return;
            return;


        ret = tfa_98xx_set_func_mode(I2S_CLOCK_ENABLE, data->adev, new_func_mode);
        ret = tfa_98xx_set_func_mode(I2S_CLOCK_ENABLE, data->adev, new_func_mode);
        if (ret)
        if (ret) {
        {
            ALOGE("%s: tfa_98xx_set_func_mode enable return %d\n", __func__, ret);
            ALOGE("%s: tfa_98xx_set_func_mode enable return %d\n", __func__, ret);
        }
        }
        data->update_ref_cnt = true;
        data->update_ref_cnt = true;
@@ -414,6 +413,19 @@ void audio_extn_tfa_98xx_set_mode(void)
    ALOGV("%s: exit\n", __func__);
    ALOGV("%s: exit\n", __func__);
}
}


void audio_extn_tfa_98xx_set_mode_bt(void)
{
    struct speaker_data *data = tfa98xx_speaker_data;
    int ret = 0;

    if (data) {
        ret = tfa_98xx_set_func_mode(I2S_CLOCK_ENABLE, data->adev, Func_Mode_BT);
        if (ret) {
            ALOGE("%s: tfa_98xx_set_func_mode enable return %d\n", __func__, ret);
        }
    }
}

void audio_extn_tfa_98xx_update(void)
void audio_extn_tfa_98xx_update(void)
{
{
    struct speaker_data *data = tfa98xx_speaker_data;
    struct speaker_data *data = tfa98xx_speaker_data;
+2 −0
Original line number Original line Diff line number Diff line
@@ -21,6 +21,7 @@
int audio_extn_tfa_98xx_enable_speaker(void);
int audio_extn_tfa_98xx_enable_speaker(void);
void audio_extn_tfa_98xx_disable_speaker(snd_device_t snd_device);
void audio_extn_tfa_98xx_disable_speaker(snd_device_t snd_device);
void audio_extn_tfa_98xx_set_mode();
void audio_extn_tfa_98xx_set_mode();
void audio_extn_tfa_98xx_set_mode_bt(void);
void audio_extn_tfa_98xx_update(void);
void audio_extn_tfa_98xx_update(void);
void audio_extn_tfa_98xx_set_voice_vol(int vol);
void audio_extn_tfa_98xx_set_voice_vol(int vol);
int audio_extn_tfa_98xx_init(struct audio_device *adev);
int audio_extn_tfa_98xx_init(struct audio_device *adev);
@@ -30,6 +31,7 @@ bool audio_extn_tfa_98xx_is_supported(void);
#define audio_extn_tfa_98xx_enable_speaker(void)                (0)
#define audio_extn_tfa_98xx_enable_speaker(void)                (0)
#define audio_extn_tfa_98xx_disable_speaker(snd_device)         (0)
#define audio_extn_tfa_98xx_disable_speaker(snd_device)         (0)
#define audio_extn_tfa_98xx_set_mode()                          (0)
#define audio_extn_tfa_98xx_set_mode()                          (0)
#define audio_extn_tfa_98xx_set_mode_bt()                       (0)
#define audio_extn_tfa_98xx_update(void)                        (0)
#define audio_extn_tfa_98xx_update(void)                        (0)
#define audio_extn_tfa_98xx_set_voice_vol(vol)                  (0)
#define audio_extn_tfa_98xx_set_voice_vol(vol)                  (0)
#define audio_extn_tfa_98xx_init(adev)                          (0)
#define audio_extn_tfa_98xx_init(adev)                          (0)