aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorPer Forlin <per.forlin@linaro.org>2011-08-02 11:33:39 -0400
committerFelipe Balbi <balbi@ti.com>2011-08-12 04:52:45 -0400
commitd366d39bab562545ccb4a5931d62d0fd9e6a8ffc (patch)
treeac33c6766924ab314e2c9ca62a2a79d68890c712 /drivers
parent93e098a8fc02c579875e64001f7a511b7e75a16c (diff)
usb: musb: ux500: set dma config for both src and dst
The dma driver requires both src and dst to be set. This fix is needed in order to run gadget mass storage. Patch is verified on snowball. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/musb/ux500_dma.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/usb/musb/ux500_dma.c b/drivers/usb/musb/ux500_dma.c
index cecace411832..23134754b7c0 100644
--- a/drivers/usb/musb/ux500_dma.c
+++ b/drivers/usb/musb/ux500_dma.c
@@ -133,15 +133,13 @@ static bool ux500_configure_channel(struct dma_channel *channel,
133 DMA_SLAVE_BUSWIDTH_4_BYTES; 133 DMA_SLAVE_BUSWIDTH_4_BYTES;
134 134
135 slave_conf.direction = direction; 135 slave_conf.direction = direction;
136 if (direction == DMA_FROM_DEVICE) { 136 slave_conf.src_addr = usb_fifo_addr;
137 slave_conf.src_addr = usb_fifo_addr; 137 slave_conf.src_addr_width = addr_width;
138 slave_conf.src_addr_width = addr_width; 138 slave_conf.src_maxburst = 16;
139 slave_conf.src_maxburst = 16; 139 slave_conf.dst_addr = usb_fifo_addr;
140 } else { 140 slave_conf.dst_addr_width = addr_width;
141 slave_conf.dst_addr = usb_fifo_addr; 141 slave_conf.dst_maxburst = 16;
142 slave_conf.dst_addr_width = addr_width; 142
143 slave_conf.dst_maxburst = 16;
144 }
145 dma_chan->device->device_control(dma_chan, DMA_SLAVE_CONFIG, 143 dma_chan->device->device_control(dma_chan, DMA_SLAVE_CONFIG,
146 (unsigned long) &slave_conf); 144 (unsigned long) &slave_conf);
147 145