summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin F. Haggerty <haggertk@lineageos.org>2020-06-01 20:43:26 -0600
committerKevin F. Haggerty <haggertk@lineageos.org>2020-06-01 20:43:26 -0600
commit7f994b20519094470dcc11bf79c3263f4cdd80d7 (patch)
tree73fc3a1eaccd06a32af8df617bd55c8efbc87279
parent0d8293f2b9e3a8c6c1f13083ae8ab303b588567c (diff)
parentb8f835a2a667b4e0cd0e3eeb0d2ebbdbd5ec034b (diff)
downloadandroid_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.c76
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) {