From: Ricardo Ribalda Delgado Date: Fri, 28 Nov 2014 13:50:55 +0000 (+0100) Subject: usb: gadget: udc: net2280: Merge abort_dma for 228x and 338x X-Git-Tag: firefly_0821_release~176^2~2323^2^2~167 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e721c4575db77a543d0a28c56e95b84ee37a551c;p=firefly-linux-kernel-4.4.55.git usb: gadget: udc: net2280: Merge abort_dma for 228x and 338x We can use the same function for both families of chips and also remove the ep_stop_dma() function. Signed-off-by: Ricardo Ribalda Delgado Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/gadget/udc/net2280.c b/drivers/usb/gadget/udc/net2280.c index 5ba51328b262..46b66b3fe8e1 100644 --- a/drivers/usb/gadget/udc/net2280.c +++ b/drivers/usb/gadget/udc/net2280.c @@ -836,12 +836,6 @@ static inline void resume_dma(struct net2280_ep *ep) writel(readl(&ep->dma->dmactl) | BIT(DMA_ENABLE), &ep->dma->dmactl); } -static inline void ep_stop_dma(struct net2280_ep *ep) -{ - writel(readl(&ep->dma->dmactl) & ~BIT(DMA_ENABLE), &ep->dma->dmactl); - spin_stop_dma(ep->dma); -} - static inline void queue_dma(struct net2280_ep *ep, struct net2280_request *req, int valid) { @@ -1115,7 +1109,7 @@ static void restart_dma(struct net2280_ep *ep) start_dma(ep, req); } -static void abort_dma_228x(struct net2280_ep *ep) +static void abort_dma(struct net2280_ep *ep) { /* abort the current transfer */ if (likely(!list_empty(&ep->queue))) { @@ -1127,19 +1121,6 @@ static void abort_dma_228x(struct net2280_ep *ep) scan_dma_completions(ep); } -static void abort_dma_338x(struct net2280_ep *ep) -{ - writel(BIT(DMA_ABORT), &ep->dma->dmastat); - spin_stop_dma(ep->dma); -} - -static void abort_dma(struct net2280_ep *ep) -{ - if (ep->dev->quirks & PLX_LEGACY) - return abort_dma_228x(ep); - return abort_dma_338x(ep); -} - /* dequeue ALL requests */ static void nuke(struct net2280_ep *ep) { @@ -2813,7 +2794,7 @@ static void handle_stat0_irqs_superspeed(struct net2280 *dev, ep->dev->protocol_stall = 1; else { if (ep->dma) - ep_stop_dma(ep); + abort_dma(ep); set_halt(ep); } allow_status_338x(ep);