hal: Add support for perf lock management

Acquire perf lock before starting an input or output
stream to optimize the cold start latency.

Bug: 22537514

Cherry-pick of CAF commit:
390bcf3edac3e0e38cf8163d1297f1b669117fe0

Change-Id: Iacedde8ff8531f8857e516e2671acd62197556a0
diff --git a/hal/Android.mk b/hal/Android.mk
index 0bb29b5..45b2cd9 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -21,10 +21,12 @@
 ifneq ($(filter msm8992,$(TARGET_BOARD_PLATFORM)),)
   LOCAL_CFLAGS := -DPLATFORM_MSM8994
   LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4"
+  LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED
 endif
 ifneq ($(filter msm8994,$(TARGET_BOARD_PLATFORM)),)
   LOCAL_CFLAGS := -DPLATFORM_MSM8994
   LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4"
+  LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED
 endif
 endif
 
@@ -33,6 +35,7 @@
 	voice.c \
 	platform_info.c \
 	audio_extn/ext_speaker.c \
+	audio_extn/audio_extn.c \
 	$(AUDIO_PLATFORM)/platform.c
 
 LOCAL_SHARED_LIBRARIES := \