sh: fix Transfer Size calculation in both DMA drivers
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Wed, 3 Feb 2010 14:44:12 +0000 (14:44 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 8 Feb 2010 00:40:24 +0000 (09:40 +0900)
commit623b4ac4bf9e767991c66e29b47dd4b19458fb42
tree9cf9c5ef8ac1ab714a35db1baf627fb701a98287
parentfc4618575f79eea062cdc51715040e40cd35b71c
sh: fix Transfer Size calculation in both DMA drivers

Both the original arch/sh/drivers/dma/dma-sh.c and the new SH dmaengine drivers
do not take into account bits 3:2 of the Transfer Size field in the CHCR
register, besides, bit-field defines set bit 2, but the mask only passes bits
1:0 through. TS_16BLK and TS_32BLK macros are bogus too. This patch fixes all
these issues for sh7722 and sh7724, other CPUs stay unchanged and might need to
be fixed too.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/drivers/dma/dma-sh.c
arch/sh/include/asm/dma-sh.h
arch/sh/include/cpu-sh3/cpu/dma.h
arch/sh/include/cpu-sh4/cpu/dma-sh4a.h
arch/sh/include/cpu-sh4/cpu/dma.h
drivers/dma/shdma.c