aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci.h')
-rw-r--r--drivers/usb/host/xhci.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index d8bbf5ccb10..c149d200415 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -900,7 +900,6 @@ struct xhci_transfer_event {
900/* Invalid Stream ID Error */ 900/* Invalid Stream ID Error */
901#define COMP_STRID_ERR 34 901#define COMP_STRID_ERR 34
902/* Secondary Bandwidth Error - may be returned by a Configure Endpoint cmd */ 902/* Secondary Bandwidth Error - may be returned by a Configure Endpoint cmd */
903/* FIXME - check for this */
904#define COMP_2ND_BW_ERR 35 903#define COMP_2ND_BW_ERR 35
905/* Split Transaction Error */ 904/* Split Transaction Error */
906#define COMP_SPLIT_ERR 36 905#define COMP_SPLIT_ERR 36
@@ -1072,6 +1071,13 @@ union xhci_trb {
1072/* Get NEC firmware revision. */ 1071/* Get NEC firmware revision. */
1073#define TRB_NEC_GET_FW 49 1072#define TRB_NEC_GET_FW 49
1074 1073
1074#define TRB_TYPE_LINK(x) (((x) & TRB_TYPE_BITMASK) == TRB_TYPE(TRB_LINK))
1075/* Above, but for __le32 types -- can avoid work by swapping constants: */
1076#define TRB_TYPE_LINK_LE32(x) (((x) & cpu_to_le32(TRB_TYPE_BITMASK)) == \
1077 cpu_to_le32(TRB_TYPE(TRB_LINK)))
1078#define TRB_TYPE_NOOP_LE32(x) (((x) & cpu_to_le32(TRB_TYPE_BITMASK)) == \
1079 cpu_to_le32(TRB_TYPE(TRB_TR_NOOP)))
1080
1075#define NEC_FW_MINOR(p) (((p) >> 0) & 0xff) 1081#define NEC_FW_MINOR(p) (((p) >> 0) & 0xff)
1076#define NEC_FW_MAJOR(p) (((p) >> 8) & 0xff) 1082#define NEC_FW_MAJOR(p) (((p) >> 8) & 0xff)
1077 1083
@@ -1311,6 +1317,7 @@ struct xhci_hcd {
1311#define XHCI_EP_LIMIT_QUIRK (1 << 5) 1317#define XHCI_EP_LIMIT_QUIRK (1 << 5)
1312#define XHCI_BROKEN_MSI (1 << 6) 1318#define XHCI_BROKEN_MSI (1 << 6)
1313#define XHCI_RESET_ON_RESUME (1 << 7) 1319#define XHCI_RESET_ON_RESUME (1 << 7)
1320#define XHCI_AMD_0x96_HOST (1 << 9)
1314 unsigned int num_active_eps; 1321 unsigned int num_active_eps;
1315 unsigned int limit_active_eps; 1322 unsigned int limit_active_eps;
1316 /* There are two roothubs to keep track of bus suspend info for */ 1323 /* There are two roothubs to keep track of bus suspend info for */
@@ -1565,6 +1572,8 @@ void xhci_ring_ep_doorbell(struct xhci_hcd *xhci, unsigned int slot_id,
1565 unsigned int ep_index, unsigned int stream_id); 1572 unsigned int ep_index, unsigned int stream_id);
1566 1573
1567/* xHCI roothub code */ 1574/* xHCI roothub code */
1575void xhci_test_and_clear_bit(struct xhci_hcd *xhci, __le32 __iomem **port_array,
1576 int port_id, u32 port_bit);
1568int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex, 1577int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex,
1569 char *buf, u16 wLength); 1578 char *buf, u16 wLength);
1570int xhci_hub_status_data(struct usb_hcd *hcd, char *buf); 1579int xhci_hub_status_data(struct usb_hcd *hcd, char *buf);