DMAENGINE: ste_dma40: interrupts only on dst
Jonas Aaberg [Sun, 20 Jun 2010 21:25:54 +0000 (21:25 +0000)]
We don't want interrupts when the source is done, only when
the destination is done and everything is complete at the
recieveing end of a transfer.

Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>

drivers/dma/ste_dma40.c
drivers/dma/ste_dma40_ll.c

index abbc1b6..aa098a6 100644 (file)
@@ -1759,7 +1759,7 @@ static struct dma_async_tx_descriptor *d40_prep_memcpy(struct dma_chan *chan,
                                 0,
                                 d40c->log_def.lcsp1,
                                 d40c->dma_cfg.src_info.data_width,
-                                true, true);
+                                false, true);
 
                d40_log_fill_lli(d40d->lli_log.dst,
                                 dst,
index e0194e4..772636b 100644 (file)
@@ -315,11 +315,8 @@ int d40_log_sg_to_dev(struct d40_lcla_elem *lcla,
        int total_size = 0;
        struct scatterlist *current_sg = sg;
        int i;
-       u32 next_lli_off_dst;
-       u32 next_lli_off_src;
-
-       next_lli_off_src = 0;
-       next_lli_off_dst = 0;
+       u32 next_lli_off_dst = 0;
+       u32 next_lli_off_src = 0;
 
        for_each_sg(sg, current_sg, sg_len, i) {
                total_size += sg_dma_len(current_sg);
@@ -351,7 +348,7 @@ int d40_log_sg_to_dev(struct d40_lcla_elem *lcla,
                                         sg_dma_len(current_sg),
                                         next_lli_off_src,
                                         lcsp->lcsp1, src_data_width,
-                                        term_int && !next_lli_off_src,
+                                        false,
                                         true);
                        d40_log_fill_lli(&lli->dst[i],
                                         dev_addr,
@@ -375,7 +372,7 @@ int d40_log_sg_to_dev(struct d40_lcla_elem *lcla,
                                         sg_dma_len(current_sg),
                                         next_lli_off_src,
                                         lcsp->lcsp1, src_data_width,
-                                        term_int && !next_lli_off_src,
+                                        false,
                                         false);
                }
        }