ASoC: OMAP: Add checking to detect bufferless pcms
Add checking in hw_params and prepare to detect bufferless pcms(i.e. BT <--> codec). Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
b75576d76d
commit
1b4246a1fc
@ -87,8 +87,10 @@ static int omap_pcm_hw_params(struct snd_pcm_substream *substream,
|
|||||||
struct omap_pcm_dma_data *dma_data = rtd->dai->cpu_dai->dma_data;
|
struct omap_pcm_dma_data *dma_data = rtd->dai->cpu_dai->dma_data;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
|
/* return if this is a bufferless transfer e.g.
|
||||||
|
* codec <--> BT codec or GSM modem -- lg FIXME */
|
||||||
if (!dma_data)
|
if (!dma_data)
|
||||||
return -ENODEV;
|
return 0;
|
||||||
|
|
||||||
snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer);
|
snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer);
|
||||||
runtime->dma_bytes = params_buffer_bytes(params);
|
runtime->dma_bytes = params_buffer_bytes(params);
|
||||||
@ -134,6 +136,11 @@ static int omap_pcm_prepare(struct snd_pcm_substream *substream)
|
|||||||
struct omap_pcm_dma_data *dma_data = prtd->dma_data;
|
struct omap_pcm_dma_data *dma_data = prtd->dma_data;
|
||||||
struct omap_dma_channel_params dma_params;
|
struct omap_dma_channel_params dma_params;
|
||||||
|
|
||||||
|
/* return if this is a bufferless transfer e.g.
|
||||||
|
* codec <--> BT codec or GSM modem -- lg FIXME */
|
||||||
|
if (!prtd->dma_data)
|
||||||
|
return 0;
|
||||||
|
|
||||||
memset(&dma_params, 0, sizeof(dma_params));
|
memset(&dma_params, 0, sizeof(dma_params));
|
||||||
/*
|
/*
|
||||||
* Note: Regardless of interface data formats supported by OMAP McBSP
|
* Note: Regardless of interface data formats supported by OMAP McBSP
|
||||||
|
Loading…
x
Reference in New Issue
Block a user