Messages in this thread Patch in this message | | | From | Viresh Kumar <> | Subject | [PATCH 2/3] dmaengine/dw_dmac: Set channel id's in controller driver | Date | Thu, 22 Sep 2011 16:13:13 +0530 |
| |
dw_dmac may conditionally add channels in reverse order inside channel list in struct dma_device. So, we must set chan_id's here and pass this to dmaengine, so that it doesn't override these values.
Signed-off-by: Viresh Kumar <viresh.kumar@st.com> --- drivers/dma/dw_dmac.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c index 3550042..e2c8e4e 100644 --- a/drivers/dma/dw_dmac.c +++ b/drivers/dma/dw_dmac.c @@ -1397,6 +1397,7 @@ static int __init dw_probe(struct platform_device *pdev) tasklet_init(&dw->tasklet, dw_dma_tasklet, (unsigned long)dw); dw->all_chan_mask = (1 << pdata->nr_channels) - 1; + dw->dma.chan_ids_set = true; INIT_LIST_HEAD(&dw->dma.channels); for (i = 0; i < pdata->nr_channels; i++) { @@ -1404,6 +1405,7 @@ static int __init dw_probe(struct platform_device *pdev) dwc->chan.device = &dw->dma; dwc->chan.cookie = dwc->completed = 1; + dwc->chan.chan_id = i; if (pdata->chan_allocation_order == CHAN_ALLOCATION_ASCENDING) list_add_tail(&dwc->chan.device_node, &dw->dma.channels); -- 1.7.2.2
| |