coreboot/payloads/libpayload/drivers/usb
Sourabh Banerjee 7eefb3b285 libpayload: usb: xhci: set ENT flag in last Normal TRB
If a TD is comprised of one or more Normal TRBs and terminated with an
Event Data TRB, then the transition to the Idle state (and associated
 Stream state save) could occur after all the data for the TD has been
moved (e.g. after Transfer Event TRBs have been executed), but before the
Event Data TRB is executed. Under these conditions, the execution of the
Event Data TRB is necessary to complete the TD, otherwise it does not
occur until the nexttime the Stream is scheduled. This could lead to the
lock up.

The Evaluate Next TRB(ENT) flag provides a means of forcing the execution
of a terminating Event Data TRB. Setting ENT flag in last Normal TRB makes
the xHC to evaluate the Even Data TRB.

BUG=chrome-os-partner:29375
TEST=Verified kernel boot-up on storm from previously failing USB stick.
     USB stick model: Sandisk Ultra USB 3.0 Pen Drive 32 GB
		      Strontium Jet USB 3.0 Pen Drive(32 GB)

Change-Id: I4e123577ec5a5996d87d2fc52cb6cf5c571c9fae
Signed-off-by: Sourabh Banerjee <sbanerje@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/220123
Reviewed-by: Julius Werner <jwerner@chromium.org>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
Tested-by: Vadim Bendebury <vbendeb@chromium.org>
2014-10-09 16:42:18 +00:00
..
dwc2.c libpayload:support dwc2 usb driver 2014-09-04 15:47:17 +00:00
dwc2.h libpayload:support dwc2 usb driver 2014-09-04 15:47:17 +00:00
dwc2_private.h libpayload:support dwc2 usb driver 2014-09-04 15:47:17 +00:00
dwc2_rh.c libpayload:support dwc2 usb driver 2014-09-04 15:47:17 +00:00
ehci.c libpayload: EHCI: Support root-hub TT feature 2014-10-02 18:24:26 +00:00
ehci.h libpayload: Add USB support for non-PCI controllers 2013-05-20 17:01:26 -07:00
ehci_private.h libpayload: EHCI: Support root-hub TT feature 2014-10-02 18:24:26 +00:00
ehci_rh.c libpayload: EHCI: Support root-hub TT feature 2014-10-02 18:24:26 +00:00
generic_hub.c libpayload: usb: Remove generic roothub reset port function 2014-03-11 05:53:56 +00:00
generic_hub.h libpayload: usb: Remove generic roothub reset port function 2014-03-11 05:53:56 +00:00
ohci.c libpayload: usb: Remove automatic clear_stall() calls from transfers 2014-04-10 01:10:25 +00:00
ohci.h libpayload: Add USB support for non-PCI controllers 2013-05-20 17:01:26 -07:00
ohci_private.h libpayload: usb: Make OHCI work with ARM systems 2014-04-10 01:07:20 +00:00
ohci_rh.c libpayload: usb: Fix up usb_shutdown() code paths 2014-04-10 01:07:24 +00:00
quirks.c libpayload: usb: Refactor USB enumeration to fix SuperSpeed devices 2013-10-10 00:32:40 +00:00
TODO Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
uhci.c libpayload: usb: Remove automatic clear_stall() calls from transfers 2014-04-10 01:10:25 +00:00
uhci.h libpayload: Add USB support for non-PCI controllers 2013-05-20 17:01:26 -07:00
uhci_private.h libpayload: Remove bitfield use from UHCI data structures 2012-01-10 00:02:54 +01:00
uhci_rh.c libpayload: usb: Fix up usb_shutdown() code paths 2014-04-10 01:07:24 +00:00
usb.c libpayload: usb: Try to avoid reusing device addresses 2014-04-30 10:00:43 +00:00
usb_dev.c Fix the USB code to find the headers after they were moved. 2008-09-11 17:29:00 +00:00
usbhid.c libpayload: find source of input characters 2014-01-19 04:15:03 +00:00
usbhub.c libpayload: usb: Refactor USB enumeration to fix SuperSpeed devices 2013-10-10 00:32:40 +00:00
usbinit.c libpayload:support dwc2 usb driver 2014-09-04 15:47:17 +00:00
usbmsc.c libpayload: usbmsc: Implement limited LUN support 2014-05-06 00:08:25 +00:00
xhci.c libpayload: usb: xhci: set ENT flag in last Normal TRB 2014-10-09 16:42:18 +00:00
xhci.h libpayload: Add USB support for non-PCI controllers 2013-05-20 17:01:26 -07:00
xhci_commands.c libpayload: xhci: Make XHCI stack usable on ARM 2013-09-17 03:21:57 +00:00
xhci_debug.c libpayload: xhci: Make XHCI stack usable on ARM 2013-09-17 03:21:57 +00:00
xhci_devconf.c libpayload: usb: Refactor USB enumeration to fix SuperSpeed devices 2013-10-10 00:32:40 +00:00
xhci_events.c libpayload: xhci: Use Event Data TRBs for transfer event generation 2013-10-10 00:32:36 +00:00
xhci_private.h libpayload: usb: xhci: set ENT flag in last Normal TRB 2014-10-09 16:42:18 +00:00
xhci_rh.c libpayload: usb: xhci: Treat port reset as a port status change 2014-03-11 05:54:00 +00:00