alsa_sound: Add support for custom LPA buffer size

 * On msm8930, during playback over A2DP with DSP Manager effects enabled,
   there's a lot of stuttering with the default buffer size. Stock kernel
   used a buffer size of 32, but that caused no audio at all in CM because
   of mismatch in buffer size between kernel and user space. So up until
   now I've been using a buffer size of 256 to get audio working at all,
   but unfortunately it causes stuttering as mentioned. Hence add support
   for a custom buffer size so we can revert to stock value used in kernel,
   and enjoy no stuttering.

Change-Id: I29113cee46d0adcc72a8c9c830e4c15d9fdd43dc
audio-caf: snd_use_case_apply_voice_acdb: initialise current_mod[]

Change-Id: I38fd1638e34f38e97e9e48a0ddf51bb31e3b10f8
Add Motorola EMU audio dock support

Motorola EMU audio dock (USB->USB charge/audio Y cable) support
can be enabled by BOARD_USES_MOTOROLA_EMU_AUDIO.

- add EMU Antipop mixer control handling
- add Dock Speaker device use case
- fix one missing QCOM_USBAUDIO_ENABLED ifdef

Change-Id: Ie67339b222252411d3c7c0aaea6493a0ff10fd18
Add HAVE_SAMSUNG_AUDIO check in Alsa

Change-Id: Ibaad5bf6006b4745fe26b85939bb556c0b2177ce
Fix building for 8974

Add the platform to the base filter, and initialize a variable when
reading EDID details that could cause evil memory accesses

Change-Id: I61955ca9280cc7c3357bf827e2e1269981fd5d6e
alsa_sound: Add support for separated speaker mic devices

* Some devices use a dedicated ambient mic for loudspeaker, and
  reject attempts at using DMIC for it even if regular earpiece
  mode uses it

Change-Id: I87201cb3ab81a345ac817c66ba35d22b075fcedc
alsa_sound: Fix camcorder input selection

Change I1ddc6460a91752fd7673d84fd41b70365d83d90c was supposed to
address camcorder during calls, and ended up forcing the main mic
for every other use case. Don't do that.

Change-Id: I4ecc11de57603ec12d2f60e408469f90ef3696b9
Add support for Moto X sound card

Change-Id: If537473d220ec43954aec3bfd04e881bf227e480
alsa_sound: Squash of commits dealing with CSD client

Squash of the following commits:

audio: conditionally restore session less CSD apis

commit c2e34a73f2ce198009448ac278848c7e1596e976 introduced session
id based CSD apis. As it is introduced in A8064AAAAANLYA161030A
and all our libcsd-client was released before that, older api is
selected by default.

lucky user with newer client can re-enabled it with
  BOARD_HAVE_NEW_QCOM_CSDCLIENT := true

Change-Id: Ia2f882095126efb239ef94f785cbcea4e379798e

alsa_sound: separate fast CSD call device switching from CSD sessions

* This was two separate commits from upstream, some devices may have
  support for CSD sessions but no support for the fast call switching
  functionality.

Change-Id: I4d082b875a299e47407fb5b2d0b7ac54eef5adfa
alsa_sound: Clean up makefiles

Change-Id: I3ef63259b4220d73d427ef6152c6d5ec7acf9f4c
alsa_sound: fix property_get parameter size

Change-Id: Ib02785370bb4e9196fe3ecf5c53abe074235cb56
alsa_sound: check against initial CALL_INVALID state

Change-Id: I5633da898112a2502715f00458b1bbd269393c65