hal: Add support for EC in regular audio recording

- Ensure EC reference is set when the source is MIC and fluence is
  enabled in the regular audio recording path.

Change-Id: I6648f41fcc578ded13e4fecdb7ef35bc6b0579d4
CRs-Fixed: 628085
hal: Add the missing sound device of voice_speaker

8x10 skuab uses lineout path instead of speaker. Add the missing
voice_speaker device in the array so that hal can select the
correct path for voice speaker in 8x10 skuab.

CRs-fixed: 621807
Change-Id: I5509184e368121cb1825392fce3860af20a9fa44
hal: update playback channel mapping for USB headset

- Set proper USB headset channel mapping before
  starting playback.
- Update audio_extn_set_afe_proxy_channel_mixer
  to handle channel mapping based on channel count.

CRs-Fixed: 620828

Change-Id: I9660e3088bc747c30891b0aa7ec8d22096dd0fa2
hal: Updated APIs to support Listen Multisession

Update open_listen_session API to add listen_open_params.

Change-Id: I203ef38676332a3054933750d200f1df36f0d097
8960: Fix proxy channel count setup

I9660e3088bc747c30891b0aa7ec8d22096dd0fa2 changed the method, but
applied the changes only to 8974. fixit

Change-Id: I3cd36eb80732ec9f6f8274153c4ac7cd799c3aec
hal: Update audio_extn_usb_stop_capture signature

Change-Id: I54ef1623ad9aaff87c71a5a86d69faf43af22283
Allow msm8226 to use same functions as msm8974

These features were restricted to msm8974 only when porting
changes for msm8960

Change-Id: I67807a3e73495e4701b2ed8c5ebe17c241ec5e13
Merge "Allow msm8226 to use same functions as msm8974" into cm-11.0
hal: Clear VI feedback cal after VI capture path is started

When speaker protection is enabled, afe TX common calibration will be
pointing to VI feedback calibration. If any TX capture usecase is started
by passing HAL(tinycap), recording will fail.
Speaker protection module will set the afe tx common cal block to
handset mic once VI feedback path is started. This will ensure that
capture usecases can be supported with speaker protection enabled and
HAL by passed.

Change-Id: I1716d66aa87591b7a7e456ed059c2f75de8a5f84
CRs-fixed: 620979
post_proc: Enable reverb in DSP to start effect

During switch to tunnel playback, reverb enable command is not sent to
DSP and causes reverb effect not applied continuously.

Send reverb enable params to DSP to start effects during switch.

Change-Id: I6e8bbdf4c1e5933be9a37413a4c4f1b7106fe6ba
CRs-Fixed: 637016
post_proc: reverb preset id is not mapped correctly

Array index is not correct and causes uninitialized value being used
when 'Plate' is chosen. Correct index to retrieve the right preset id.

Change-Id: I2ad058bc7dc5d9b74882da2f5d4c0e3570f9e952
CRs-Fixed: 630429
post_proc: disable Bassboost and Virtualizer for certain devices

WFD, Hdmi and usb audio are not intended to be applied with
SA+ bassboost and virtualizer, so add into invalid device list.

Change-Id: Ifcf9cdffb6657cf82bf903d16d4a3ae8471590f0
CRs-Fixed: 630408
hal: update bt-sco sample rate before device enable

- Some BT solutions set sample rate only at the time of BT connection
  but not for every device switch. Due to this sample rate is not
  set properly after device switch.
- Update bt-sco sample rate before device enable instead of sample rate
  set parameters call.

Change-Id: I07cb0c186296b00a99713b67628fb87b2f134d32
post_proc: disable effect immediately when routed to invalid devices

Offload effect is still perceived when invalid output device is
connected. We should send disable command immediately once phone is
routed to unexpected device and forbid effect enablement during
temporary disabled state.

Change-Id: I26d4ccfd77037a879622b0437ae3916ff0071a69
CRs-Fixed: 630408
Merge branch 'cm-11.0' of https://github.com/CyanogenMod/android_hardware_qcom_audio-caf into kk4.4