diff options
Diffstat (limited to 'drivers/usb/host/xhci.h')
| -rw-r--r-- | drivers/usb/host/xhci.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index 46aa14894148..941d5f59e4dc 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h | |||
| @@ -1412,8 +1412,18 @@ struct xhci_bus_state { | |||
| 1412 | unsigned long resume_done[USB_MAXCHILDREN]; | 1412 | unsigned long resume_done[USB_MAXCHILDREN]; |
| 1413 | /* which ports have started to resume */ | 1413 | /* which ports have started to resume */ |
| 1414 | unsigned long resuming_ports; | 1414 | unsigned long resuming_ports; |
| 1415 | /* Which ports are waiting on RExit to U0 transition. */ | ||
| 1416 | unsigned long rexit_ports; | ||
| 1417 | struct completion rexit_done[USB_MAXCHILDREN]; | ||
| 1415 | }; | 1418 | }; |
| 1416 | 1419 | ||
| 1420 | |||
| 1421 | /* | ||
| 1422 | * It can take up to 20 ms to transition from RExit to U0 on the | ||
| 1423 | * Intel Lynx Point LP xHCI host. | ||
| 1424 | */ | ||
| 1425 | #define XHCI_MAX_REXIT_TIMEOUT (20 * 1000) | ||
| 1426 | |||
| 1417 | static inline unsigned int hcd_index(struct usb_hcd *hcd) | 1427 | static inline unsigned int hcd_index(struct usb_hcd *hcd) |
| 1418 | { | 1428 | { |
| 1419 | if (hcd->speed == HCD_USB3) | 1429 | if (hcd->speed == HCD_USB3) |
| @@ -1538,6 +1548,8 @@ struct xhci_hcd { | |||
| 1538 | #define XHCI_COMP_MODE_QUIRK (1 << 14) | 1548 | #define XHCI_COMP_MODE_QUIRK (1 << 14) |
| 1539 | #define XHCI_AVOID_BEI (1 << 15) | 1549 | #define XHCI_AVOID_BEI (1 << 15) |
| 1540 | #define XHCI_PLAT (1 << 16) | 1550 | #define XHCI_PLAT (1 << 16) |
| 1551 | #define XHCI_SLOW_SUSPEND (1 << 17) | ||
| 1552 | #define XHCI_SPURIOUS_WAKEUP (1 << 18) | ||
| 1541 | unsigned int num_active_eps; | 1553 | unsigned int num_active_eps; |
| 1542 | unsigned int limit_active_eps; | 1554 | unsigned int limit_active_eps; |
| 1543 | /* There are two roothubs to keep track of bus suspend info for */ | 1555 | /* There are two roothubs to keep track of bus suspend info for */ |
| @@ -1840,6 +1852,7 @@ int xhci_cancel_cmd(struct xhci_hcd *xhci, struct xhci_command *command, | |||
| 1840 | union xhci_trb *cmd_trb); | 1852 | union xhci_trb *cmd_trb); |
| 1841 | void xhci_ring_ep_doorbell(struct xhci_hcd *xhci, unsigned int slot_id, | 1853 | void xhci_ring_ep_doorbell(struct xhci_hcd *xhci, unsigned int slot_id, |
| 1842 | unsigned int ep_index, unsigned int stream_id); | 1854 | unsigned int ep_index, unsigned int stream_id); |
| 1855 | union xhci_trb *xhci_find_next_enqueue(struct xhci_ring *ring); | ||
| 1843 | 1856 | ||
| 1844 | /* xHCI roothub code */ | 1857 | /* xHCI roothub code */ |
| 1845 | void xhci_set_link_state(struct xhci_hcd *xhci, __le32 __iomem **port_array, | 1858 | void xhci_set_link_state(struct xhci_hcd *xhci, __le32 __iomem **port_array, |
