static void tegra_ehci_unmap_urb_for_dma(struct usb_hcd *hcd, struct urb *urb) { usb_hcd_unmap_urb_for_dma(hcd, urb); free_align_buffer(urb); if (urb->transfer_dma) { enum dma_data_direction dir; dir = usb_urb_dir_in(urb) ? DMA_FROM_DEVICE : DMA_TO_DEVICE; if (dir == DMA_FROM_DEVICE) dma_sync_single_for_cpu(hcd->self.controller, urb->transfer_dma, urb->transfer_buffer_length, DMA_FROM_DEVICE); } }
static void tegra_ehci_unmap_urb_for_dma(struct usb_hcd *hcd, struct urb *urb) { usb_hcd_unmap_urb_for_dma(hcd, urb); free_align_buffer(urb, hcd); }
void sunxi_hcd_unmap_urb_for_dma(struct usb_hcd *hcd, struct urb *urb) { usb_hcd_unmap_urb_for_dma(hcd, urb); sunxi_hcd_free_temp_setup(urb); sunxi_hcd_free_temp_buffer(urb); }