dmaengine: at_hdmac: fix buffer transfer size specification
authorNicolas Ferre <nicolas.ferre@atmel.com>
Mon, 13 Dec 2010 12:48:41 +0000 (13:48 +0100)
committerDan Williams <dan.j.williams@intel.com>
Tue, 14 Dec 2010 08:39:29 +0000 (00:39 -0800)
Buffer transfer size is the number of transfers to be performed in
relation with the width of the _source_ interface.
So in the DMA_FROM_DEVICE case, it should be the register width that
should be taken into account.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/at_hdmac.c

index a0f3e6a06e06532b3701ade73b110d823eec591f..ea0ee81cff53e266643140eb752ef3ba26289c6a 100644 (file)
@@ -722,7 +722,7 @@ atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
                        desc->lli.daddr = mem;
                        desc->lli.ctrla = ctrla
                                        | ATC_DST_WIDTH(mem_width)
-                                       | len >> mem_width;
+                                       | len >> reg_width;
                        desc->lli.ctrlb = ctrlb;
 
                        if (!first) {