dmaengine: ste_dma40: Convert data_width from register bit format to value
authorLee Jones <lee.jones@linaro.org>
Wed, 15 May 2013 09:51:57 +0000 (11:51 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 4 Jun 2013 09:12:09 +0000 (11:12 +0200)
commit43f2e1a3be5d83004f09bcb53c46f273e7473a00
treeaf13dad918da322ee4984925453dbe157731d790
parent16db3411ebd4777b0b1b7207b10730b726fb751c
dmaengine: ste_dma40: Convert data_width from register bit format to value

When a DMA client requests and configures a DMA channel, it requests
data_width in Bytes. The DMA40 driver then swiftly converts it over to
the necessary register bit value. Unfortunately, for any subsequent
calculations we have to shift '1' by the bit pattern (1 << data_width)
times to make any sense of it.

This patch flips the semantics on its head and only converts the value
to its respective register bit pattern when writing to registers. This
way we can use the true data_width (in Bytes) value.

Cc: Dan Williams <djbw@fb.com>
Cc: Per Forlin <per.forlin@stericsson.com>
Cc: Rabin Vincent <rabin@rab.in>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/dma/ste_dma40.c
drivers/dma/ste_dma40_ll.c
include/linux/platform_data/dma-ste-dma40.h
sound/soc/ux500/ux500_pcm.c