提交 220e8600 编写于 作者: F Felipe Balbi

usb: gadget: amd5536: use generic map/unmap routines

those routines have everything we need to map/unmap
USB requests and it's better to use them.
Signed-off-by: NFelipe Balbi <balbi@ti.com>
上级 ade78f9f
...@@ -827,20 +827,8 @@ __acquires(ep->dev->lock) ...@@ -827,20 +827,8 @@ __acquires(ep->dev->lock)
dev = ep->dev; dev = ep->dev;
/* unmap DMA */ /* unmap DMA */
if (req->dma_mapping) { if (ep->dma)
if (ep->in) usb_gadget_unmap_request(&dev->gadget, &req->req, ep->in);
pci_unmap_single(dev->pdev,
req->req.dma,
req->req.length,
PCI_DMA_TODEVICE);
else
pci_unmap_single(dev->pdev,
req->req.dma,
req->req.length,
PCI_DMA_FROMDEVICE);
req->dma_mapping = 0;
req->req.dma = DMA_DONT_USE;
}
halted = ep->halted; halted = ep->halted;
ep->halted = 1; ep->halted = 1;
...@@ -1089,20 +1077,11 @@ udc_queue(struct usb_ep *usbep, struct usb_request *usbreq, gfp_t gfp) ...@@ -1089,20 +1077,11 @@ udc_queue(struct usb_ep *usbep, struct usb_request *usbreq, gfp_t gfp)
return -ESHUTDOWN; return -ESHUTDOWN;
/* map dma (usually done before) */ /* map dma (usually done before) */
if (ep->dma && usbreq->length != 0 if (ep->dma) {
&& (usbreq->dma == DMA_DONT_USE || usbreq->dma == 0)) {
VDBG(dev, "DMA map req %p\n", req); VDBG(dev, "DMA map req %p\n", req);
if (ep->in) retval = usb_gadget_map_request(&udc->gadget, usbreq, ep->in);
usbreq->dma = pci_map_single(dev->pdev, if (retval)
usbreq->buf, return retval;
usbreq->length,
PCI_DMA_TODEVICE);
else
usbreq->dma = pci_map_single(dev->pdev,
usbreq->buf,
usbreq->length,
PCI_DMA_FROMDEVICE);
req->dma_mapping = 1;
} }
VDBG(dev, "%s queue req %p, len %d req->td_data=%p buf %p\n", VDBG(dev, "%s queue req %p, len %d req->td_data=%p buf %p\n",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册