post_proc: Support effects in DSP for tunnel mode playback

Add interface to support configuring equlaizer, bass boost,
virtualizer and reverb effects in DSP for tunnel mode of
playback.

Change-Id: I9a93ad6136c4de06df5136967908b4e888dae44f
hal: Add support for audio effects in DSP for tunnel mode playback

Add support to enable or disable audio post processing  effects
in DSP for tunnel mode playback.

Change-Id: I4e0b01ab4ae29d4b1c7986f2a6146e18e8bce2c1
hal: Added support for HFP

 - Added setparameter to be set from hfp app to enable
   and disable hfp session.
 - Implemeted start and stop hfp session which takes
   care of switching device and setting the session

Change-Id: Ie8697328ccbfee09d0d162f6fad01ddb552e4f83
hal: fix channel mask for m-ch offload playback

- Update channel mask with compress parameters for
  compress offload playback on HDMI device

Change-Id: I89263f56923588fcb906facfd4ae9ebf95203743
hal: Fix for recording during voice call over BT

Incall recording or Camcord recording is failed during
voice call over BT device. The reason is that SND_DEVICE_NONE
is as input, which causes the failure of getting
input snd device.
To solve the issue, update the condition check to get input snd
device and add the device is AUDIO_DEVICE_IN_VOICE_CALL check.

Change-Id: I59eecfa5bdbe68d54ff458a444d8fe981d312e2e
CRs-Fixed: 579927
hal: Fix framesize issue for compress VoIP

- Correct the framesize for 16KHz VoIP use cases
- Add proper checks to enable compress VoIP use case
- Add get_parameters() support to query audio mode

Change-Id: I470d538f1e136780264e81b509fb439baead603d
hal: apply bt-sco-wb samplerate mixer

- BTSCO WB sample rate mixer control applied after AFE port opened.
  This results sample rate mismatch and voice call over BT SCO WB
  does not work
- Fix by apply the mixer control before AFE port opened

Change-Id: I7efa0db9a24d307780bde03032313ad1f454d6ac
Initial mpq8092 HAL upload

Depends-on: 531569 531557
Change-Id: Ic130ab0a5ae2ffee09d98b7ca2c3ee4374965466

Conflicts:
	Android.mk
audio: mpq: Move audio output activities to audio_stream_out

Move output activities to audio_stream_out, output activites on
mpq may involve multiple handles for a single hal session, and
needs elaborate handling.

Change-Id: I42b7e16cf316be89cbe22bd70b6c685d89f15f27
mpq8092: Add bitstream files

Add bitstream files

Change-Id: I002b2fe4249ffc28665b7efc80d9a5d7ad90ea74
hal: update devices for APQ8084 cdp and liquid

APQ8084 CDP and Liquid might use a different set of devices
compared to MTP device for the same use case. Update device
list to use the right set of mixer controls for use cases
for APQ8084 CDP and Liquid

Change-Id: Ia40c31bc6cd94155d2b6dcc966bf4524906ea687
hal: In-call recording and In-call music support on APQ targets

-In-call recording feature support is added in APQ.
-In-call music delivery support is added in APQ.

Change-Id: Id473eac87da33f1f566b6910ec1feadcd3f08317
hal: Use compress audio for incall recording with AMR WB

Currently, AMR WB recording uses tunnel mode instead of
software encoding. Update audio hal to use compress audio
path to do incall recording with AMR WB format.

Change-Id: I93deb3dbc7dcd6a8d2b178334f8b43117ee6841c
CRs-Fixed: 581298
hal: pass set parameters call to listen hal

Pass set parameters call to listen hal. Currently it used
to handle SSR in listen hal.

Change-Id: Ia8df94ca87916afff45fe4e3fd569f6268bc3560
audio: Re-arrange member var initializations

Rearrange initializations of some stream_out member
variables to prevent possible uninitialized use.

CRs-Fixed: 587676
Change-Id: I7018f38f29a19b130185b285f4acf22219e4228c
audio: hal: Fix to use correct EC_REF_RX

In 8610, we need to use I2S_RX as ec_ref_rx
parameter and for SLIM based targets use
SLIM_RX.

CRs-Fixed: 575647
Change-Id: Ia220498f302a58dc3dbd42b1874fa01f081ce3dd
hal: Device switch should happen only during anc enable/disable

-Device switch used to happend even if the setparameter was
not for AUDIO_PARAMETER_KEY_ANC since it was outside the if
condition. Hence move the switch device inside the condition.

Change-Id: I0f51356900709401bf2f1ea3c98b80861128aef3
CRs-Fixed: 575732
hal: HFP device id change due to reorder of dai link in kernel

- Front end Dai link for HFP was moved to group with all the
Front End Dai in kernel. Hence the device id would change.

Also cleanup of the code to match up other implementations

Change-Id: I0b5444190ddb8610c234a9608d53c3e845d86fd5
hal: Support for multi-channel
     for AFE_PROXY

- Add 5.1 and 7.1 channel support to
  AFE_PROXY device

Change-Id: I124af373f8823ae670a392fdedbfe26141a137e5
CRs-fixed: 585698
hal: Fix voice calls starting on speaker unintendedly

If setParameters(vsid, callstate) call is processed before
setparameter(routing), voice calls will be started on speaker.
Fix by not starting voice calls by checking if the primary output
device is speaker.

Change-Id: If3ecb83bbcb02d5da40d66340276263413adabc9