diff options
author | Kevin F. Haggerty <haggertk@lineageos.org> | 2020-06-01 20:43:26 -0600 |
---|---|---|
committer | Kevin F. Haggerty <haggertk@lineageos.org> | 2020-06-01 20:43:26 -0600 |
commit | 7f994b20519094470dcc11bf79c3263f4cdd80d7 (patch) | |
tree | 73fc3a1eaccd06a32af8df617bd55c8efbc87279 | |
parent | 0d8293f2b9e3a8c6c1f13083ae8ab303b588567c (diff) | |
parent | b8f835a2a667b4e0cd0e3eeb0d2ebbdbd5ec034b (diff) | |
download | android_hardware_knowles_athletico_sound_trigger_hal-lineage-17.1.tar.gz android_hardware_knowles_athletico_sound_trigger_hal-lineage-17.1.tar.bz2 android_hardware_knowles_athletico_sound_trigger_hal-lineage-17.1.zip |
Merge tag 'android-10.0.0_r37' into staging/lineage-17.1_merge-android-10.0.0_r37HEADlineage-17.1
Android 10.0.0 Release 37 (QQ3A.200605.001)
* tag 'android-10.0.0_r37':
sthal: update list during incall mode in recovery progress.
Change-Id: I2c1ee618b0a7235e2e42310f46be1b4867cef74f
-rw-r--r-- | sound_trigger_hw_iaxxx.c | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/sound_trigger_hw_iaxxx.c b/sound_trigger_hw_iaxxx.c index 6b15f4b..e7a3556 100644 --- a/sound_trigger_hw_iaxxx.c +++ b/sound_trigger_hw_iaxxx.c @@ -1601,12 +1601,6 @@ static int restart_recognition(struct knowles_sound_trigger_device *stdev) * Need to reset the enabled flag */ stdev->is_bargein_route_enabled = false; - } else if (stdev->rx_active_count > 0 && - stdev->is_bargein_route_enabled == false) { - /* rx stream is enabled during codec recovery. - * Need to raise the enabled flag - */ - stdev->is_bargein_route_enabled = true; } if (stdev->is_buffer_package_loaded == true) { @@ -1631,6 +1625,13 @@ static int restart_recognition(struct knowles_sound_trigger_device *stdev) ALOGD("%s: ST mode is in_call, reset all routes", __func__); stdev->is_mic_route_enabled = false; + stdev->is_bargein_route_enabled = false; + for (i = 0; i < MAX_MODELS; i++) { + if (stdev->models[i].is_active == true) { + update_recover_list(stdev, i, true); + stdev->models[i].is_active = false; + } + } // if chre enabled before crash during call, need to setup package for SLPI. if (stdev->is_chre_loaded == true) { @@ -1648,8 +1649,6 @@ static int restart_recognition(struct knowles_sound_trigger_device *stdev) * Reset mic and src package if sound trigger recording is active * The src-mic, src-amp must be enable before AEC enable, because * the endpoint sequence control. - * - * The stream 0 should be enable at last moment for the data alignment. */ if (stdev->is_mic_route_enabled == true) { // recover src package if sound trigger recording is active @@ -1661,38 +1660,39 @@ static int restart_recognition(struct knowles_sound_trigger_device *stdev) if (err != 0) { ALOGE("Failed to restart SRC-mic route"); } - } - - if (stdev->rx_active_count > 0 && - stdev->is_bargein_route_enabled == true) { - ct = EXTERNAL_OSCILLATOR; - if (is_mic_controlled_by_ahal(stdev) == true) { - strmt = STRM_48K; - } - err = setup_src_plugin(stdev->odsp_hdl, SRC_AMP_REF); - if (err != 0) { - ALOGE("failed to load SRC package"); - } - err = enable_src_route(stdev->route_hdl, true, SRC_AMP_REF); - if (err != 0) { - ALOGE("Failed to restart SRC-amp route"); - } + /* + * RX stream was enabled during codec recovery. + * Need to setup the barge-in package and routing. + */ + if (stdev->rx_active_count > 0) { + stdev->is_bargein_route_enabled = true; + ct = EXTERNAL_OSCILLATOR; + if (is_mic_controlled_by_ahal(stdev) == true) { + strmt = STRM_48K; + } + err = setup_src_plugin(stdev->odsp_hdl, SRC_AMP_REF); + if (err != 0) { + ALOGE("failed to load SRC package"); + } + err = enable_src_route(stdev->route_hdl, true, SRC_AMP_REF); + if (err != 0) { + ALOGE("Failed to restart SRC-amp route"); + } - err = setup_aec_package(stdev->odsp_hdl); - if (err != 0) { - ALOGE("Failed to restart AEC package"); - } - err = enable_bargein_route(stdev->route_hdl, true); - if (err != 0) { - ALOGE("Failed to restart bargein route"); - } - err = enable_amp_ref_route(stdev->route_hdl, true, strmt); - if (err != 0) { - ALOGE("Failed to restart amp-ref route"); + err = setup_aec_package(stdev->odsp_hdl); + if (err != 0) { + ALOGE("Failed to restart AEC package"); + } + err = enable_bargein_route(stdev->route_hdl, true); + if (err != 0) { + ALOGE("Failed to restart bargein route"); + } + err = enable_amp_ref_route(stdev->route_hdl, true, strmt); + if (err != 0) { + ALOGE("Failed to restart amp-ref route"); + } } - } - - if (stdev->is_mic_route_enabled == true) { + // The stream 0 should be enable at last moment for the data alignment. if (is_mic_controlled_by_ahal(stdev) == false) { err = enable_mic_route(stdev->route_hdl, true, ct); if (err != 0) { |