.num_serializer = ARRAY_SIZE(da830_iis_serializer_direction),
        .tdm_slots      = 2,
        .serial_dir     = da830_iis_serializer_direction,
-       .eventq_no      = EVENTQ_0,
+       .asp_chan_q     = EVENTQ_0,
        .version        = MCASP_VERSION_2,
        .txnumevt       = 1,
        .rxnumevt       = 1,
 
        .num_serializer = ARRAY_SIZE(da850_iis_serializer_direction),
        .tdm_slots      = 2,
        .serial_dir     = da850_iis_serializer_direction,
-       .eventq_no      = EVENTQ_1,
+       .asp_chan_q     = EVENTQ_1,
        .version        = MCASP_VERSION_2,
        .txnumevt       = 1,
        .rxnumevt       = 1,
 
                .num_serializer = ARRAY_SIZE(dm646x_iis_serializer_direction),
                .tdm_slots      = 2,
                .serial_dir     = dm646x_iis_serializer_direction,
-               .eventq_no      = EVENTQ_0,
+               .asp_chan_q     = EVENTQ_0,
        },
        {
                .tx_dma_offset  = 0x400,
                .num_serializer = ARRAY_SIZE(dm646x_dit_serializer_direction),
                .tdm_slots      = 32,
                .serial_dir     = dm646x_dit_serializer_direction,
-               .eventq_no      = EVENTQ_0,
+               .asp_chan_q     = EVENTQ_0,
        },
 };
 
 
 struct snd_platform_data {
        u32 tx_dma_offset;
        u32 rx_dma_offset;
-       enum dma_event_q eventq_no;     /* event queue number */
+       enum dma_event_q asp_chan_q;    /* event queue number for ASP channel */
+       enum dma_event_q ram_chan_q;    /* event queue number for RAM channel */
        unsigned int codec_fmt;
        /*
         * Allowing this is more efficient and eliminates left and right swaps
 
        struct snd_platform_data *pdata = pdev->dev.platform_data;
        struct davinci_mcbsp_dev *dev;
        struct resource *mem, *ioarea, *res;
+       enum dma_event_q asp_chan_q = EVENTQ_0;
+       enum dma_event_q ram_chan_q = EVENTQ_1;
        int ret;
 
        mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
                        pdata->sram_size_capture;
                dev->clk_input_pin = pdata->clk_input_pin;
                dev->i2s_accurate_sck = pdata->i2s_accurate_sck;
+               asp_chan_q = pdata->asp_chan_q;
+               ram_chan_q = pdata->ram_chan_q;
        }
+
+       dev->dma_params[SNDRV_PCM_STREAM_PLAYBACK].asp_chan_q   = asp_chan_q;
+       dev->dma_params[SNDRV_PCM_STREAM_PLAYBACK].ram_chan_q   = ram_chan_q;
+       dev->dma_params[SNDRV_PCM_STREAM_CAPTURE].asp_chan_q    = asp_chan_q;
+       dev->dma_params[SNDRV_PCM_STREAM_CAPTURE].ram_chan_q    = ram_chan_q;
+
        dev->clk = clk_get(&pdev->dev, NULL);
        if (IS_ERR(dev->clk)) {
                ret = -ENODEV;
 
        dev->rxnumevt = pdata->rxnumevt;
 
        dma_data = &dev->dma_params[SNDRV_PCM_STREAM_PLAYBACK];
-       dma_data->eventq_no = pdata->eventq_no;
+       dma_data->asp_chan_q = pdata->asp_chan_q;
+       dma_data->ram_chan_q = pdata->ram_chan_q;
        dma_data->dma_addr = (dma_addr_t) (pdata->tx_dma_offset +
                                                        io_v2p(dev->base));
 
        dma_data->channel = res->start;
 
        dma_data = &dev->dma_params[SNDRV_PCM_STREAM_CAPTURE];
-       dma_data->eventq_no = pdata->eventq_no;
+       dma_data->asp_chan_q = pdata->asp_chan_q;
+       dma_data->ram_chan_q = pdata->ram_chan_q;
        dma_data->dma_addr = (dma_addr_t)(pdata->rx_dma_offset +
                                                        io_v2p(dev->base));
 
 
        /* Request ram master channel */
        link = prtd->ram_channel = edma_alloc_channel(EDMA_CHANNEL_ANY,
                                  davinci_pcm_dma_irq, substream,
-                                 EVENTQ_1);
+                                 prtd->params->ram_chan_q);
        if (link < 0)
                goto exit1;
 
 
        /* Request asp master DMA channel */
        link = prtd->asp_channel = edma_alloc_channel(params->channel,
-                       davinci_pcm_dma_irq, substream, EVENTQ_0);
+                       davinci_pcm_dma_irq, substream,
+                       prtd->params->asp_chan_q);
        if (link < 0)
                goto exit1;
 
 
        unsigned short acnt;
        dma_addr_t dma_addr;            /* device physical address for DMA */
        unsigned sram_size;
-       enum dma_event_q eventq_no;     /* event queue number */
+       enum dma_event_q asp_chan_q;    /* event queue number for ASP channel */
+       enum dma_event_q ram_chan_q;    /* event queue number for RAM channel */
        unsigned char data_type;        /* xfer data type */
        unsigned char convert_mono_stereo;
        unsigned int fifo_level;