audio: enable speaker protection for speaker-safe
enable speaker protection for speaker-safe
Bug: 71526853
Change-Id: If47cf68fa2d7e273c6cbba031145b1a60c175607
Signed-off-by: kevinshhsu <KevinSHHsu@fih-foxconn.com>
diff --git a/hal/audio_extn/cirrus_playback.c b/hal/audio_extn/cirrus_playback.c
index 1f7a9f7..30ba5e3 100644
--- a/hal/audio_extn/cirrus_playback.c
+++ b/hal/audio_extn/cirrus_playback.c
@@ -515,6 +515,9 @@
case SND_DEVICE_OUT_SPEAKER:
acdb_id = platform_get_snd_device_acdb_id(SND_DEVICE_OUT_SPEAKER_PROTECTED);
break;
+ case SND_DEVICE_OUT_SPEAKER_SAFE:
+ acdb_id = platform_get_snd_device_acdb_id(SND_DEVICE_OUT_SPEAKER_SAFE);
+ break;
case SND_DEVICE_OUT_VOICE_SPEAKER:
acdb_id = platform_get_snd_device_acdb_id(SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED);
break;
@@ -529,6 +532,8 @@
switch(snd_device) {
case SND_DEVICE_OUT_SPEAKER:
return SND_DEVICE_OUT_SPEAKER_PROTECTED;
+ case SND_DEVICE_OUT_SPEAKER_SAFE:
+ return SND_DEVICE_OUT_SPEAKER_SAFE;
case SND_DEVICE_OUT_VOICE_SPEAKER:
return SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED;
default:
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 47d7a0e..77081c7 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -629,6 +629,7 @@
audio_extn_dsm_feedback_enable(adev, snd_device, true);
if ((snd_device == SND_DEVICE_OUT_SPEAKER ||
+ snd_device == SND_DEVICE_OUT_SPEAKER_SAFE ||
snd_device == SND_DEVICE_OUT_VOICE_SPEAKER) &&
audio_extn_spkr_prot_is_enabled()) {
if (audio_extn_spkr_prot_get_acdb_id(snd_device) < 0) {
@@ -683,6 +684,7 @@
if (adev->snd_dev_ref_cnt[snd_device] == 0) {
audio_extn_dsm_feedback_enable(adev, snd_device, false);
if ((snd_device == SND_DEVICE_OUT_SPEAKER ||
+ snd_device == SND_DEVICE_OUT_SPEAKER_SAFE ||
snd_device == SND_DEVICE_OUT_SPEAKER_REVERSE ||
snd_device == SND_DEVICE_OUT_VOICE_SPEAKER) &&
audio_extn_spkr_prot_is_enabled()) {