usb: renesas_usbhs: use transfer counter if IN direction bulk pipe
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 7 Nov 2012 00:15:09 +0000 (16:15 -0800)
committerFelipe Balbi <balbi@ti.com>
Thu, 8 Nov 2012 13:46:06 +0000 (15:46 +0200)
commit1c90ee0b3e30235165180a1a8ee3fb3cbe47d295
treeb1b820bf48e58064190d4b1d3fafba506358191b
parent7b332e5fef480ee14d133d9b83af22d03819368e
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>
drivers/usb/renesas_usbhs/fifo.c
drivers/usb/renesas_usbhs/pipe.c
drivers/usb/renesas_usbhs/pipe.h