summaryrefslogtreecommitdiffstats
path: root/drivers/usb/renesas_usbhs/pipe.h
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2012-11-07 01:15:09 +0100
committerFelipe Balbi <balbi@ti.com>2012-11-08 14:46:06 +0100
commit1c90ee0b3e30235165180a1a8ee3fb3cbe47d295 (patch)
treeb1b820bf48e58064190d4b1d3fafba506358191b /drivers/usb/renesas_usbhs/pipe.h
parentusb: renesas_usbhs: host: add endpoint user counter (diff)
downloadlinux-1c90ee0b3e30235165180a1a8ee3fb3cbe47d295.tar.xz
linux-1c90ee0b3e30235165180a1a8ee3fb3cbe47d295.zip
usb: renesas_usbhs: use transfer counter if IN direction bulk pipe
received data will break if it was bulk pipe and large data size, because pipe kept BUF PID even though it doesn't have enough buffer. To avoid this issue, renesas_usbhs can use transfer counter. Pipe PID will be NAK if it didn't have enough buffer by this patch. renesas_usbhs has strange address mapping. Thus, it is difficult to calculate transfer counter setting address. This patch use fixed table for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/renesas_usbhs/pipe.h')
-rw-r--r--drivers/usb/renesas_usbhs/pipe.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/renesas_usbhs/pipe.h b/drivers/usb/renesas_usbhs/pipe.h
index 08786c06dcf1..01b1820eccc5 100644
--- a/drivers/usb/renesas_usbhs/pipe.h
+++ b/drivers/usb/renesas_usbhs/pipe.h
@@ -88,6 +88,7 @@ void usbhs_pipe_enable(struct usbhs_pipe *pipe);
void usbhs_pipe_disable(struct usbhs_pipe *pipe);
void usbhs_pipe_stall(struct usbhs_pipe *pipe);
int usbhs_pipe_is_stall(struct usbhs_pipe *pipe);
+void usbhs_pipe_set_trans_count_if_bulk(struct usbhs_pipe *pipe, int len);
void usbhs_pipe_select_fifo(struct usbhs_pipe *pipe, struct usbhs_fifo *fifo);
void usbhs_pipe_config_update(struct usbhs_pipe *pipe, u16 devsel,
u16 epnum, u16 maxp);