|
@@ -97,7 +97,7 @@ static int omap_pcm_hw_params(struct snd_pcm_substream *substream,
|
|
|
prtd->dma_data = dma_data;
|
|
|
err = omap_request_dma(dma_data->dma_req, dma_data->name,
|
|
|
omap_pcm_dma_irq, substream, &prtd->dma_ch);
|
|
|
- if (!cpu_is_omap1510()) {
|
|
|
+ if (!err & !cpu_is_omap1510()) {
|
|
|
/*
|
|
|
* Link channel with itself so DMA doesn't need any
|
|
|
* reprogramming while looping the buffer
|
|
@@ -147,12 +147,14 @@ static int omap_pcm_prepare(struct snd_pcm_substream *substream)
|
|
|
dma_params.src_or_dst_synch = OMAP_DMA_DST_SYNC;
|
|
|
dma_params.src_start = runtime->dma_addr;
|
|
|
dma_params.dst_start = dma_data->port_addr;
|
|
|
+ dma_params.dst_port = OMAP_DMA_PORT_MPUI;
|
|
|
} else {
|
|
|
dma_params.src_amode = OMAP_DMA_AMODE_CONSTANT;
|
|
|
dma_params.dst_amode = OMAP_DMA_AMODE_POST_INC;
|
|
|
dma_params.src_or_dst_synch = OMAP_DMA_SRC_SYNC;
|
|
|
dma_params.src_start = dma_data->port_addr;
|
|
|
dma_params.dst_start = runtime->dma_addr;
|
|
|
+ dma_params.src_port = OMAP_DMA_PORT_MPUI;
|
|
|
}
|
|
|
/*
|
|
|
* Set DMA transfer frame size equal to ALSA period size and frame
|