]> git.karo-electronics.de Git - karo-tx-linux.git/commit
usb: chipidea: udc: add multiple td support to hardware_{en,de}queue
authorMichael Grzeschik <m.grzeschik@pengutronix.de>
Thu, 13 Jun 2013 14:59:54 +0000 (17:59 +0300)
committerJason Liu <r64343@freescale.com>
Wed, 30 Oct 2013 01:54:10 +0000 (09:54 +0800)
commitdbcaad3e6f2beaf033d9afec265c7b88eb109fda
tree7a2bc3d1b0b363840608d70977082fe531c6f854
parent73e154c83846d5ae7c20add6b77f80d382a87ed6
usb: chipidea: udc: add multiple td support to hardware_{en,de}queue

This patch removes the restriction of having a limited amount of only
four active tds on one endpoint. We use the linked list implementation
to manage all tds which get added and removed by hardware_{en,de}queue.

The removal of this restriction adds the driver to run into a hardware
errata. It's possible that the hardware will still address an transfer
descriptor that already got cleaned up. To solve this the patch also
postpone the cleanup of processed tds by one.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/chipidea/ci.h
drivers/usb/chipidea/core.c
drivers/usb/chipidea/udc.c