audio: Add Quad mic mixer controls and EC reference changes for FFV

- Add quad mic mixer controls in audio and sound trigger xmls files.
- Add changes to set EC reference device for FFV.

CRs-Fixed: 2225936
Change-Id: Ife05d9069db2880473f8e6d06ab284c011f935ae
diff --git a/hal/audio_extn/ffv.c b/hal/audio_extn/ffv.c
index 82140b1..e0f3312 100755
--- a/hal/audio_extn/ffv.c
+++ b/hal/audio_extn/ffv.c
@@ -828,7 +828,7 @@
     bytes_to_copy = (bytes <= out_buf_size) ? bytes : out_buf_size;
     memcpy(buffer, process_out_ptr, bytes_to_copy);
     if (bytes_to_copy != out_buf_size)
-        ALOGD("%s: out buffer data dropped, copied %d bytes",
+        ALOGD("%s: out buffer data dropped, copied %zd bytes",
                __func__, bytes_to_copy);
 
 #ifdef FFV_PCM_DUMP
@@ -893,18 +893,30 @@
                 ALOGE("%s: Invalid ec ref", __func__);
             }
         }
-
-        ret = str_parms_get_int(parms, AUDIO_PARAMETER_FFV_EC_REF_DEVICE, &val);
-        if (ret >= 0) {
+        ret = -1;
+        if (str_parms_get_int(parms, AUDIO_PARAMETER_FFV_EC_REF_DEVICE, &val) >= 0) {
+            ret = 1;
             str_parms_del(parms, AUDIO_PARAMETER_FFV_EC_REF_DEVICE);
+        } else if (str_parms_get_int(parms, AUDIO_PARAMETER_DEVICE_CONNECT, &val) >= 0) {
+            ret = 1;
+            str_parms_del(parms, AUDIO_PARAMETER_DEVICE_CONNECT);
+        }
+        if (ret == 1) {
             if (val & AUDIO_DEVICE_OUT_SPEAKER) {
                 ALOGD("%s: capture ec ref from speaker", __func__);
                 ffvmod.ec_ref_dev = AUDIO_DEVICE_OUT_SPEAKER;
             } else if (val & AUDIO_DEVICE_OUT_LINE) {
                 ALOGD("%s: capture ec ref from line out", __func__);
                 ffvmod.ec_ref_dev = AUDIO_DEVICE_OUT_LINE;
-            } else {
-                ALOGE("%s: Invalid ec ref out device", __func__);
+            }
+        }
+
+        ret = str_parms_get_int(parms, AUDIO_PARAMETER_DEVICE_DISCONNECT, &val);
+        if (ret >= 0) {
+            str_parms_del(parms, AUDIO_PARAMETER_DEVICE_DISCONNECT);
+            if (val & AUDIO_DEVICE_OUT_LINE) {
+                ALOGD("%s: capture ec ref from speaker", __func__);
+                ffvmod.ec_ref_dev = AUDIO_DEVICE_OUT_SPEAKER;
             }
         }