hal: add changes to support RAS
Receiver Aided Stereo(RAS) is a feature to support stereo
playback over receiver and speaker. Add new RAS property
and device to support this feature.
Change-Id: I8cd62a352b2847d6068285ea84e2d8f85e931619
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 80f869c..74c429b 100755
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -401,6 +401,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",
/* Capture sound devices */
[SND_DEVICE_IN_HANDSET_MIC] = "handset-mic",
@@ -528,7 +530,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,
[SND_DEVICE_IN_HANDSET_MIC] = 4,
[SND_DEVICE_IN_HANDSET_MIC_EXTERNAL] = 4,
[SND_DEVICE_IN_HANDSET_MIC_AEC] = 106,
@@ -656,6 +659,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)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_EXTERNAL)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC)},
@@ -1765,6 +1770,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__);
+ }
+ }
+
/* If platform is apq8084 and baseband is MDM, load CSD Client specific
* symbols. Voice call is handled by MDM and apps processor talks to
* MDM through CSD Client
diff --git a/hal/msm8974/platform.h b/hal/msm8974/platform.h
index 4279060..731d81c 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2017, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2013 The Android Open Source Project
@@ -130,6 +130,8 @@
SND_DEVICE_OUT_SPEAKER_WSA,
SND_DEVICE_OUT_VOICE_SPEAKER_WSA,
SND_DEVICE_OUT_VOICE_SPEAKER_2_WSA,
+ SND_DEVICE_OUT_SPEAKER_PROTECTED_RAS,
+ SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT_RAS,
SND_DEVICE_OUT_END,
/*