Skip to content

Commit

Permalink
usb: renesas_usbhs: add DMAEngine support on mod_host
Browse files Browse the repository at this point in the history
This patch enabled dma mapping, and used dma transfer handler
on mod_host

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
Kuninori Morimoto authored and Felipe Balbi committed Oct 31, 2012
1 parent 3192fcb commit 87c2905
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions drivers/usb/renesas_usbhs/mod_host.c
Original file line number Diff line number Diff line change
Expand Up @@ -681,9 +681,9 @@ static int usbhsh_queue_push(struct usb_hcd *hcd,
}

if (usb_pipein(urb->pipe))
pipe->handler = &usbhs_fifo_pio_pop_handler;
pipe->handler = &usbhs_fifo_dma_pop_handler;
else
pipe->handler = &usbhs_fifo_pio_push_handler;
pipe->handler = &usbhs_fifo_dma_push_handler;

buf = (void *)(urb->transfer_buffer + urb->actual_length);
len = urb->transfer_buffer_length - urb->actual_length;
Expand Down Expand Up @@ -916,6 +916,19 @@ static int usbhsh_dcp_queue_push(struct usb_hcd *hcd,
*/
static int usbhsh_dma_map_ctrl(struct usbhs_pkt *pkt, int map)
{
if (map) {
struct usbhsh_request *ureq = usbhsh_pkt_to_ureq(pkt);
struct urb *urb = ureq->urb;

/* it can not use scatter/gather */
if (urb->num_sgs)
return -EINVAL;

pkt->dma = urb->transfer_dma;
if (!pkt->dma)
return -EINVAL;
}

return 0;
}

Expand Down

0 comments on commit 87c2905

Please sign in to comment.