aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/davinci
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/davinci')
-rw-r--r--sound/soc/davinci/davinci-i2s.c10
-rw-r--r--sound/soc/davinci/davinci-mcasp.c6
-rw-r--r--sound/soc/davinci/davinci-pcm.c5
-rw-r--r--sound/soc/davinci/davinci-pcm.h3
4 files changed, 19 insertions, 5 deletions
diff --git a/sound/soc/davinci/davinci-i2s.c b/sound/soc/davinci/davinci-i2s.c
index b251bc9a981..9e8932abf15 100644
--- a/sound/soc/davinci/davinci-i2s.c
+++ b/sound/soc/davinci/davinci-i2s.c
@@ -648,6 +648,8 @@ static int davinci_i2s_probe(struct platform_device *pdev)
648 struct snd_platform_data *pdata = pdev->dev.platform_data; 648 struct snd_platform_data *pdata = pdev->dev.platform_data;
649 struct davinci_mcbsp_dev *dev; 649 struct davinci_mcbsp_dev *dev;
650 struct resource *mem, *ioarea, *res; 650 struct resource *mem, *ioarea, *res;
651 enum dma_event_q asp_chan_q = EVENTQ_0;
652 enum dma_event_q ram_chan_q = EVENTQ_1;
651 int ret; 653 int ret;
652 654
653 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 655 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -676,7 +678,15 @@ static int davinci_i2s_probe(struct platform_device *pdev)
676 pdata->sram_size_capture; 678 pdata->sram_size_capture;
677 dev->clk_input_pin = pdata->clk_input_pin; 679 dev->clk_input_pin = pdata->clk_input_pin;
678 dev->i2s_accurate_sck = pdata->i2s_accurate_sck; 680 dev->i2s_accurate_sck = pdata->i2s_accurate_sck;
681 asp_chan_q = pdata->asp_chan_q;
682 ram_chan_q = pdata->ram_chan_q;
679 } 683 }
684
685 dev->dma_params[SNDRV_PCM_STREAM_PLAYBACK].asp_chan_q = asp_chan_q;
686 dev->dma_params[SNDRV_PCM_STREAM_PLAYBACK].ram_chan_q = ram_chan_q;
687 dev->dma_params[SNDRV_PCM_STREAM_CAPTURE].asp_chan_q = asp_chan_q;
688 dev->dma_params[SNDRV_PCM_STREAM_CAPTURE].ram_chan_q = ram_chan_q;
689
680 dev->clk = clk_get(&pdev->dev, NULL); 690 dev->clk = clk_get(&pdev->dev, NULL);
681 if (IS_ERR(dev->clk)) { 691 if (IS_ERR(dev->clk)) {
682 ret = -ENODEV; 692 ret = -ENODEV;
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index d3955096d87..b24720894af 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -890,7 +890,8 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
890 dev->rxnumevt = pdata->rxnumevt; 890 dev->rxnumevt = pdata->rxnumevt;
891 891
892 dma_data = &dev->dma_params[SNDRV_PCM_STREAM_PLAYBACK]; 892 dma_data = &dev->dma_params[SNDRV_PCM_STREAM_PLAYBACK];
893 dma_data->eventq_no = pdata->eventq_no; 893 dma_data->asp_chan_q = pdata->asp_chan_q;
894 dma_data->ram_chan_q = pdata->ram_chan_q;
894 dma_data->dma_addr = (dma_addr_t) (pdata->tx_dma_offset + 895 dma_data->dma_addr = (dma_addr_t) (pdata->tx_dma_offset +
895 io_v2p(dev->base)); 896 io_v2p(dev->base));
896 897
@@ -904,7 +905,8 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
904 dma_data->channel = res->start; 905 dma_data->channel = res->start;
905 906
906 dma_data = &dev->dma_params[SNDRV_PCM_STREAM_CAPTURE]; 907 dma_data = &dev->dma_params[SNDRV_PCM_STREAM_CAPTURE];
907 dma_data->eventq_no = pdata->eventq_no; 908 dma_data->asp_chan_q = pdata->asp_chan_q;
909 dma_data->ram_chan_q = pdata->ram_chan_q;
908 dma_data->dma_addr = (dma_addr_t)(pdata->rx_dma_offset + 910 dma_data->dma_addr = (dma_addr_t)(pdata->rx_dma_offset +
909 io_v2p(dev->base)); 911 io_v2p(dev->base));
910 912
diff --git a/sound/soc/davinci/davinci-pcm.c b/sound/soc/davinci/davinci-pcm.c
index def454e42fc..a7124116d2e 100644
--- a/sound/soc/davinci/davinci-pcm.c
+++ b/sound/soc/davinci/davinci-pcm.c
@@ -381,7 +381,7 @@ static int request_ping_pong(struct snd_pcm_substream *substream,
381 /* Request ram master channel */ 381 /* Request ram master channel */
382 link = prtd->ram_channel = edma_alloc_channel(EDMA_CHANNEL_ANY, 382 link = prtd->ram_channel = edma_alloc_channel(EDMA_CHANNEL_ANY,
383 davinci_pcm_dma_irq, substream, 383 davinci_pcm_dma_irq, substream,
384 EVENTQ_1); 384 prtd->params->ram_chan_q);
385 if (link < 0) 385 if (link < 0)
386 goto exit1; 386 goto exit1;
387 387
@@ -477,7 +477,8 @@ static int davinci_pcm_dma_request(struct snd_pcm_substream *substream)
477 477
478 /* Request asp master DMA channel */ 478 /* Request asp master DMA channel */
479 link = prtd->asp_channel = edma_alloc_channel(params->channel, 479 link = prtd->asp_channel = edma_alloc_channel(params->channel,
480 davinci_pcm_dma_irq, substream, EVENTQ_0); 480 davinci_pcm_dma_irq, substream,
481 prtd->params->asp_chan_q);
481 if (link < 0) 482 if (link < 0)
482 goto exit1; 483 goto exit1;
483 484
diff --git a/sound/soc/davinci/davinci-pcm.h b/sound/soc/davinci/davinci-pcm.h
index 0764944cf10..b799a02333d 100644
--- a/sound/soc/davinci/davinci-pcm.h
+++ b/sound/soc/davinci/davinci-pcm.h
@@ -21,7 +21,8 @@ struct davinci_pcm_dma_params {
21 unsigned short acnt; 21 unsigned short acnt;
22 dma_addr_t dma_addr; /* device physical address for DMA */ 22 dma_addr_t dma_addr; /* device physical address for DMA */
23 unsigned sram_size; 23 unsigned sram_size;
24 enum dma_event_q eventq_no; /* event queue number */ 24 enum dma_event_q asp_chan_q; /* event queue number for ASP channel */
25 enum dma_event_q ram_chan_q; /* event queue number for RAM channel */
25 unsigned char data_type; /* xfer data type */ 26 unsigned char data_type; /* xfer data type */
26 unsigned char convert_mono_stereo; 27 unsigned char convert_mono_stereo;
27 unsigned int fifo_level; 28 unsigned int fifo_level;