usb: musb: clean up commit 'workaround Blackfin FIFO anomalies'
The version applied had a few comments which are now done. Thanks to Sergei for pointing out. Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
565969237a
commit
1ca9e9ca31
|
@ -30,7 +30,6 @@ void musb_write_fifo(struct musb_hw_ep *hw_ep, u16 len, const u8 *src)
|
||||||
void __iomem *fifo = hw_ep->fifo;
|
void __iomem *fifo = hw_ep->fifo;
|
||||||
void __iomem *epio = hw_ep->regs;
|
void __iomem *epio = hw_ep->regs;
|
||||||
u8 epnum = hw_ep->epnum;
|
u8 epnum = hw_ep->epnum;
|
||||||
u16 dma_reg = 0;
|
|
||||||
|
|
||||||
prefetch((u8 *)src);
|
prefetch((u8 *)src);
|
||||||
|
|
||||||
|
@ -42,15 +41,17 @@ void musb_write_fifo(struct musb_hw_ep *hw_ep, u16 len, const u8 *src)
|
||||||
dump_fifo_data(src, len);
|
dump_fifo_data(src, len);
|
||||||
|
|
||||||
if (!ANOMALY_05000380 && epnum != 0) {
|
if (!ANOMALY_05000380 && epnum != 0) {
|
||||||
flush_dcache_range((unsigned int)src,
|
u16 dma_reg;
|
||||||
(unsigned int)(src + len));
|
|
||||||
|
flush_dcache_range((unsigned long)src,
|
||||||
|
(unsigned long)(src + len));
|
||||||
|
|
||||||
/* Setup DMA address register */
|
/* Setup DMA address register */
|
||||||
dma_reg = (u16) ((u32) src & 0xFFFF);
|
dma_reg = (u32)src;
|
||||||
bfin_write16(USB_DMA_REG(epnum, USB_DMAx_ADDR_LOW), dma_reg);
|
bfin_write16(USB_DMA_REG(epnum, USB_DMAx_ADDR_LOW), dma_reg);
|
||||||
SSYNC();
|
SSYNC();
|
||||||
|
|
||||||
dma_reg = (u16) (((u32) src >> 16) & 0xFFFF);
|
dma_reg = (u32)src >> 16;
|
||||||
bfin_write16(USB_DMA_REG(epnum, USB_DMAx_ADDR_HIGH), dma_reg);
|
bfin_write16(USB_DMA_REG(epnum, USB_DMAx_ADDR_HIGH), dma_reg);
|
||||||
SSYNC();
|
SSYNC();
|
||||||
|
|
||||||
|
@ -79,12 +80,9 @@ void musb_write_fifo(struct musb_hw_ep *hw_ep, u16 len, const u8 *src)
|
||||||
SSYNC();
|
SSYNC();
|
||||||
|
|
||||||
if (unlikely((unsigned long)src & 0x01))
|
if (unlikely((unsigned long)src & 0x01))
|
||||||
outsw_8((unsigned long)fifo, src,
|
outsw_8((unsigned long)fifo, src, (len + 1) >> 1);
|
||||||
len & 0x01 ? (len >> 1) + 1 : len >> 1);
|
|
||||||
else
|
else
|
||||||
outsw((unsigned long)fifo, src,
|
outsw((unsigned long)fifo, src, (len + 1) >> 1);
|
||||||
len & 0x01 ? (len >> 1) + 1 : len >> 1);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
@ -94,19 +92,19 @@ void musb_read_fifo(struct musb_hw_ep *hw_ep, u16 len, u8 *dst)
|
||||||
{
|
{
|
||||||
void __iomem *fifo = hw_ep->fifo;
|
void __iomem *fifo = hw_ep->fifo;
|
||||||
u8 epnum = hw_ep->epnum;
|
u8 epnum = hw_ep->epnum;
|
||||||
u16 dma_reg = 0;
|
|
||||||
|
|
||||||
if (ANOMALY_05000467 && epnum != 0) {
|
if (ANOMALY_05000467 && epnum != 0) {
|
||||||
|
u16 dma_reg;
|
||||||
|
|
||||||
invalidate_dcache_range((unsigned int)dst,
|
invalidate_dcache_range((unsigned long)dst,
|
||||||
(unsigned int)(dst + len));
|
(unsigned long)(dst + len));
|
||||||
|
|
||||||
/* Setup DMA address register */
|
/* Setup DMA address register */
|
||||||
dma_reg = (u16) ((u32) dst & 0xFFFF);
|
dma_reg = (u32)dst;
|
||||||
bfin_write16(USB_DMA_REG(epnum, USB_DMAx_ADDR_LOW), dma_reg);
|
bfin_write16(USB_DMA_REG(epnum, USB_DMAx_ADDR_LOW), dma_reg);
|
||||||
SSYNC();
|
SSYNC();
|
||||||
|
|
||||||
dma_reg = (u16) (((u32) dst >> 16) & 0xFFFF);
|
dma_reg = (u32)dst >> 16;
|
||||||
bfin_write16(USB_DMA_REG(epnum, USB_DMAx_ADDR_HIGH), dma_reg);
|
bfin_write16(USB_DMA_REG(epnum, USB_DMAx_ADDR_HIGH), dma_reg);
|
||||||
SSYNC();
|
SSYNC();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue