ASoC: compress - add support for metadata apis

Compress core added metadata apis in 9727b4, so add same in ASoC

Change-Id: I6924b192065814876a241a7ed02a0e9af40f7035
Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Krishnankutty Kolathappilly <kkolat@codeaurora.org>
ASoC: DPCM: make some DPCM API calls non static for compressed usage

Change-Id: I9dc2b00cfd36528c46516329253175e6f69f734e
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Krishnankutty Kolathappilly <kkolat@codeaurora.org>
ASoC: compress: Add suport for DPCM into compressed audio

Allow compressed audio streams to traverse the DAPM graph of DAIs
like PCM streams.

Change-Id: I15f227b73122071dfad106705a943199b679c273
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Krishnankutty Kolathappilly <kkolat@codeaurora.org>
ASoC: core: Update FE dpcm state to trigger BE routing

Ensure the FE dpcm runtime_update is set properly in order
to trigger BE open, prepare and start.

Change-Id: I809e6d5fdffac547ea9b67b178df4e59a752af87
Signed-off-by: Ravi Kumar Alamanda <ralama@codeaurora.org>
Signed-off-by: Eric Laurent <elaurent@google.com>
Signed-off-by: Krishnankutty Kolathappilly <kkolat@codeaurora.org>
ALSA: PCM - Add PCM creation API for internal PCMs.

The new ASoC dynamic PCM core needs to create PCMs and substreams that are
for use by internal ASoC drivers only and not visible to userspace for
direct IO. These new PCMs are similar to regular PCMs expect they have no
device nodes or procfs entries. The ASoC component drivers use them in exactly
the same way as regular PCMs for PCM and DAI operations.

The intention is that a dynamic PCM based driver will register both regular
PCMs and internal PCMs. The regular PCMs will be used for all IO with userspace
however the internal PCMs will be used by the driver to route digital audio
through numerous back end DAI links (with potentially a DSP providing different
hw_params, DAI formats based on the regular front end PCM params) to devices
like CODECs, MODEMs, Bluetooth, FM, DMICs, etc

This patch adds a new snd_pcm_new_internal() API call to create the internal PCM
without device nodes or procfs. It also adds adds a new internal flag to snd_pcm.

[fixed minor coding-style issues by tiwai]

Change-Id: Ic36945035a135278d3e7769fa8add4222853f605
Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Krishnankutty Kolathappilly <kkolat@codeaurora.org>