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
audio/msm7630: Introduce LowPowerAudio.

Change-Id: I77cadf3c028bc9dead0b0887c308f7394d4b14f2
audio/msm7630: Add support for audio effects for LPA clips

Add support for audio effects for LPA clips on msm7630

(cherry picked from commit 176dd4c4f0a926fd463cf2d4cf1051327a75598b)

Conflicts:

	msm7630/AudioHardware.cpp

Change-Id: Ibfa9376dae14bc772fa0cb90e2bae3309a684fc8
7x30 : Port heap mask change to ion

-mp3 clips fails to play intermittently.
-ION fails to register with the driver.
-Heap mask field passes as argument at allocation
time to specify ion heap.

CRs-Fixed: 444197

Change-Id: I35b7f162c906b856b7b4f5ee2270cd10256144bf
msm7x30: Add missing get_supported_devices in HW HAL

Change-Id: Idb90528899ae3d5a6d037f1af0544225faa02cc6
msm7x30: Fix routing for all AudioSessionOut types

 * Pass the new output device around so that we're not always just using
   the one in the base class. This was preventing proper routing for
   all output streams.

Change-Id: I07a6bf4cf15c7b6bea310c2cd593ca494a89ca5f
audio/msm7630: Add latency support for LPA

-Audio loss for few seconds on headset connection.
-Stream is unmute in checkDeviceMuteStrategies before device switch
occurs.
-Increase delay in tempMute to ensure unmuting happens after device
switch happens. Also change latency for LPA to correct value similar
to that of hpcm.

Change-Id: I539a4726f6b9d53bbfdc5f92a8801d5f14c360eb
CRs-Fixed: 448355
audio/msm7630 : Stability issue with LPA play back.

- ANR is observed during LPA playback when there is song switch for
  every few seconds
- The song switch does not happen when the song is played till the end
- Native crashes are observed during rapid seek, next and previous
  song switch operations. There is some race condition between write and
  flush which results in adding a buffer multiple times to empty queue.
  This tries to free the buffer multiple times during reset and results
  in native crash. Fix this issue by adding proper mutex in write and
  flush calls which synchronizes these operations and avoids crashes.
  After Pausetimeout, reset is called due to which EOS is posted
  to observer. This results in start or reset operation on a closed
  sink leading to crashes. Avoid posting EOS if reset is already
  called.

Change-Id: Ie171d86f39fc4484710002c4940496dc90fbb05a
CRs-Fixed: 463272
msm7x30: Update device API

Change-Id: I15bd511c3b753dc4ce076a482095e675f601c1ec
msm7x30: Fixup ifdefs so LPA playback works

Change-Id: Ia389f2c3905ba5062933912150b856e3464c2e13