coreboot/payloads/libpayload/drivers/usb
Shawn Nematbakhsh ee7c3ea182 libpayload: usb: xhci: Treat port reset as a port status change
If a port is connected before and after an xhci controller reset, the
PORTSC CSC bit may not be asserted. Add an additional check in
xhci_rh_port_status_changed for the PRC bit so we can correctly handle
ports in such a state.

BUG=chrome-os-partner:24090
TEST=Manual on Rambi:
- Boot Chromium OS from USB 3.0 drive
- Issue 'reboot' on command line
- Boot from USB 3.0 drive again successfully
Also --
- Boot Chromium OS from USB 3.0 drive
- Issue 'reboot' on command line
- Boot Chromium OS from eMMC
- Issue 'reboot' on command line
- Boot from USB 3.0 drive again successfully
Also, verify that USB ports continue to function correctly, and USB 3.0
device is always detected in Chromium OS as a superspeed device.
BRANCH=Rambi

Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org>
Change-Id: I2d623aae647ab13711badd7211ab467afdc69548
Reviewed-on: https://chromium-review.googlesource.com/189394
Reviewed-by: Julius Werner <jwerner@chromium.org>
2014-03-11 05:54:00 +00:00
..
ehci.c libpayload: ehci: Fix byte count in dump_td() 2013-10-30 01:04:52 +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: Cache management is hard, let's go copying... 2013-09-14 01:31:18 +00:00
ehci_rh.c libpayload: Add USB support for non-PCI controllers 2013-05-20 17:01:26 -07: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: Redirect USB slave init through controller driver 2013-09-16 19:38:24 +00:00
ohci.h libpayload: Add USB support for non-PCI controllers 2013-05-20 17:01:26 -07:00
ohci_private.h libpayload: Add USB support for non-PCI controllers 2013-05-20 17:01:26 -07:00
ohci_rh.c libpayload: usb: Unify USB speed between XHCI stack and USB core 2013-10-04 18:46:30 +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: Redirect USB slave init through controller driver 2013-09-16 19:38:24 +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: Unify USB speed between XHCI stack and USB core 2013-10-04 18:46:30 +00:00
usb.c libpayload: usb: Refactor USB enumeration to fix SuperSpeed devices 2013-10-10 00:32:40 +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: usb: Allow direct instantiation of MMIO host controllers 2013-09-17 03:22:00 +00:00
usbmsc.c libpayload: usb: Fix several minor USB stack bugs 2013-10-04 18:46:36 +00:00
xhci.c libpayload: xhci: Use Event Data TRBs for transfer event generation 2013-10-10 00:32:36 +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: Refactor USB enumeration to fix SuperSpeed devices 2013-10-10 00:32:40 +00:00
xhci_rh.c libpayload: usb: xhci: Treat port reset as a port status change 2014-03-11 05:54:00 +00:00