diff options
author | Liam Girdwood <lrg@ti.com> | 2011-12-12 20:31:08 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2011-12-26 22:31:39 +0800 |
commit | fa30184cc7050d118cea812d5a1f9fd8f92343c1 (patch) | |
tree | 38dbfa792973444c3310e8bcf7287838c1c40151 /sound/core/pcm_lib.c | |
parent | c28b59f83db1757243d7d2eecd5b350c5ef53bf8 (diff) |
ALSA: pcm - add support for hostless audio
Allow some PCM devices to be hostless, i.e. there is no PCM data transferred
to or from the host CPU. This can be used to minimise power on systems since
the CPU can idle/sleep during the PCM device operation (e.g. a phone call
where the DAI is between a MODEM and DSP)
TODO: cleanup, look at adding a read/write blocker.
Singed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/core/pcm_lib.c')
-rw-r--r-- | sound/core/pcm_lib.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index cfadbb6a879..2aebe5eea98 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c @@ -1993,6 +1993,9 @@ static int pcm_sanity_check(struct snd_pcm_substream *substream) struct snd_pcm_runtime *runtime; if (PCM_RUNTIME_CHECK(substream)) return -ENXIO; + /* TODO: consider and -EINVAL here */ + if (substream->hw_no_buffer) + snd_printd("%s: warning this PCM is host less\n", __func__); runtime = substream->runtime; if (snd_BUG_ON(!substream->ops->copy && !runtime->dma_area)) return -EINVAL; |