Merge "configs: sdm845: Support 2-channel output for sound trigger"
diff --git a/configs/sdm670/audio_output_policy.conf b/configs/sdm670/audio_output_policy.conf
index 52ef791..d66782e 100644
--- a/configs/sdm670/audio_output_policy.conf
+++ b/configs/sdm670/audio_output_policy.conf
@@ -82,3 +82,37 @@
app_type 69940
}
}
+
+inputs {
+ primary {
+ flags AUDIO_INPUT_FLAG_NONE
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
+ bit_width 16
+ app_type 69938
+ }
+ record_24bit {
+ profile none
+ flags AUDIO_INPUT_FLAG_NONE
+ formats AUDIO_FORMAT_PCM_24_BIT_PACKED
+ sampling_rates 16000|48000
+ bit_width 24
+ app_type 69945
+ }
+ record_fluence1 {
+ flags AUDIO_INPUT_FLAG_COMPRESS
+ profile record_fluence
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69944
+ }
+ record_fluence {
+ flags AUDIO_INPUT_FLAG_TIMESTAMP
+ profile record_fluence
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type 69944
+ }
+}
diff --git a/configs/sdm670/audio_platform_info_intcodec.xml b/configs/sdm670/audio_platform_info_intcodec.xml
index b249102..87ebeb5 100644
--- a/configs/sdm670/audio_platform_info_intcodec.xml
+++ b/configs/sdm670/audio_platform_info_intcodec.xml
@@ -63,6 +63,11 @@
<usecase name="USECASE_AUDIO_HFP_SCO_WB" type="in" id="12" />
<usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
<usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="41"/>
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS3" type="in" id="42"/>
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS4" type="in" id="43"/>
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS5" type="in" id="44"/>
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS6" type="in" id="45"/>
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@@ -97,6 +102,7 @@
<device name="SND_DEVICE_IN_UNPROCESSED_THREE_MIC" acdb_id="145"/>
<device name="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC" acdb_id="146"/>
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" acdb_id="147"/>
+ <device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" acdb_id="157"/>
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="INT0_MI2S_RX"/>
@@ -122,6 +128,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_1" interface="INT4_MI2S_RX-and-INT0_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_2" interface="INT4_MI2S_RX-and-INT0_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" interface="INT4_MI2S_RX"/>
+ <device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" interface="INT3_MI2S_TX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" interface="INT4_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_VBAT" interface="INT4_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2" interface="INT4_MI2S_RX"/>
diff --git a/configs/sdm670/mixer_paths_mtp.xml b/configs/sdm670/mixer_paths_mtp.xml
index c5d2cf2..efb37b1 100644
--- a/configs/sdm670/mixer_paths_mtp.xml
+++ b/configs/sdm670/mixer_paths_mtp.xml
@@ -373,6 +373,11 @@
<ctl name="IIR1 INP3 Volume" value="53" />
<ctl name="IIR1 INP4 Volume" value="53" />
<ctl name="IIR1 INP1 MUX" value="ZERO" />
+ <ctl name="MultiMedia17 Mixer INT3_MI2S_TX" value="0" />
+ <ctl name="MultiMedia18 Mixer INT3_MI2S_TX" value="0" />
+ <ctl name="MultiMedia19 Mixer INT3_MI2S_TX" value="0" />
+ <ctl name="MultiMedia28 Mixer INT3_MI2S_TX" value="0" />
+ <ctl name="MultiMedia29 Mixer INT3_MI2S_TX" value="0" />
<!-- anc related -->
@@ -1270,6 +1275,26 @@
<ctl name="MultiMedia8 Mixer INT3_MI2S_TX" value="1" />
</path>
+ <path name="audio-record-compress2">
+ <ctl name="MultiMedia17 Mixer INT3_MI2S_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress3">
+ <ctl name="MultiMedia18 Mixer INT3_MI2S_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress4">
+ <ctl name="MultiMedia19 Mixer INT3_MI2S_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress5">
+ <ctl name="MultiMedia28 Mixer INT3_MI2S_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress6">
+ <ctl name="MultiMedia29 Mixer INT3_MI2S_TX" value="1" />
+ </path>
+
<path name="audio-record-compress bt-sco">
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
</path>
diff --git a/configs/sdm670/sdm670.mk b/configs/sdm670/sdm670.mk
index d34ff01..b939b09 100644
--- a/configs/sdm670/sdm670.mk
+++ b/configs/sdm670/sdm670.mk
@@ -6,6 +6,7 @@
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
USE_CUSTOM_AUDIO_POLICY := 1
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
+AUDIO_FEATURE_ENABLED_COMPRESS_INPUT := true
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
AUDIO_FEATURE_ENABLED_DYNAMIC_ECNS := false
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
@@ -140,8 +141,14 @@
persist.vendor.audio.fluence.voicecall=true\
persist.vendor.audio.fluence.voicerec=false\
persist.vendor.audio.fluence.speaker=true\
+persist.vendor.audio.fluence.audiorec=false\
persist.vendor.audio.fluence.tmic.enabled=false
+# Mutlirec Apptype
+PRODUCT_PROPERTY_OVERRIDES += \
+ vendor.audio.apptype.multirec.enabled=false \
+ vendor.audio.record.multiple.enabled=false
+
##speaker protection v3 switch and ADSP AFE API version
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.audio.spv3.enable=true\
diff --git a/configs/sdm670/sound_trigger_platform_info.xml b/configs/sdm670/sound_trigger_platform_info.xml
index b9e36f5..1b8f45a 100644
--- a/configs/sdm670/sound_trigger_platform_info.xml
+++ b/configs/sdm670/sound_trigger_platform_info.xml
@@ -38,8 +38,10 @@
<!-- Below backend params must match with port used in mixer path file -->
<!-- param used to configure backend sample rate, format and channels -->
<param backend_port_name="SLIM_0_TX" />
+ <param backend_port_name="INT3_MI2S_TX" />
<!-- Param used to match and obtain device backend index -->
<param backend_dai_name="SLIMBUS_0_TX" />
+ <param backend_dai_name="INT3_MI2S_TX" />
</common_config>
<acdb_ids>
<param DEVICE_HANDSET_MIC_APE="100" />
diff --git a/configs/sdm845/mixer_paths_i2s.xml b/configs/sdm845/mixer_paths_i2s.xml
index 10d5ec5..75d984f 100644
--- a/configs/sdm845/mixer_paths_i2s.xml
+++ b/configs/sdm845/mixer_paths_i2s.xml
@@ -144,11 +144,11 @@
</path>
<path name="adc2">
+ <ctl name="AIF1_CAP Mixer SLIM TX6" value="1"/>
<ctl name="MI2S_TX Channels" value="One" />
- <ctl name="AIF1_CAP Mixer SLIM TX8" value="1"/>
- <ctl name="SLIM TX8 MUX" value="DEC8" />
- <ctl name="ADC MUX8" value="AMIC" />
- <ctl name="AMIC MUX8" value="ADC2" />
+ <ctl name="SLIM TX6 MUX" value="DEC6" />
+ <ctl name="ADC MUX6" value="AMIC" />
+ <ctl name="AMIC MUX6" value="ADC2" />
</path>
<path name="dmic1">
@@ -159,14 +159,15 @@
</path>
<path name="speaker">
- <ctl name="SLIM RX3 MUX" value="AIF1_PB" />
- <ctl name="SLIM RX4 MUX" value="AIF1_PB" />
- <ctl name="QUAT_MI2S_RX Channels" value="Two" />
- <ctl name="RX1 MIX1 INP1" value="RX3" />
- <ctl name="RX2 MIX1 INP1" value="RX4" />
- <ctl name="CLASS_H_DSM MUX" value="DSM_HPHL_RX1" />
- <ctl name="HPHL DAC Switch" value="1" />
- <ctl name="COMP1 Switch" value="1" />
+ <ctl name="I2S RX0 MUX" value="AIF1_PB" />
+ <ctl name="MI2S_RX Channels" value="One" />
+ <ctl name="CDC_IF RX0 MUX" value="I2S RX0" />
+ <ctl name="RX INT8_1 MIX1 INP0" value="RX0" />
+ <ctl name="COMP8 Switch" value="1" />
+ <ctl name="SpkrRight COMP Switch" value="1" />
+ <ctl name="SpkrRight BOOST Switch" value="1" />
+ <ctl name="SpkrRight VISENSE Switch" value="1" />
+ <ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
</path>
<path name="sidetone-iir">
@@ -210,11 +211,13 @@
</path>
<path name="headphones">
- <ctl name="SLIM RX2 MUX" value="AIF1_PB" />
- <ctl name="SLIM RX3 MUX" value="AIF1_PB" />
+ <ctl name="I2S RX0 MUX" value="AIF1_PB" />
+ <ctl name="I2S RX1 MUX" value="AIF1_PB" />
+ <ctl name="CDC_IF RX0 MUX" value="I2S RX0" />
+ <ctl name="CDC_IF RX1 MUX" value="I2S RX1" />
<ctl name="MI2S_RX Channels" value="Two" />
- <ctl name="RX INT1_1 MIX1 INP0" value="RX2" />
- <ctl name="RX INT2_1 MIX1 INP0" value="RX3" />
+ <ctl name="RX INT1_2 MUX" value="RX0" />
+ <ctl name="RX INT2_2 MUX" value="RX1" />
<ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT" />
<ctl name="RX INT2 DEM MUX" value="CLSH_DSM_OUT" />
<ctl name="COMP1 Switch" value="1" />
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 9422704..0f82a38 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -3421,7 +3421,6 @@
struct stream_out *out = (struct stream_out *)stream;
lock_output_stream(out);
-
// always send CMD_ERROR for offload streams, this
// is needed e.g. when SSR happens within compress_open
// since the stream is active, offload_callback_thread is also active.
@@ -3429,18 +3428,9 @@
stop_compressed_output_l(out);
send_offload_cmd_l(out, OFFLOAD_CMD_ERROR);
}
-
- // for compress streams , if the stream is not in standby
- // it will be triggered eventually from AF.
- bool do_standby = !out->standby &&
- !(out->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD);
-
pthread_mutex_unlock(&out->lock);
- if (do_standby)
- return out_standby(&out->stream.common);
-
- return 0;
+ return out_standby(&out->stream.common);
}
/*
diff --git a/hal/msm8974/hw_info.c b/hal/msm8974/hw_info.c
index bddaf97..bdc41a5 100644
--- a/hal/msm8974/hw_info.c
+++ b/hal/msm8974/hw_info.c
@@ -558,7 +558,7 @@
} else if (strstr(snd_card_name, "sdm660") || strstr(snd_card_name, "sdm670")) {
ALOGV("Bear - variant soundcard");
update_hardware_info_bear(hw_info, snd_card_name);
- } else if (strncmp(snd_card_name, "sdx", sizeof("sdx"))) {
+ } else if (strstr(snd_card_name, "sdx")) {
ALOGV("SDX - variant soundcard");
update_hardware_info_sdx(hw_info, snd_card_name);
} else {
diff --git a/mm-audio/aenc-aac/qdsp6/Android.mk b/mm-audio/aenc-aac/qdsp6/Android.mk
index b427233..00d7106 100644
--- a/mm-audio/aenc-aac/qdsp6/Android.mk
+++ b/mm-audio/aenc-aac/qdsp6/Android.mk
@@ -63,6 +63,7 @@
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := libmm-omxcore
LOCAL_SHARED_LIBRARIES += libOmxAacEnc
+LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := test/omx_aac_enc_test.c
include $(BUILD_EXECUTABLE)
diff --git a/mm-audio/aenc-amrnb/qdsp6/Android.mk b/mm-audio/aenc-amrnb/qdsp6/Android.mk
index 3fa619e..ee6b439 100644
--- a/mm-audio/aenc-amrnb/qdsp6/Android.mk
+++ b/mm-audio/aenc-amrnb/qdsp6/Android.mk
@@ -63,6 +63,7 @@
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := libmm-omxcore
LOCAL_SHARED_LIBRARIES += libOmxAmrEnc
+LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := test/omx_amr_enc_test.c
include $(BUILD_EXECUTABLE)
diff --git a/mm-audio/aenc-evrc/qdsp6/Android.mk b/mm-audio/aenc-evrc/qdsp6/Android.mk
index 03965cb..14a2b70 100644
--- a/mm-audio/aenc-evrc/qdsp6/Android.mk
+++ b/mm-audio/aenc-evrc/qdsp6/Android.mk
@@ -62,6 +62,7 @@
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := libmm-omxcore
LOCAL_SHARED_LIBRARIES += libOmxEvrcEnc
+LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := test/omx_evrc_enc_test.c
include $(BUILD_EXECUTABLE)
diff --git a/mm-audio/aenc-g711/qdsp6/Android.mk b/mm-audio/aenc-g711/qdsp6/Android.mk
index 6b2b453..d2dc9d1 100644
--- a/mm-audio/aenc-g711/qdsp6/Android.mk
+++ b/mm-audio/aenc-g711/qdsp6/Android.mk
@@ -66,6 +66,7 @@
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := libmm-omxcore
LOCAL_SHARED_LIBRARIES += libOmxG711Enc
+LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := test/omx_g711_enc_test.c
include $(BUILD_EXECUTABLE)
diff --git a/mm-audio/aenc-qcelp13/qdsp6/Android.mk b/mm-audio/aenc-qcelp13/qdsp6/Android.mk
index f4b904a..b88c348 100644
--- a/mm-audio/aenc-qcelp13/qdsp6/Android.mk
+++ b/mm-audio/aenc-qcelp13/qdsp6/Android.mk
@@ -65,6 +65,7 @@
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := libmm-omxcore
LOCAL_SHARED_LIBRARIES += libOmxQcelp13Enc
+LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := test/omx_qcelp13_enc_test.c
include $(BUILD_EXECUTABLE)