hal: msm8916: add changes to support RAS for sdm660
Receiver Aided Stereo(RAS) is a feature to support stereo
playback over receiver and speaker. Add new RAS device to
support this feature on sdm660.
Change-Id: I589a4ed3fdf18deaa3ce7109bc365654dd93c89b
CRs-Fixed: 1088468
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index 87ca990..d9c7642 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -422,6 +422,8 @@
[SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT] = "speaker-protected-vbat",
[SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT] = "voice-speaker-protected-vbat",
[SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED_VBAT] = "voice-speaker-2-protected-vbat",
+ [SND_DEVICE_OUT_SPEAKER_PROTECTED_RAS] = "speaker-protected",
+ [SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT_RAS] = "speaker-protected-vbat",
#ifdef RECORD_PLAY_CONCURRENCY
[SND_DEVICE_OUT_VOIP_HANDSET] = "voip-handset",
[SND_DEVICE_OUT_VOIP_SPEAKER] = "voip-speaker",
@@ -555,6 +557,8 @@
[SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT] = 124,
[SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT] = 101,
[SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED_VBAT] = 101,
+ [SND_DEVICE_OUT_SPEAKER_PROTECTED_RAS] = 134,
+ [SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT_RAS] = 134,
#ifdef RECORD_PLAY_CONCURRENCY
[SND_DEVICE_OUT_VOIP_HANDSET] = 133,
[SND_DEVICE_OUT_VOIP_SPEAKER] = 132,
@@ -690,6 +694,8 @@
{TO_NAME_INDEX(SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT)},
{TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT)},
{TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED_VBAT)},
+ {TO_NAME_INDEX(SND_DEVICE_OUT_SPEAKER_PROTECTED_RAS)},
+ {TO_NAME_INDEX(SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT_RAS)},
#ifdef RECORD_PLAY_CONCURRENCY
{TO_NAME_INDEX(SND_DEVICE_OUT_VOIP_HANDSET)},
{TO_NAME_INDEX(SND_DEVICE_OUT_VOIP_SPEAKER)},
@@ -2037,6 +2043,17 @@
else
platform_info_init(PLATFORM_INFO_XML_PATH, my_data);
+ if (audio_extn_can_use_ras()) {
+ if (property_get_bool("persist.speaker.prot.enable", false)) {
+ platform_set_snd_device_acdb_id(SND_DEVICE_OUT_SPEAKER_PROTECTED,
+ acdb_device_table[SND_DEVICE_OUT_SPEAKER_PROTECTED_RAS]);
+ platform_set_snd_device_acdb_id(SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT,
+ acdb_device_table[SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT_RAS]);
+ } else {
+ ALOGD("%s: RAS Feature should be enabled with Speaker Protection", __func__);
+ }
+ }
+
/* obtain source mic type from max mic count*/
get_source_mic_type(my_data);
ALOGD("%s: Fluence_Type(%d) max_mic_count(%d) mic_type(0x%x) fluence_in_voice_call(%d)"