hal: add tri-mic device definitions to source tracking

- Add handset and speaker tri-mic definitions to the list
of source tracking devices.
- Map SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO to a new
ACDB device.

Change-Id: I6b3a814227e792fe7656fef1dc9e41945206a3cb
diff --git a/hal/audio_extn/source_track.c b/hal/audio_extn/source_track.c
index e078be4..2a9ba57 100644
--- a/hal/audio_extn/source_track.c
+++ b/hal/audio_extn/source_track.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are
@@ -145,6 +145,7 @@
     case SND_DEVICE_IN_HANDSET_DMIC_AEC_NS:
     case SND_DEVICE_IN_HANDSET_STEREO_DMIC:
     case SND_DEVICE_IN_HANDSET_QMIC:
+    case SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO:
     case SND_DEVICE_IN_VOICE_DMIC:
     case SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE:
     case SND_DEVICE_IN_HEADSET_MIC_FLUENCE:
@@ -155,11 +156,15 @@
     case SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE:
     case SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE:
     case SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE:
+    case SND_DEVICE_IN_SPEAKER_TMIC_AEC:
+    case SND_DEVICE_IN_SPEAKER_TMIC_NS:
+    case SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS:
     case SND_DEVICE_IN_SPEAKER_QMIC_AEC:
     case SND_DEVICE_IN_SPEAKER_QMIC_NS:
     case SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS:
     case SND_DEVICE_IN_VOICE_SPEAKER_DMIC:
     case SND_DEVICE_IN_VOICE_SPEAKER_DMIC_BROADSIDE:
+    case SND_DEVICE_IN_VOICE_SPEAKER_TMIC:
     case SND_DEVICE_IN_VOICE_SPEAKER_QMIC:
     case SND_DEVICE_IN_HANDSET_GENERIC_QMIC:
         ret = true;
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index d65c389..ef5576f 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -540,6 +540,7 @@
     [SND_DEVICE_IN_SPEAKER_QMIC_NS] = "quad-mic",
     [SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS] = "quad-mic",
     [SND_DEVICE_IN_THREE_MIC] = "three-mic",
+    [SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO] = "three-mic",
     [SND_DEVICE_IN_HANDSET_TMIC] = "three-mic",
     [SND_DEVICE_IN_SPEAKER_TMIC_AEC] = "speaker-tmic",
     [SND_DEVICE_IN_SPEAKER_TMIC_NS] = "speaker-tmic",
@@ -712,6 +713,7 @@
     [SND_DEVICE_IN_SPEAKER_QMIC_NS] = 127,
     [SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS] = 129,
     [SND_DEVICE_IN_THREE_MIC] = 46, /* for APSS Surround Sound Recording */
+    [SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO] = 125,
     [SND_DEVICE_IN_HANDSET_TMIC] = 125, /* for 3mic recording with fluence */
     [SND_DEVICE_IN_SPEAKER_TMIC_AEC] = 158,
     [SND_DEVICE_IN_SPEAKER_TMIC_NS] = 159,
@@ -866,6 +868,7 @@
     {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_QMIC_NS)},
     {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS)},
     {TO_NAME_INDEX(SND_DEVICE_IN_THREE_MIC)},
+    {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO)},
     {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_TMIC)},
     {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_TMIC_AEC)},
     {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_TMIC_NS)},
@@ -1694,6 +1697,7 @@
     hw_interface_table[SND_DEVICE_IN_SPEAKER_QMIC_NS] = strdup("SLIMBUS_0_TX");
     hw_interface_table[SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS] = strdup("SLIMBUS_0_TX");
     hw_interface_table[SND_DEVICE_IN_THREE_MIC] = strdup("SLIMBUS_0_TX");
+    hw_interface_table[SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO] = strdup("SLIMBUS_0_TX");
     hw_interface_table[SND_DEVICE_IN_HANDSET_TMIC] = strdup("SLIMBUS_0_TX");
     hw_interface_table[SND_DEVICE_IN_SPEAKER_TMIC_AEC] = strdup("SLIMBUS_0_TX");
     hw_interface_table[SND_DEVICE_IN_SPEAKER_TMIC_NS] = strdup("SLIMBUS_0_TX");
diff --git a/hal/msm8916/platform.h b/hal/msm8916/platform.h
index 8d87a9f..7ffd2a9 100644
--- a/hal/msm8916/platform.h
+++ b/hal/msm8916/platform.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
  * Not a Contribution.
  *
  * Copyright (C) 2013 The Android Open Source Project
@@ -223,6 +223,7 @@
     SND_DEVICE_IN_SPEAKER_QMIC_NS,
     SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS,
     SND_DEVICE_IN_THREE_MIC,
+    SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO,
     SND_DEVICE_IN_HANDSET_TMIC,
     SND_DEVICE_IN_SPEAKER_TMIC_AEC,
     SND_DEVICE_IN_SPEAKER_TMIC_NS,
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index a5f36ba..1edb3d6 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -695,7 +695,7 @@
     [SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS] = 129,
     [SND_DEVICE_IN_VOICE_REC_QMIC_FLUENCE] = 125,
     [SND_DEVICE_IN_THREE_MIC] = 46, /* for APSS Surround Sound Recording */
-    [SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO] = 125,
+    [SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO] = 138,
     [SND_DEVICE_IN_HANDSET_TMIC] = 153,
     [SND_DEVICE_IN_HANDSET_TMIC_AEC] = 154,
     [SND_DEVICE_IN_HANDSET_TMIC_NS] = 155,