msmnile: update speaker mic for qrd device

QRD device is using different mic with MTP. Add support for QRD
speaker mic.

Change-Id: I64cddc1e3b710c610c884432ba0e50303706e7dd
diff --git a/configs/msmnile/mixer_paths_tavil.xml b/configs/msmnile/mixer_paths_tavil.xml
index 399bcfe..45f4046 100644
--- a/configs/msmnile/mixer_paths_tavil.xml
+++ b/configs/msmnile/mixer_paths_tavil.xml
@@ -1923,6 +1923,10 @@
     <path name="speaker-mic-sbc">
     </path>
 
+    <path name="speaker-mic-qrd">
+        <path name="dmic1" />
+    </path>
+
     <path name="speaker-protected">
         <ctl name="AIF4_VI Mixer SPKR_VI_1" value="1" />
         <ctl name="AIF4_VI Mixer SPKR_VI_2" value="1" />
diff --git a/hal/msm8974/hw_info.c b/hal/msm8974/hw_info.c
index e5c3617..062c104 100644
--- a/hal/msm8974/hw_info.c
+++ b/hal/msm8974/hw_info.c
@@ -219,6 +219,16 @@
     SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET,
 };
 
+static const snd_device_t tavil_qrd_msmnile_variant_devices[] = {
+    SND_DEVICE_OUT_SPEAKER,
+    SND_DEVICE_OUT_VOICE_SPEAKER,
+    SND_DEVICE_OUT_HANDSET,
+    SND_DEVICE_OUT_VOICE_HANDSET,
+    SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET,
+    SND_DEVICE_IN_SPEAKER_MIC,
+};
+
+
 static const snd_device_t auto_variant_devices[] = {
     SND_DEVICE_OUT_SPEAKER
 };
@@ -425,8 +435,8 @@
     if (strstr(snd_card_name, "qrd")) {
         strlcpy(hw_info->type, " qrd", sizeof(hw_info->type));
         strlcpy(hw_info->name, "msmnile", sizeof(hw_info->name));
-        hw_info->snd_devices = (snd_device_t *)tavil_qrd_variant_devices;
-        hw_info->num_snd_devices = ARRAY_SIZE(tavil_qrd_variant_devices);
+        hw_info->snd_devices = (snd_device_t *)tavil_qrd_msmnile_variant_devices;
+        hw_info->num_snd_devices = ARRAY_SIZE(tavil_qrd_msmnile_variant_devices);
         hw_info->is_stereo_spkr = false;
         strlcpy(hw_info->dev_extn, "-qrd", sizeof(hw_info->dev_extn));
     } else if (strstr(snd_card_name, "pahu")) {