hal: Extend MULTIPLE_OFFLOAD_ENABLED ifdef

* Fixes compilation for non-MSM8974 devices without
  MULTIPLE_OFFLOAD_ENABLED

Change-Id: I8a83d10e68618e141a128af5198ebf1bfb731a6a
hal: PCM offload shouldn't enable all types of offloading

 * Some older versions of the DSP cannot offload audio streams
   for A/V content. Remove the extra check so each feature must
   be explicitly enabled on the device.

Change-Id: I23aac6be5bd160b61e54eab8761e97bbbd5ae045
hal: Fix the samplerate/bitwidth comparison

Change-Id: If507ee28d4b3333dd91af286f2653554590fd7c4
hal: Avoid unnecessary rerouting for sample rate changes

 * The backend codec supports just a few sample rates directly,
   so make sure that we base our decision to reroute on this
   value instead of the actual sample rate of the stream.

Change-Id: I2ed82354563f60d04febb0e200252d0f45644a5e
Limit codec offload to devices with QCOM_AV_ENHANCEMENTS enabled

Don't even try to build this, nothing will invoke it and it may require
non-existing definitions for compression on the device

Change-Id: I1bf8055259e1dc937048269132a7e717d5fc6a01
hal: Limit MP2 and WMA offload to 8226/8974 devies only

* 8960 devices are not capable of these features.

Change-Id: I37ee867c4e8377d70344abec5d72a5de86c45ca5
hal: Add support for VoWLAN feature

Add VoWLAN pcm id, usecase to enable voice
over WLAN feature.

Change-Id: I2d10ff06342bfcbef15a4769ba90deaeb4218107
hal: Add support for VoWLAN on MSM8974

Update the VoWLAN pcm id for MSM8974

CRs-fixed: 662362
Change-Id: Ia0894fa1347f05e55993af91da91272af3161f83
hal: Update EC support for HPF usecase

- Ensure reference device is set if audio is routed
to speaker/headset during HFP usecase.

Change-Id: Ia404aaa8ec8b80e9f4be14840dfef3bf9afef435
CRs-Fixed: 641513
hal: Permit device switch for primary output in a voip call

The device switch from speaker to earpiece or vice versa fails
during a QQ voip call. Currently, we use the same devices for
all usecases as that of voice/voip call and avoid switching the
same for other usecases when a voip/voice call is active. At
times, voip call has primary output which uses deep buffer path.
With current design in place, we do not permit device switch on
deep buffer path since voip call is active despite the rx on
primary output.
Do not select voip usecase devices if the output stream uses
primary output or in effect permit switching.

Change-Id: Ie61a7d7d8f27d55a393d173a724697045f66e1d6
CRs-Fixed: 685222
post_proc: Fix improper datatype of EQ preset band level value

unsigned int causes negative band level turn out to be extreme large
value, which results in EQ works abnormally due to unexpected parameter
sent.

Change-Id: I81120c604f4e9f23b25d5a45a7b0294fea63d207
CRs-Fixed: 696825
Merge remote-tracking branch 'cm/cm-11.0' into kk4.4