From: Per Forlin per.forlin@linaro.org
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 --- drivers/usb/musb/ux500_dma.c | 16 +++++++--------- 1 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/drivers/usb/musb/ux500_dma.c b/drivers/usb/musb/ux500_dma.c index cecace4..2313475 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, DMA_SLAVE_BUSWIDTH_4_BYTES;
slave_conf.direction = direction; - if (direction == DMA_FROM_DEVICE) { - slave_conf.src_addr = usb_fifo_addr; - slave_conf.src_addr_width = addr_width; - slave_conf.src_maxburst = 16; - } else { - slave_conf.dst_addr = usb_fifo_addr; - slave_conf.dst_addr_width = addr_width; - slave_conf.dst_maxburst = 16; - } + slave_conf.src_addr = usb_fifo_addr; + slave_conf.src_addr_width = addr_width; + slave_conf.src_maxburst = 16; + slave_conf.dst_addr = usb_fifo_addr; + slave_conf.dst_addr_width = addr_width; + slave_conf.dst_maxburst = 16; + dma_chan->device->device_control(dma_chan, DMA_SLAVE_CONFIG, (unsigned long) &slave_conf);
On 08/02/2011 05:33 PM, Per FORLIN wrote:
From: Per Forlinper.forlin@linaro.org
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 Forlinper.forlin@linaro.org
drivers/usb/musb/ux500_dma.c | 16 +++++++--------- 1 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/drivers/usb/musb/ux500_dma.c b/drivers/usb/musb/ux500_dma.c index cecace4..2313475 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, DMA_SLAVE_BUSWIDTH_4_BYTES;
slave_conf.direction = direction;
- if (direction == DMA_FROM_DEVICE) {
slave_conf.src_addr = usb_fifo_addr;
slave_conf.src_addr_width = addr_width;
slave_conf.src_maxburst = 16;
- } else {
slave_conf.dst_addr = usb_fifo_addr;
slave_conf.dst_addr_width = addr_width;
slave_conf.dst_maxburst = 16;
- }
- slave_conf.src_addr = usb_fifo_addr;
- slave_conf.src_addr_width = addr_width;
- slave_conf.src_maxburst = 16;
- slave_conf.dst_addr = usb_fifo_addr;
- slave_conf.dst_addr_width = addr_width;
- slave_conf.dst_maxburst = 16;
- dma_chan->device->device_control(dma_chan, DMA_SLAVE_CONFIG, (unsigned long)&slave_conf);
Acked-by: Mian Yousaf Kaukab mian.yousaf.kaukab@stericsson.com
Thanks,
On Tue, Aug 2, 2011 at 5:33 PM, Per Forlin per.forlin@stericsson.com wrote:
From: Per Forlin per.forlin@linaro.org
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: Linus Walleij linus.walleij@linaro.org
Thanks, Linus Walleij
On Tue, Aug 02, 2011 at 05:33:39PM +0200, Per Forlin wrote:
From: Per Forlin per.forlin@linaro.org
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
applied, thanks
On Tue, Aug 02, 2011 at 05:33:39PM +0200, Per Forlin wrote:
From: Per Forlin per.forlin@linaro.org
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
should this go for stable too ??
On 3 August 2011 15:31, Felipe Balbi balbi@ti.com wrote:
On Tue, Aug 02, 2011 at 05:33:39PM +0200, Per Forlin wrote:
From: Per Forlin per.forlin@linaro.org
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
should this go for stable too ??
Short answer no.
Reason: I ran into this bug when applying upcoming dma driver patches. Adding this patch now will makes sure the musb driver works when the dma driver is updated.. Up until now the dma driver only use the peripheral end point configuration and set it for both src and dst. Upcoming patches (not sure if they are submitted yet) will allow src and dst to be different therefore the client must set both.
-- balbi
On Wed, Aug 03, 2011 at 03:53:10PM +0200, Per Forlin wrote:
On 3 August 2011 15:31, Felipe Balbi balbi@ti.com wrote:
On Tue, Aug 02, 2011 at 05:33:39PM +0200, Per Forlin wrote:
From: Per Forlin per.forlin@linaro.org
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
should this go for stable too ??
Short answer no.
Reason: I ran into this bug when applying upcoming dma driver patches. Adding this patch now will makes sure the musb driver works when the dma driver is updated.. Up until now the dma driver only use the peripheral end point configuration and set it for both src and dst. Upcoming patches (not sure if they are submitted yet) will allow src and dst to be different therefore the client must set both.
ok, good ;-)