Loading drivers/usb/gadget/f_phonet.c +1 −0 Original line number Diff line number Diff line Loading @@ -434,6 +434,7 @@ static int pn_set_alt(struct usb_function *f, unsigned intf, unsigned alt) config_ep_by_speed(gadget, f, fp->out_ep)) { fp->in_ep->desc = NULL; fp->out_ep->desc = NULL; spin_unlock(&port->lock); return -EINVAL; } usb_ep_enable(fp->out_ep); Loading drivers/usb/musb/blackfin.c +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <linux/io.h> #include <linux/platform_device.h> #include <linux/dma-mapping.h> #include <linux/prefetch.h> #include <asm/cacheflush.h> Loading drivers/usb/musb/cppi_dma.c +17 −9 Original line number Diff line number Diff line Loading @@ -226,8 +226,10 @@ static int cppi_controller_stop(struct dma_controller *c) struct cppi *controller; void __iomem *tibase; int i; struct musb *musb; controller = container_of(c, struct cppi, controller); musb = controller->musb; tibase = controller->tibase; /* DISABLE INDIVIDUAL CHANNEL Interrupts */ Loading Loading @@ -289,9 +291,11 @@ cppi_channel_allocate(struct dma_controller *c, u8 index; struct cppi_channel *cppi_ch; void __iomem *tibase; struct musb *musb; controller = container_of(c, struct cppi, controller); tibase = controller->tibase; musb = controller->musb; /* ep0 doesn't use DMA; remember cppi indices are 0..N-1 */ index = ep->epnum - 1; Loading Loading @@ -339,7 +343,8 @@ static void cppi_channel_release(struct dma_channel *channel) c = container_of(channel, struct cppi_channel, channel); tibase = c->controller->tibase; if (!c->hw_ep) dev_dbg(musb->controller, "releasing idle DMA channel %p\n", c); dev_dbg(c->controller->musb->controller, "releasing idle DMA channel %p\n", c); else if (!c->transmit) core_rxirq_enable(tibase, c->index + 1); Loading @@ -357,7 +362,8 @@ cppi_dump_rx(int level, struct cppi_channel *c, const char *tag) musb_ep_select(base, c->index + 1); DBG(level, "RX DMA%d%s: %d left, csr %04x, " dev_dbg(c->controller->musb->controller, "RX DMA%d%s: %d left, csr %04x, " "%08x H%08x S%08x C%08x, " "B%08x L%08x %08x .. %08x" "\n", Loading Loading @@ -387,7 +393,8 @@ cppi_dump_tx(int level, struct cppi_channel *c, const char *tag) musb_ep_select(base, c->index + 1); DBG(level, "TX DMA%d%s: csr %04x, " dev_dbg(c->controller->musb->controller, "TX DMA%d%s: csr %04x, " "H%08x S%08x C%08x %08x, " "F%08x L%08x .. %08x" "\n", Loading Loading @@ -1022,6 +1029,7 @@ static bool cppi_rx_scan(struct cppi *cppi, unsigned ch) int i; dma_addr_t safe2ack; void __iomem *regs = rx->hw_ep->regs; struct musb *musb = cppi->musb; cppi_dump_rx(6, rx, "/K"); Loading drivers/usb/musb/musb_core.h +8 −4 Original line number Diff line number Diff line Loading @@ -172,7 +172,8 @@ enum musb_g_ep0_state { #endif /* TUSB mapping: "flat" plus ep0 special cases */ #if defined(CONFIG_USB_MUSB_TUSB6010) #if defined(CONFIG_USB_MUSB_TUSB6010) || \ defined(CONFIG_USB_MUSB_TUSB6010_MODULE) #define musb_ep_select(_mbase, _epnum) \ musb_writeb((_mbase), MUSB_INDEX, (_epnum)) #define MUSB_EP_OFFSET MUSB_TUSB_OFFSET Loading Loading @@ -241,7 +242,8 @@ struct musb_hw_ep { void __iomem *fifo; void __iomem *regs; #ifdef CONFIG_USB_MUSB_TUSB6010 #if defined(CONFIG_USB_MUSB_TUSB6010) || \ defined(CONFIG_USB_MUSB_TUSB6010_MODULE) void __iomem *conf; #endif Loading @@ -258,7 +260,8 @@ struct musb_hw_ep { struct dma_channel *tx_channel; struct dma_channel *rx_channel; #ifdef CONFIG_USB_MUSB_TUSB6010 #if defined(CONFIG_USB_MUSB_TUSB6010) || \ defined(CONFIG_USB_MUSB_TUSB6010_MODULE) /* TUSB has "asynchronous" and "synchronous" dma modes */ dma_addr_t fifo_async; dma_addr_t fifo_sync; Loading Loading @@ -356,7 +359,8 @@ struct musb { void __iomem *ctrl_base; void __iomem *mregs; #ifdef CONFIG_USB_MUSB_TUSB6010 #if defined(CONFIG_USB_MUSB_TUSB6010) || \ defined(CONFIG_USB_MUSB_TUSB6010_MODULE) dma_addr_t async; dma_addr_t sync; void __iomem *sync_va; Loading drivers/usb/musb/musb_gadget.c +3 −1 Original line number Diff line number Diff line Loading @@ -1856,6 +1856,7 @@ int __init musb_gadget_setup(struct musb *musb) return 0; err: musb->g.dev.parent = NULL; device_unregister(&musb->g.dev); return status; } Loading @@ -1863,6 +1864,7 @@ err: void musb_gadget_cleanup(struct musb *musb) { usb_del_gadget_udc(&musb->g); if (musb->g.dev.parent) device_unregister(&musb->g.dev); } Loading Loading
drivers/usb/gadget/f_phonet.c +1 −0 Original line number Diff line number Diff line Loading @@ -434,6 +434,7 @@ static int pn_set_alt(struct usb_function *f, unsigned intf, unsigned alt) config_ep_by_speed(gadget, f, fp->out_ep)) { fp->in_ep->desc = NULL; fp->out_ep->desc = NULL; spin_unlock(&port->lock); return -EINVAL; } usb_ep_enable(fp->out_ep); Loading
drivers/usb/musb/blackfin.c +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <linux/io.h> #include <linux/platform_device.h> #include <linux/dma-mapping.h> #include <linux/prefetch.h> #include <asm/cacheflush.h> Loading
drivers/usb/musb/cppi_dma.c +17 −9 Original line number Diff line number Diff line Loading @@ -226,8 +226,10 @@ static int cppi_controller_stop(struct dma_controller *c) struct cppi *controller; void __iomem *tibase; int i; struct musb *musb; controller = container_of(c, struct cppi, controller); musb = controller->musb; tibase = controller->tibase; /* DISABLE INDIVIDUAL CHANNEL Interrupts */ Loading Loading @@ -289,9 +291,11 @@ cppi_channel_allocate(struct dma_controller *c, u8 index; struct cppi_channel *cppi_ch; void __iomem *tibase; struct musb *musb; controller = container_of(c, struct cppi, controller); tibase = controller->tibase; musb = controller->musb; /* ep0 doesn't use DMA; remember cppi indices are 0..N-1 */ index = ep->epnum - 1; Loading Loading @@ -339,7 +343,8 @@ static void cppi_channel_release(struct dma_channel *channel) c = container_of(channel, struct cppi_channel, channel); tibase = c->controller->tibase; if (!c->hw_ep) dev_dbg(musb->controller, "releasing idle DMA channel %p\n", c); dev_dbg(c->controller->musb->controller, "releasing idle DMA channel %p\n", c); else if (!c->transmit) core_rxirq_enable(tibase, c->index + 1); Loading @@ -357,7 +362,8 @@ cppi_dump_rx(int level, struct cppi_channel *c, const char *tag) musb_ep_select(base, c->index + 1); DBG(level, "RX DMA%d%s: %d left, csr %04x, " dev_dbg(c->controller->musb->controller, "RX DMA%d%s: %d left, csr %04x, " "%08x H%08x S%08x C%08x, " "B%08x L%08x %08x .. %08x" "\n", Loading Loading @@ -387,7 +393,8 @@ cppi_dump_tx(int level, struct cppi_channel *c, const char *tag) musb_ep_select(base, c->index + 1); DBG(level, "TX DMA%d%s: csr %04x, " dev_dbg(c->controller->musb->controller, "TX DMA%d%s: csr %04x, " "H%08x S%08x C%08x %08x, " "F%08x L%08x .. %08x" "\n", Loading Loading @@ -1022,6 +1029,7 @@ static bool cppi_rx_scan(struct cppi *cppi, unsigned ch) int i; dma_addr_t safe2ack; void __iomem *regs = rx->hw_ep->regs; struct musb *musb = cppi->musb; cppi_dump_rx(6, rx, "/K"); Loading
drivers/usb/musb/musb_core.h +8 −4 Original line number Diff line number Diff line Loading @@ -172,7 +172,8 @@ enum musb_g_ep0_state { #endif /* TUSB mapping: "flat" plus ep0 special cases */ #if defined(CONFIG_USB_MUSB_TUSB6010) #if defined(CONFIG_USB_MUSB_TUSB6010) || \ defined(CONFIG_USB_MUSB_TUSB6010_MODULE) #define musb_ep_select(_mbase, _epnum) \ musb_writeb((_mbase), MUSB_INDEX, (_epnum)) #define MUSB_EP_OFFSET MUSB_TUSB_OFFSET Loading Loading @@ -241,7 +242,8 @@ struct musb_hw_ep { void __iomem *fifo; void __iomem *regs; #ifdef CONFIG_USB_MUSB_TUSB6010 #if defined(CONFIG_USB_MUSB_TUSB6010) || \ defined(CONFIG_USB_MUSB_TUSB6010_MODULE) void __iomem *conf; #endif Loading @@ -258,7 +260,8 @@ struct musb_hw_ep { struct dma_channel *tx_channel; struct dma_channel *rx_channel; #ifdef CONFIG_USB_MUSB_TUSB6010 #if defined(CONFIG_USB_MUSB_TUSB6010) || \ defined(CONFIG_USB_MUSB_TUSB6010_MODULE) /* TUSB has "asynchronous" and "synchronous" dma modes */ dma_addr_t fifo_async; dma_addr_t fifo_sync; Loading Loading @@ -356,7 +359,8 @@ struct musb { void __iomem *ctrl_base; void __iomem *mregs; #ifdef CONFIG_USB_MUSB_TUSB6010 #if defined(CONFIG_USB_MUSB_TUSB6010) || \ defined(CONFIG_USB_MUSB_TUSB6010_MODULE) dma_addr_t async; dma_addr_t sync; void __iomem *sync_va; Loading
drivers/usb/musb/musb_gadget.c +3 −1 Original line number Diff line number Diff line Loading @@ -1856,6 +1856,7 @@ int __init musb_gadget_setup(struct musb *musb) return 0; err: musb->g.dev.parent = NULL; device_unregister(&musb->g.dev); return status; } Loading @@ -1863,6 +1864,7 @@ err: void musb_gadget_cleanup(struct musb *musb) { usb_del_gadget_udc(&musb->g); if (musb->g.dev.parent) device_unregister(&musb->g.dev); } Loading