aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorTomoya MORINAGA <tomoya-linux@dsn.okisemi.com>2011-05-09 03:09:35 -0400
committerVinod Koul <vinod.koul@intel.com>2011-05-09 07:42:23 -0400
commitc8fcba600c46c5d7667ec230b1d9ce3ce5859f9c (patch)
tree65d37c132a9ddd26edbaff9dddb27cc9a3047058 /drivers/dma
parente257e1563f28890f54b5f82861373bb4b32dd770 (diff)
pch_dma: fix dma direction issue for ML7213 IOH video-in
Currently, even-channel number is set as tx direction and odd is set as rx. However, though video-in uses ch6, the direction is not tx but rx. This patch sets video-in's DMA direction correctly. Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/pch_dma.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c
index 6eebc6205c65..d28c47a42f14 100644
--- a/drivers/dma/pch_dma.c
+++ b/drivers/dma/pch_dma.c
@@ -478,7 +478,6 @@ static int pd_alloc_chan_resources(struct dma_chan *chan)
478 spin_unlock_bh(&pd_chan->lock); 478 spin_unlock_bh(&pd_chan->lock);
479 479
480 pdc_enable_irq(chan, 1); 480 pdc_enable_irq(chan, 1);
481 pdc_set_dir(chan);
482 481
483 return pd_chan->descs_allocated; 482 return pd_chan->descs_allocated;
484} 483}
@@ -561,6 +560,9 @@ static struct dma_async_tx_descriptor *pd_prep_slave_sg(struct dma_chan *chan,
561 else 560 else
562 return NULL; 561 return NULL;
563 562
563 pd_chan->dir = direction;
564 pdc_set_dir(chan);
565
564 for_each_sg(sgl, sg, sg_len, i) { 566 for_each_sg(sgl, sg, sg_len, i) {
565 desc = pdc_desc_get(pd_chan); 567 desc = pdc_desc_get(pd_chan);
566 568
@@ -850,8 +852,6 @@ static int __devinit pch_dma_probe(struct pci_dev *pdev,
850 852
851 pd_chan->membase = &regs->desc[i]; 853 pd_chan->membase = &regs->desc[i];
852 854
853 pd_chan->dir = (i % 2) ? DMA_FROM_DEVICE : DMA_TO_DEVICE;
854
855 spin_lock_init(&pd_chan->lock); 855 spin_lock_init(&pd_chan->lock);
856 856
857 INIT_LIST_HEAD(&pd_chan->active_list); 857 INIT_LIST_HEAD(&pd_chan->active_list);