Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
xhci.h File Reference
#include <linux/usb.h>
#include <linux/timer.h>
#include <linux/kernel.h>
#include <linux/usb/hcd.h>
#include "xhci-ext-caps.h"
#include "pci-quirks.h"

Go to the source code of this file.

Data Structures

struct  xhci_cap_regs
 
struct  xhci_op_regs
 
struct  xhci_intr_reg
 
struct  xhci_run_regs
 
struct  xhci_doorbell_array
 
struct  xhci_protocol_caps
 
struct  xhci_container_ctx
 
struct  xhci_slot_ctx
 
struct  xhci_ep_ctx
 
struct  xhci_input_control_ctx
 
struct  xhci_command
 
struct  xhci_stream_ctx
 
struct  xhci_stream_info
 
struct  xhci_bw_info
 
struct  xhci_virt_ep
 
struct  xhci_interval_bw
 
struct  xhci_interval_bw_table
 
struct  xhci_virt_device
 
struct  xhci_root_port_bw_info
 
struct  xhci_tt_bw_info
 
struct  xhci_device_context_array
 
struct  xhci_transfer_event
 
struct  xhci_link_trb
 
struct  xhci_event_cmd
 
struct  xhci_generic_trb
 
union  xhci_trb
 
struct  xhci_segment
 
struct  xhci_td
 
struct  xhci_cd
 
struct  xhci_dequeue_state
 
struct  xhci_ring
 
struct  xhci_erst_entry
 
struct  xhci_erst
 
struct  xhci_scratchpad
 
struct  urb_priv
 
struct  s3_save
 
struct  dev_info
 
struct  xhci_bus_state
 
struct  xhci_hcd
 

Macros

#define XHCI_SBRN_OFFSET   (0x60)
 
#define MAX_HC_SLOTS   256
 
#define MAX_HC_PORTS   127
 
#define HC_LENGTH(p)   XHCI_HC_LENGTH(p)
 
#define HC_VERSION(p)   (((p) >> 16) & 0xffff)
 
#define HCS_MAX_SLOTS(p)   (((p) >> 0) & 0xff)
 
#define HCS_SLOTS_MASK   0xff
 
#define HCS_MAX_INTRS(p)   (((p) >> 8) & 0x7ff)
 
#define HCS_MAX_PORTS(p)   (((p) >> 24) & 0x7f)
 
#define HCS_IST(p)   (((p) >> 0) & 0xf)
 
#define HCS_ERST_MAX(p)   (((p) >> 4) & 0xf)
 
#define HCS_MAX_SCRATCHPAD(p)   (((p) >> 27) & 0x1f)
 
#define HCS_U1_LATENCY(p)   (((p) >> 0) & 0xff)
 
#define HCS_U2_LATENCY(p)   (((p) >> 16) & 0xffff)
 
#define HCC_64BIT_ADDR(p)   ((p) & (1 << 0))
 
#define HCC_BANDWIDTH_NEG(p)   ((p) & (1 << 1))
 
#define HCC_64BYTE_CONTEXT(p)   ((p) & (1 << 2))
 
#define HCC_PPC(p)   ((p) & (1 << 3))
 
#define HCS_INDICATOR(p)   ((p) & (1 << 4))
 
#define HCC_LIGHT_RESET(p)   ((p) & (1 << 5))
 
#define HCC_LTC(p)   ((p) & (1 << 6))
 
#define HCC_NSS(p)   ((p) & (1 << 7))
 
#define HCC_MAX_PSA(p)   (1 << ((((p) >> 12) & 0xf) + 1))
 
#define HCC_EXT_CAPS(p)   XHCI_HCC_EXT_CAPS(p)
 
#define DBOFF_MASK   (~0x3)
 
#define RTSOFF_MASK   (~0x1f)
 
#define NUM_PORT_REGS   4
 
#define CMD_RUN   XHCI_CMD_RUN
 
#define CMD_RESET   (1 << 1)
 
#define CMD_EIE   XHCI_CMD_EIE
 
#define CMD_HSEIE   XHCI_CMD_HSEIE
 
#define CMD_LRESET   (1 << 7)
 
#define CMD_CSS   (1 << 8)
 
#define CMD_CRS   (1 << 9)
 
#define CMD_EWE   XHCI_CMD_EWE
 
#define CMD_PM_INDEX   (1 << 11)
 
#define IMAN_IP   (1 << 1)
 
#define IMAN_IE   (1 << 0)
 
#define STS_HALT   XHCI_STS_HALT
 
#define STS_FATAL   (1 << 2)
 
#define STS_EINT   (1 << 3)
 
#define STS_PORT   (1 << 4)
 
#define STS_SAVE   (1 << 8)
 
#define STS_RESTORE   (1 << 9)
 
#define STS_SRE   (1 << 10)
 
#define STS_CNR   XHCI_STS_CNR
 
#define STS_HCE   (1 << 12)
 
#define DEV_NOTE_MASK   (0xffff)
 
#define ENABLE_DEV_NOTE(x)   (1 << (x))
 
#define DEV_NOTE_FWAKE   ENABLE_DEV_NOTE(1)
 
#define CMD_RING_PAUSE   (1 << 1)
 
#define CMD_RING_ABORT   (1 << 2)
 
#define CMD_RING_RUNNING   (1 << 3)
 
#define CMD_RING_RSVD_BITS   (0x3f)
 
#define MAX_DEVS(p)   ((p) & 0xff)
 
#define PORT_CONNECT   (1 << 0)
 
#define PORT_PE   (1 << 1)
 
#define PORT_OC   (1 << 3)
 
#define PORT_RESET   (1 << 4)
 
#define PORT_PLS_MASK   (0xf << 5)
 
#define XDEV_U0   (0x0 << 5)
 
#define XDEV_U2   (0x2 << 5)
 
#define XDEV_U3   (0x3 << 5)
 
#define XDEV_RESUME   (0xf << 5)
 
#define PORT_POWER   (1 << 9)
 
#define DEV_SPEED_MASK   (0xf << 10)
 
#define XDEV_FS   (0x1 << 10)
 
#define XDEV_LS   (0x2 << 10)
 
#define XDEV_HS   (0x3 << 10)
 
#define XDEV_SS   (0x4 << 10)
 
#define DEV_UNDEFSPEED(p)   (((p) & DEV_SPEED_MASK) == (0x0<<10))
 
#define DEV_FULLSPEED(p)   (((p) & DEV_SPEED_MASK) == XDEV_FS)
 
#define DEV_LOWSPEED(p)   (((p) & DEV_SPEED_MASK) == XDEV_LS)
 
#define DEV_HIGHSPEED(p)   (((p) & DEV_SPEED_MASK) == XDEV_HS)
 
#define DEV_SUPERSPEED(p)   (((p) & DEV_SPEED_MASK) == XDEV_SS)
 
#define SLOT_SPEED_FS   (XDEV_FS << 10)
 
#define SLOT_SPEED_LS   (XDEV_LS << 10)
 
#define SLOT_SPEED_HS   (XDEV_HS << 10)
 
#define SLOT_SPEED_SS   (XDEV_SS << 10)
 
#define PORT_LED_OFF   (0 << 14)
 
#define PORT_LED_AMBER   (1 << 14)
 
#define PORT_LED_GREEN   (2 << 14)
 
#define PORT_LED_MASK   (3 << 14)
 
#define PORT_LINK_STROBE   (1 << 16)
 
#define PORT_CSC   (1 << 17)
 
#define PORT_PEC   (1 << 18)
 
#define PORT_WRC   (1 << 19)
 
#define PORT_OCC   (1 << 20)
 
#define PORT_RC   (1 << 21)
 
#define PORT_PLC   (1 << 22)
 
#define PORT_CEC   (1 << 23)
 
#define PORT_CAS   (1 << 24)
 
#define PORT_WKCONN_E   (1 << 25)
 
#define PORT_WKDISC_E   (1 << 26)
 
#define PORT_WKOC_E   (1 << 27)
 
#define PORT_DEV_REMOVE   (1 << 30)
 
#define PORT_WR   (1 << 31)
 
#define DUPLICATE_ENTRY   ((u8)(-1))
 
#define PORT_U1_TIMEOUT(p)   ((p) & 0xff)
 
#define PORT_U1_TIMEOUT_MASK   0xff
 
#define PORT_U2_TIMEOUT(p)   (((p) & 0xff) << 8)
 
#define PORT_U2_TIMEOUT_MASK   (0xff << 8)
 
#define PORT_L1S_MASK   7
 
#define PORT_L1S_SUCCESS   1
 
#define PORT_RWE   (1 << 3)
 
#define PORT_HIRD(p)   (((p) & 0xf) << 4)
 
#define PORT_HIRD_MASK   (0xf << 4)
 
#define PORT_L1DS(p)   (((p) & 0xff) << 8)
 
#define PORT_HLE   (1 << 16)
 
#define ER_IRQ_PENDING(p)   ((p) & 0x1)
 
#define ER_IRQ_CLEAR(p)   ((p) & 0xfffffffe)
 
#define ER_IRQ_ENABLE(p)   ((ER_IRQ_CLEAR(p)) | 0x2)
 
#define ER_IRQ_DISABLE(p)   ((ER_IRQ_CLEAR(p)) & ~(0x2))
 
#define ER_IRQ_INTERVAL_MASK   (0xffff)
 
#define ER_IRQ_COUNTER_MASK   (0xffff << 16)
 
#define ERST_SIZE_MASK   (0xffff << 16)
 
#define ERST_DESI_MASK   (0x7)
 
#define ERST_EHB   (1 << 3)
 
#define ERST_PTR_MASK   (0xf)
 
#define DB_VALUE(ep, stream)   ((((ep) + 1) & 0xff) | ((stream) << 16))
 
#define DB_VALUE_HOST   0x00000000
 
#define XHCI_EXT_PORT_MAJOR(x)   (((x) >> 24) & 0xff)
 
#define XHCI_EXT_PORT_OFF(x)   ((x) & 0xff)
 
#define XHCI_EXT_PORT_COUNT(x)   (((x) >> 8) & 0xff)
 
#define XHCI_CTX_TYPE_DEVICE   0x1
 
#define XHCI_CTX_TYPE_INPUT   0x2
 
#define ROUTE_STRING_MASK   (0xfffff)
 
#define DEV_SPEED   (0xf << 20)
 
#define DEV_MTT   (0x1 << 25)
 
#define DEV_HUB   (0x1 << 26)
 
#define LAST_CTX_MASK   (0x1f << 27)
 
#define LAST_CTX(p)   ((p) << 27)
 
#define LAST_CTX_TO_EP_NUM(p)   (((p) >> 27) - 1)
 
#define SLOT_FLAG   (1 << 0)
 
#define EP0_FLAG   (1 << 1)
 
#define MAX_EXIT   (0xffff)
 
#define ROOT_HUB_PORT(p)   (((p) & 0xff) << 16)
 
#define DEVINFO_TO_ROOT_HUB_PORT(p)   (((p) >> 16) & 0xff)
 
#define XHCI_MAX_PORTS(p)   (((p) & 0xff) << 24)
 
#define TT_SLOT   (0xff)
 
#define TT_PORT   (0xff << 8)
 
#define TT_THINK_TIME(p)   (((p) & 0x3) << 16)
 
#define DEV_ADDR_MASK   (0xff)
 
#define SLOT_STATE   (0x1f << 27)
 
#define GET_SLOT_STATE(p)   (((p) & (0x1f << 27)) >> 27)
 
#define SLOT_STATE_DISABLED   0
 
#define SLOT_STATE_ENABLED   SLOT_STATE_DISABLED
 
#define SLOT_STATE_DEFAULT   1
 
#define SLOT_STATE_ADDRESSED   2
 
#define SLOT_STATE_CONFIGURED   3
 
#define EP_STATE_MASK   (0xf)
 
#define EP_STATE_DISABLED   0
 
#define EP_STATE_RUNNING   1
 
#define EP_STATE_HALTED   2
 
#define EP_STATE_STOPPED   3
 
#define EP_STATE_ERROR   4
 
#define EP_MULT(p)   (((p) & 0x3) << 8)
 
#define CTX_TO_EP_MULT(p)   (((p) >> 8) & 0x3)
 
#define EP_INTERVAL(p)   (((p) & 0xff) << 16)
 
#define EP_INTERVAL_TO_UFRAMES(p)   (1 << (((p) >> 16) & 0xff))
 
#define CTX_TO_EP_INTERVAL(p)   (((p) >> 16) & 0xff)
 
#define EP_MAXPSTREAMS_MASK   (0x1f << 10)
 
#define EP_MAXPSTREAMS(p)   (((p) << 10) & EP_MAXPSTREAMS_MASK)
 
#define EP_HAS_LSA   (1 << 15)
 
#define FORCE_EVENT   (0x1)
 
#define ERROR_COUNT(p)   (((p) & 0x3) << 1)
 
#define CTX_TO_EP_TYPE(p)   (((p) >> 3) & 0x7)
 
#define EP_TYPE(p)   ((p) << 3)
 
#define ISOC_OUT_EP   1
 
#define BULK_OUT_EP   2
 
#define INT_OUT_EP   3
 
#define CTRL_EP   4
 
#define ISOC_IN_EP   5
 
#define BULK_IN_EP   6
 
#define INT_IN_EP   7
 
#define MAX_BURST(p)   (((p)&0xff) << 8)
 
#define CTX_TO_MAX_BURST(p)   (((p) >> 8) & 0xff)
 
#define MAX_PACKET(p)   (((p)&0xffff) << 16)
 
#define MAX_PACKET_MASK   (0xffff << 16)
 
#define MAX_PACKET_DECODED(p)   (((p) >> 16) & 0xffff)
 
#define GET_MAX_PACKET(p)   ((p) & 0x7ff)
 
#define AVG_TRB_LENGTH_FOR_EP(p)   ((p) & 0xffff)
 
#define MAX_ESIT_PAYLOAD_FOR_EP(p)   (((p) & 0xffff) << 16)
 
#define CTX_TO_MAX_ESIT_PAYLOAD(p)   (((p) >> 16) & 0xffff)
 
#define EP_CTX_CYCLE_MASK   (1 << 0)
 
#define EP_IS_ADDED(ctrl_ctx, i)   (le32_to_cpu(ctrl_ctx->add_flags) & (1 << (i + 1)))
 
#define EP_IS_DROPPED(ctrl_ctx, i)   (le32_to_cpu(ctrl_ctx->drop_flags) & (1 << (i + 1)))
 
#define DROP_EP(x)   (0x1 << x)
 
#define ADD_EP(x)   (0x1 << x)
 
#define SCT_FOR_CTX(p)   (((p) << 1) & 0x7)
 
#define SCT_SEC_TR   0
 
#define SCT_PRI_TR   1
 
#define SCT_SSA_8   2
 
#define SCT_SSA_16   3
 
#define SCT_SSA_32   4
 
#define SCT_SSA_64   5
 
#define SCT_SSA_128   6
 
#define SCT_SSA_256   7
 
#define SMALL_STREAM_ARRAY_SIZE   256
 
#define MEDIUM_STREAM_ARRAY_SIZE   1024
 
#define FS_BLOCK   1
 
#define HS_BLOCK   4
 
#define SS_BLOCK   16
 
#define DMI_BLOCK   32
 
#define DMI_OVERHEAD   8
 
#define DMI_OVERHEAD_BURST   4
 
#define SS_OVERHEAD   8
 
#define SS_OVERHEAD_BURST   32
 
#define HS_OVERHEAD   26
 
#define FS_OVERHEAD   20
 
#define LS_OVERHEAD   128
 
#define TT_HS_OVERHEAD   (31 + 94)
 
#define TT_DMI_OVERHEAD   (25 + 12)
 
#define FS_BW_LIMIT   1285
 
#define TT_BW_LIMIT   1320
 
#define HS_BW_LIMIT   1607
 
#define SS_BW_LIMIT_IN   3906
 
#define DMI_BW_LIMIT_IN   3906
 
#define SS_BW_LIMIT_OUT   3906
 
#define DMI_BW_LIMIT_OUT   3906
 
#define FS_BW_RESERVED   10
 
#define HS_BW_RESERVED   20
 
#define SS_BW_RESERVED   10
 
#define SET_DEQ_PENDING   (1 << 0)
 
#define EP_HALTED   (1 << 1) /* For stall handling */
 
#define EP_HALT_PENDING   (1 << 2) /* For URB cancellation */
 
#define EP_GETTING_STREAMS   (1 << 3)
 
#define EP_HAS_STREAMS   (1 << 4)
 
#define EP_GETTING_NO_STREAMS   (1 << 5)
 
#define XHCI_MAX_INTERVAL   16
 
#define XHCI_MAX_RINGS_CACHED   31
 
#define TRB_TO_EP_ID(p)   (((p) >> 16) & 0x1f)
 
#define COMP_CODE_MASK   (0xff << 24)
 
#define GET_COMP_CODE(p)   (((p) & COMP_CODE_MASK) >> 24)
 
#define COMP_SUCCESS   1
 
#define COMP_DB_ERR   2
 
#define COMP_BABBLE   3
 
#define COMP_TX_ERR   4
 
#define COMP_TRB_ERR   5
 
#define COMP_STALL   6
 
#define COMP_ENOMEM   7
 
#define COMP_BW_ERR   8
 
#define COMP_ENOSLOTS   9
 
#define COMP_STREAM_ERR   10
 
#define COMP_EBADSLT   11
 
#define COMP_EBADEP   12
 
#define COMP_SHORT_TX   13
 
#define COMP_UNDERRUN   14
 
#define COMP_OVERRUN   15
 
#define COMP_VF_FULL   16
 
#define COMP_EINVAL   17
 
#define COMP_BW_OVER   18
 
#define COMP_CTX_STATE   19
 
#define COMP_PING_ERR   20
 
#define COMP_ER_FULL   21
 
#define COMP_DEV_ERR   22
 
#define COMP_MISSED_INT   23
 
#define COMP_CMD_STOP   24
 
#define COMP_CMD_ABORT   25
 
#define COMP_STOP   26
 
#define COMP_STOP_INVAL   27
 
#define COMP_DBG_ABORT   28
 
#define COMP_MEL_ERR   29
 
#define COMP_BUFF_OVER   31
 
#define COMP_ISSUES   32
 
#define COMP_UNKNOWN   33
 
#define COMP_STRID_ERR   34
 
#define COMP_2ND_BW_ERR   35
 
#define COMP_SPLIT_ERR   36
 
#define LINK_TOGGLE   (0x1<<1)
 
#define TRB_TO_SLOT_ID(p)   (((p) & (0xff<<24)) >> 24)
 
#define SLOT_ID_FOR_TRB(p)   (((p) & 0xff) << 24)
 
#define TRB_TO_EP_INDEX(p)   ((((p) & (0x1f << 16)) >> 16) - 1)
 
#define EP_ID_FOR_TRB(p)   ((((p) + 1) & 0x1f) << 16)
 
#define SUSPEND_PORT_FOR_TRB(p)   (((p) & 1) << 23)
 
#define TRB_TO_SUSPEND_PORT(p)   (((p) & (1 << 23)) >> 23)
 
#define LAST_EP_INDEX   30
 
#define TRB_TO_STREAM_ID(p)   ((((p) & (0xffff << 16)) >> 16))
 
#define STREAM_ID_FOR_TRB(p)   ((((p)) & 0xffff) << 16)
 
#define GET_PORT_ID(p)   (((p) & (0xff << 24)) >> 24)
 
#define TRB_LEN(p)   ((p) & 0x1ffff)
 
#define TRB_INTR_TARGET(p)   (((p) & 0x3ff) << 22)
 
#define GET_INTR_TARGET(p)   (((p) >> 22) & 0x3ff)
 
#define TRB_TBC(p)   (((p) & 0x3) << 7)
 
#define TRB_TLBPC(p)   (((p) & 0xf) << 16)
 
#define TRB_CYCLE   (1<<0)
 
#define TRB_ENT   (1<<1)
 
#define TRB_ISP   (1<<2)
 
#define TRB_NO_SNOOP   (1<<3)
 
#define TRB_CHAIN   (1<<4)
 
#define TRB_IOC   (1<<5)
 
#define TRB_IDT   (1<<6)
 
#define TRB_BEI   (1<<9)
 
#define TRB_DIR_IN   (1<<16)
 
#define TRB_TX_TYPE(p)   ((p) << 16)
 
#define TRB_DATA_OUT   2
 
#define TRB_DATA_IN   3
 
#define TRB_SIA   (1<<31)
 
#define TRB_TYPE_BITMASK   (0xfc00)
 
#define TRB_TYPE(p)   ((p) << 10)
 
#define TRB_FIELD_TO_TYPE(p)   (((p) & TRB_TYPE_BITMASK) >> 10)
 
#define TRB_NORMAL   1
 
#define TRB_SETUP   2
 
#define TRB_DATA   3
 
#define TRB_STATUS   4
 
#define TRB_ISOC   5
 
#define TRB_LINK   6
 
#define TRB_EVENT_DATA   7
 
#define TRB_TR_NOOP   8
 
#define TRB_ENABLE_SLOT   9
 
#define TRB_DISABLE_SLOT   10
 
#define TRB_ADDR_DEV   11
 
#define TRB_CONFIG_EP   12
 
#define TRB_EVAL_CONTEXT   13
 
#define TRB_RESET_EP   14
 
#define TRB_STOP_RING   15
 
#define TRB_SET_DEQ   16
 
#define TRB_RESET_DEV   17
 
#define TRB_FORCE_EVENT   18
 
#define TRB_NEG_BANDWIDTH   19
 
#define TRB_SET_LT   20
 
#define TRB_GET_BW   21
 
#define TRB_FORCE_HEADER   22
 
#define TRB_CMD_NOOP   23
 
#define TRB_TRANSFER   32
 
#define TRB_COMPLETION   33
 
#define TRB_PORT_STATUS   34
 
#define TRB_BANDWIDTH_EVENT   35
 
#define TRB_DOORBELL   36
 
#define TRB_HC_EVENT   37
 
#define TRB_DEV_NOTE   38
 
#define TRB_MFINDEX_WRAP   39
 
#define TRB_NEC_CMD_COMP   48
 
#define TRB_NEC_GET_FW   49
 
#define TRB_TYPE_LINK(x)   (((x) & TRB_TYPE_BITMASK) == TRB_TYPE(TRB_LINK))
 
#define TRB_TYPE_LINK_LE32(x)
 
#define TRB_TYPE_NOOP_LE32(x)
 
#define NEC_FW_MINOR(p)   (((p) >> 0) & 0xff)
 
#define NEC_FW_MAJOR(p)   (((p) >> 8) & 0xff)
 
#define TRBS_PER_SEGMENT   64
 
#define MAX_RSVD_CMD_TRBS   (TRBS_PER_SEGMENT - 3)
 
#define SEGMENT_SIZE   (TRBS_PER_SEGMENT*16)
 
#define SEGMENT_SHIFT   (__ffs(SEGMENT_SIZE))
 
#define TRB_MAX_BUFF_SHIFT   16
 
#define TRB_MAX_BUFF_SIZE   (1 << TRB_MAX_BUFF_SHIFT)
 
#define XHCI_CMD_DEFAULT_TIMEOUT   (5 * HZ)
 
#define ERST_NUM_SEGS   1
 
#define ERST_SIZE   64
 
#define ERST_ENTRIES   1
 
#define POLL_TIMEOUT   60
 
#define XHCI_STOP_EP_CMD_TIMEOUT   5
 
#define CMD_RING_STATE_RUNNING   (1 << 0)
 
#define CMD_RING_STATE_ABORTED   (1 << 1)
 
#define CMD_RING_STATE_STOPPED   (1 << 2)
 
#define XHCI_STATE_DYING   (1 << 0)
 
#define XHCI_STATE_HALTED   (1 << 1)
 
#define XHCI_LINK_TRB_QUIRK   (1 << 0)
 
#define XHCI_RESET_EP_QUIRK   (1 << 1)
 
#define XHCI_NEC_HOST   (1 << 2)
 
#define XHCI_AMD_PLL_FIX   (1 << 3)
 
#define XHCI_SPURIOUS_SUCCESS   (1 << 4)
 
#define XHCI_EP_LIMIT_QUIRK   (1 << 5)
 
#define XHCI_BROKEN_MSI   (1 << 6)
 
#define XHCI_RESET_ON_RESUME   (1 << 7)
 
#define XHCI_SW_BW_CHECKING   (1 << 8)
 
#define XHCI_AMD_0x96_HOST   (1 << 9)
 
#define XHCI_TRUST_TX_LENGTH   (1 << 10)
 
#define XHCI_LPM_SUPPORT   (1 << 11)
 
#define XHCI_INTEL_HOST   (1 << 12)
 
#define XHCI_SPURIOUS_REBOOT   (1 << 13)
 
#define XHCI_COMP_MODE_QUIRK   (1 << 14)
 
#define XHCI_AVOID_BEI   (1 << 15)
 
#define COMP_MODE_RCVRY_MSECS   2000
 
#define XHCI_DEBUG   0
 
#define xhci_dbg(xhci, fmt, args...)   do { if (XHCI_DEBUG) dev_dbg(xhci_to_hcd(xhci)->self.controller , fmt , ## args); } while (0)
 
#define xhci_info(xhci, fmt, args...)   do { if (XHCI_DEBUG) dev_info(xhci_to_hcd(xhci)->self.controller , fmt , ## args); } while (0)
 
#define xhci_err(xhci, fmt, args...)   dev_err(xhci_to_hcd(xhci)->self.controller , fmt , ## args)
 
#define xhci_warn(xhci, fmt, args...)   dev_warn(xhci_to_hcd(xhci)->self.controller , fmt , ## args)
 
#define xhci_warn_ratelimited(xhci, fmt, args...)   dev_warn_ratelimited(xhci_to_hcd(xhci)->self.controller , fmt , ## args)
 
#define xhci_suspend   NULL
 
#define xhci_resume   NULL
 
#define xhci_bus_suspend   NULL
 
#define xhci_bus_resume   NULL
 

Typedefs

typedef void(* xhci_get_quirks_t )(struct device *, struct xhci_hcd *)
 

Enumerations

enum  xhci_overhead_type { LS_OVERHEAD_TYPE = 0, FS_OVERHEAD_TYPE, HS_OVERHEAD_TYPE }
 
enum  xhci_ring_type {
  TYPE_CTRL = 0, TYPE_ISOC, TYPE_BULK, TYPE_INTR,
  TYPE_STREAM, TYPE_COMMAND, TYPE_EVENT
}
 

Functions

void xhci_print_ir_set (struct xhci_hcd *xhci, int set_num)
 
void xhci_print_registers (struct xhci_hcd *xhci)
 
void xhci_dbg_regs (struct xhci_hcd *xhci)
 
void xhci_print_run_regs (struct xhci_hcd *xhci)
 
void xhci_print_trb_offsets (struct xhci_hcd *xhci, union xhci_trb *trb)
 
void xhci_debug_trb (struct xhci_hcd *xhci, union xhci_trb *trb)
 
void xhci_debug_segment (struct xhci_hcd *xhci, struct xhci_segment *seg)
 
void xhci_debug_ring (struct xhci_hcd *xhci, struct xhci_ring *ring)
 
void xhci_dbg_erst (struct xhci_hcd *xhci, struct xhci_erst *erst)
 
void xhci_dbg_cmd_ptrs (struct xhci_hcd *xhci)
 
void xhci_dbg_ring_ptrs (struct xhci_hcd *xhci, struct xhci_ring *ring)
 
void xhci_dbg_ctx (struct xhci_hcd *xhci, struct xhci_container_ctx *ctx, unsigned int last_ep)
 
charxhci_get_slot_state (struct xhci_hcd *xhci, struct xhci_container_ctx *ctx)
 
void xhci_dbg_ep_rings (struct xhci_hcd *xhci, unsigned int slot_id, unsigned int ep_index, struct xhci_virt_ep *ep)
 
void xhci_mem_cleanup (struct xhci_hcd *xhci)
 
int xhci_mem_init (struct xhci_hcd *xhci, gfp_t flags)
 
void xhci_free_virt_device (struct xhci_hcd *xhci, int slot_id)
 
int xhci_alloc_virt_device (struct xhci_hcd *xhci, int slot_id, struct usb_device *udev, gfp_t flags)
 
int xhci_setup_addressable_virt_dev (struct xhci_hcd *xhci, struct usb_device *udev)
 
void xhci_copy_ep0_dequeue_into_input_ctx (struct xhci_hcd *xhci, struct usb_device *udev)
 
unsigned int xhci_get_endpoint_index (struct usb_endpoint_descriptor *desc)
 
unsigned int xhci_get_endpoint_flag (struct usb_endpoint_descriptor *desc)
 
unsigned int xhci_get_endpoint_flag_from_index (unsigned int ep_index)
 
unsigned int xhci_last_valid_endpoint (u32 added_ctxs)
 
void xhci_endpoint_zero (struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct usb_host_endpoint *ep)
 
void xhci_drop_ep_from_interval_table (struct xhci_hcd *xhci, struct xhci_bw_info *ep_bw, struct xhci_interval_bw_table *bw_table, struct usb_device *udev, struct xhci_virt_ep *virt_ep, struct xhci_tt_bw_info *tt_info)
 
void xhci_update_tt_active_eps (struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, int old_active_eps)
 
void xhci_clear_endpoint_bw_info (struct xhci_bw_info *bw_info)
 
void xhci_update_bw_info (struct xhci_hcd *xhci, struct xhci_container_ctx *in_ctx, struct xhci_input_control_ctx *ctrl_ctx, struct xhci_virt_device *virt_dev)
 
void xhci_endpoint_copy (struct xhci_hcd *xhci, struct xhci_container_ctx *in_ctx, struct xhci_container_ctx *out_ctx, unsigned int ep_index)
 
void xhci_slot_copy (struct xhci_hcd *xhci, struct xhci_container_ctx *in_ctx, struct xhci_container_ctx *out_ctx)
 
int xhci_endpoint_init (struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct usb_device *udev, struct usb_host_endpoint *ep, gfp_t mem_flags)
 
void xhci_ring_free (struct xhci_hcd *xhci, struct xhci_ring *ring)
 
int xhci_ring_expansion (struct xhci_hcd *xhci, struct xhci_ring *ring, unsigned int num_trbs, gfp_t flags)
 
void xhci_free_or_cache_endpoint_ring (struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, unsigned int ep_index)
 
struct xhci_stream_infoxhci_alloc_stream_info (struct xhci_hcd *xhci, unsigned int num_stream_ctxs, unsigned int num_streams, gfp_t flags)
 
void xhci_free_stream_info (struct xhci_hcd *xhci, struct xhci_stream_info *stream_info)
 
void xhci_setup_streams_ep_input_ctx (struct xhci_hcd *xhci, struct xhci_ep_ctx *ep_ctx, struct xhci_stream_info *stream_info)
 
void xhci_setup_no_streams_ep_input_ctx (struct xhci_hcd *xhci, struct xhci_ep_ctx *ep_ctx, struct xhci_virt_ep *ep)
 
void xhci_free_device_endpoint_resources (struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, bool drop_control_ep)
 
struct xhci_ringxhci_dma_to_transfer_ring (struct xhci_virt_ep *ep, u64 address)
 
struct xhci_ringxhci_stream_id_to_ring (struct xhci_virt_device *dev, unsigned int ep_index, unsigned int stream_id)
 
struct xhci_commandxhci_alloc_command (struct xhci_hcd *xhci, bool allocate_in_ctx, bool allocate_completion, gfp_t mem_flags)
 
void xhci_urb_free_priv (struct xhci_hcd *xhci, struct urb_priv *urb_priv)
 
void xhci_free_command (struct xhci_hcd *xhci, struct xhci_command *command)
 
int handshake (struct xhci_hcd *xhci, void __iomem *ptr, u32 mask, u32 done, int usec)
 
void xhci_quiesce (struct xhci_hcd *xhci)
 
int xhci_halt (struct xhci_hcd *xhci)
 
int xhci_reset (struct xhci_hcd *xhci)
 
int xhci_init (struct usb_hcd *hcd)
 
int xhci_run (struct usb_hcd *hcd)
 
void xhci_stop (struct usb_hcd *hcd)
 
void xhci_shutdown (struct usb_hcd *hcd)
 
int xhci_gen_setup (struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
 
int xhci_get_frame (struct usb_hcd *hcd)
 
irqreturn_t xhci_irq (struct usb_hcd *hcd)
 
irqreturn_t xhci_msi_irq (int irq, struct usb_hcd *hcd)
 
int xhci_alloc_dev (struct usb_hcd *hcd, struct usb_device *udev)
 
void xhci_free_dev (struct usb_hcd *hcd, struct usb_device *udev)
 
int xhci_alloc_tt_info (struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct usb_device *hdev, struct usb_tt *tt, gfp_t mem_flags)
 
int xhci_alloc_streams (struct usb_hcd *hcd, struct usb_device *udev, struct usb_host_endpoint **eps, unsigned int num_eps, unsigned int num_streams, gfp_t mem_flags)
 
int xhci_free_streams (struct usb_hcd *hcd, struct usb_device *udev, struct usb_host_endpoint **eps, unsigned int num_eps, gfp_t mem_flags)
 
int xhci_address_device (struct usb_hcd *hcd, struct usb_device *udev)
 
int xhci_update_device (struct usb_hcd *hcd, struct usb_device *udev)
 
int xhci_set_usb2_hardware_lpm (struct usb_hcd *hcd, struct usb_device *udev, int enable)
 
int xhci_update_hub_device (struct usb_hcd *hcd, struct usb_device *hdev, struct usb_tt *tt, gfp_t mem_flags)
 
int xhci_urb_enqueue (struct usb_hcd *hcd, struct urb *urb, gfp_t mem_flags)
 
int xhci_urb_dequeue (struct usb_hcd *hcd, struct urb *urb, int status)
 
int xhci_add_endpoint (struct usb_hcd *hcd, struct usb_device *udev, struct usb_host_endpoint *ep)
 
int xhci_drop_endpoint (struct usb_hcd *hcd, struct usb_device *udev, struct usb_host_endpoint *ep)
 
void xhci_endpoint_reset (struct usb_hcd *hcd, struct usb_host_endpoint *ep)
 
int xhci_discover_or_reset_device (struct usb_hcd *hcd, struct usb_device *udev)
 
int xhci_check_bandwidth (struct usb_hcd *hcd, struct usb_device *udev)
 
void xhci_reset_bandwidth (struct usb_hcd *hcd, struct usb_device *udev)
 
dma_addr_t xhci_trb_virt_to_dma (struct xhci_segment *seg, union xhci_trb *trb)
 
struct xhci_segmenttrb_in_td (struct xhci_segment *start_seg, union xhci_trb *start_trb, union xhci_trb *end_trb, dma_addr_t suspect_dma)
 
int xhci_is_vendor_info_code (struct xhci_hcd *xhci, unsigned int trb_comp_code)
 
void xhci_ring_cmd_db (struct xhci_hcd *xhci)
 
int xhci_queue_slot_control (struct xhci_hcd *xhci, u32 trb_type, u32 slot_id)
 
int xhci_queue_address_device (struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, u32 slot_id)
 
int xhci_queue_vendor_command (struct xhci_hcd *xhci, u32 field1, u32 field2, u32 field3, u32 field4)
 
int xhci_queue_stop_endpoint (struct xhci_hcd *xhci, int slot_id, unsigned int ep_index, int suspend)
 
int xhci_queue_ctrl_tx (struct xhci_hcd *xhci, gfp_t mem_flags, struct urb *urb, int slot_id, unsigned int ep_index)
 
int xhci_queue_bulk_tx (struct xhci_hcd *xhci, gfp_t mem_flags, struct urb *urb, int slot_id, unsigned int ep_index)
 
int xhci_queue_intr_tx (struct xhci_hcd *xhci, gfp_t mem_flags, struct urb *urb, int slot_id, unsigned int ep_index)
 
int xhci_queue_isoc_tx_prepare (struct xhci_hcd *xhci, gfp_t mem_flags, struct urb *urb, int slot_id, unsigned int ep_index)
 
int xhci_queue_configure_endpoint (struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, u32 slot_id, bool command_must_succeed)
 
int xhci_queue_evaluate_context (struct xhci_hcd *xhci, dma_addr_t in_ctx_ptr, u32 slot_id, bool command_must_succeed)
 
int xhci_queue_reset_ep (struct xhci_hcd *xhci, int slot_id, unsigned int ep_index)
 
int xhci_queue_reset_device (struct xhci_hcd *xhci, u32 slot_id)
 
void xhci_find_new_dequeue_state (struct xhci_hcd *xhci, unsigned int slot_id, unsigned int ep_index, unsigned int stream_id, struct xhci_td *cur_td, struct xhci_dequeue_state *state)
 
void xhci_queue_new_dequeue_state (struct xhci_hcd *xhci, unsigned int slot_id, unsigned int ep_index, unsigned int stream_id, struct xhci_dequeue_state *deq_state)
 
void xhci_cleanup_stalled_ring (struct xhci_hcd *xhci, struct usb_device *udev, unsigned int ep_index)
 
void xhci_queue_config_ep_quirk (struct xhci_hcd *xhci, unsigned int slot_id, unsigned int ep_index, struct xhci_dequeue_state *deq_state)
 
void xhci_stop_endpoint_command_watchdog (unsigned long arg)
 
int xhci_cancel_cmd (struct xhci_hcd *xhci, struct xhci_command *command, union xhci_trb *cmd_trb)
 
void xhci_ring_ep_doorbell (struct xhci_hcd *xhci, unsigned int slot_id, unsigned int ep_index, unsigned int stream_id)
 
void xhci_set_link_state (struct xhci_hcd *xhci, __le32 __iomem **port_array, int port_id, u32 link_state)
 
int xhci_enable_usb3_lpm_timeout (struct usb_hcd *hcd, struct usb_device *udev, enum usb3_link_state state)
 
int xhci_disable_usb3_lpm_timeout (struct usb_hcd *hcd, struct usb_device *udev, enum usb3_link_state state)
 
void xhci_test_and_clear_bit (struct xhci_hcd *xhci, __le32 __iomem **port_array, int port_id, u32 port_bit)
 
int xhci_hub_control (struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex, char *buf, u16 wLength)
 
int xhci_hub_status_data (struct usb_hcd *hcd, char *buf)
 
u32 xhci_port_state_to_neutral (u32 state)
 
int xhci_find_slot_id_by_port (struct usb_hcd *hcd, struct xhci_hcd *xhci, u16 port)
 
void xhci_ring_device (struct xhci_hcd *xhci, int slot_id)
 
struct xhci_input_control_ctxxhci_get_input_control_ctx (struct xhci_hcd *xhci, struct xhci_container_ctx *ctx)
 
struct xhci_slot_ctxxhci_get_slot_ctx (struct xhci_hcd *xhci, struct xhci_container_ctx *ctx)
 
struct xhci_ep_ctxxhci_get_ep_ctx (struct xhci_hcd *xhci, struct xhci_container_ctx *ctx, unsigned int ep_index)
 

Macro Definition Documentation

#define ADD_EP (   x)    (0x1 << x)

Definition at line 718 of file xhci.h.

#define AVG_TRB_LENGTH_FOR_EP (   p)    ((p) & 0xffff)

Definition at line 673 of file xhci.h.

#define BULK_IN_EP   6

Definition at line 657 of file xhci.h.

#define BULK_OUT_EP   2

Definition at line 653 of file xhci.h.

#define CMD_CRS   (1 << 9)

Definition at line 197 of file xhci.h.

#define CMD_CSS   (1 << 8)

Definition at line 196 of file xhci.h.

#define CMD_EIE   XHCI_CMD_EIE

Definition at line 189 of file xhci.h.

#define CMD_EWE   XHCI_CMD_EWE

Definition at line 199 of file xhci.h.

#define CMD_HSEIE   XHCI_CMD_HSEIE

Definition at line 191 of file xhci.h.

#define CMD_LRESET   (1 << 7)

Definition at line 194 of file xhci.h.

#define CMD_PM_INDEX   (1 << 11)

Definition at line 205 of file xhci.h.

#define CMD_RESET   (1 << 1)

Definition at line 187 of file xhci.h.

#define CMD_RING_ABORT   (1 << 2)

Definition at line 251 of file xhci.h.

#define CMD_RING_PAUSE   (1 << 1)

Definition at line 249 of file xhci.h.

#define CMD_RING_RSVD_BITS   (0x3f)

Definition at line 256 of file xhci.h.

#define CMD_RING_RUNNING   (1 << 3)

Definition at line 253 of file xhci.h.

#define CMD_RING_STATE_ABORTED   (1 << 1)

Definition at line 1436 of file xhci.h.

#define CMD_RING_STATE_RUNNING   (1 << 0)

Definition at line 1435 of file xhci.h.

#define CMD_RING_STATE_STOPPED   (1 << 2)

Definition at line 1437 of file xhci.h.

#define CMD_RUN   XHCI_CMD_RUN

Definition at line 182 of file xhci.h.

#define COMP_2ND_BW_ERR   35

Definition at line 1048 of file xhci.h.

#define COMP_BABBLE   3

Definition at line 985 of file xhci.h.

#define COMP_BUFF_OVER   31

Definition at line 1040 of file xhci.h.

#define COMP_BW_ERR   8

Definition at line 995 of file xhci.h.

#define COMP_BW_OVER   18

Definition at line 1015 of file xhci.h.

#define COMP_CMD_ABORT   25

Definition at line 1029 of file xhci.h.

#define COMP_CMD_STOP   24

Definition at line 1027 of file xhci.h.

#define COMP_CODE_MASK   (0xff << 24)

Definition at line 979 of file xhci.h.

#define COMP_CTX_STATE   19

Definition at line 1017 of file xhci.h.

#define COMP_DB_ERR   2

Definition at line 983 of file xhci.h.

#define COMP_DBG_ABORT   28

Definition at line 1035 of file xhci.h.

#define COMP_DEV_ERR   22

Definition at line 1023 of file xhci.h.

#define COMP_EBADEP   12

Definition at line 1003 of file xhci.h.

#define COMP_EBADSLT   11

Definition at line 1001 of file xhci.h.

#define COMP_EINVAL   17

Definition at line 1013 of file xhci.h.

#define COMP_ENOMEM   7

Definition at line 993 of file xhci.h.

#define COMP_ENOSLOTS   9

Definition at line 997 of file xhci.h.

#define COMP_ER_FULL   21

Definition at line 1021 of file xhci.h.

#define COMP_ISSUES   32

Definition at line 1042 of file xhci.h.

#define COMP_MEL_ERR   29

Definition at line 1037 of file xhci.h.

#define COMP_MISSED_INT   23

Definition at line 1025 of file xhci.h.

#define COMP_MODE_RCVRY_MSECS   2000

Definition at line 1535 of file xhci.h.

#define COMP_OVERRUN   15

Definition at line 1009 of file xhci.h.

#define COMP_PING_ERR   20

Definition at line 1019 of file xhci.h.

#define COMP_SHORT_TX   13

Definition at line 1005 of file xhci.h.

#define COMP_SPLIT_ERR   36

Definition at line 1050 of file xhci.h.

#define COMP_STALL   6

Definition at line 991 of file xhci.h.

#define COMP_STOP   26

Definition at line 1031 of file xhci.h.

#define COMP_STOP_INVAL   27

Definition at line 1033 of file xhci.h.

#define COMP_STREAM_ERR   10

Definition at line 999 of file xhci.h.

#define COMP_STRID_ERR   34

Definition at line 1046 of file xhci.h.

#define COMP_SUCCESS   1

Definition at line 981 of file xhci.h.

#define COMP_TRB_ERR   5

Definition at line 989 of file xhci.h.

#define COMP_TX_ERR   4

Definition at line 987 of file xhci.h.

#define COMP_UNDERRUN   14

Definition at line 1007 of file xhci.h.

#define COMP_UNKNOWN   33

Definition at line 1044 of file xhci.h.

#define COMP_VF_FULL   16

Definition at line 1011 of file xhci.h.

#define CTRL_EP   4

Definition at line 655 of file xhci.h.

#define CTX_TO_EP_INTERVAL (   p)    (((p) >> 16) & 0xff)

Definition at line 637 of file xhci.h.

#define CTX_TO_EP_MULT (   p)    (((p) >> 8) & 0x3)

Definition at line 631 of file xhci.h.

#define CTX_TO_EP_TYPE (   p)    (((p) >> 3) & 0x7)

Definition at line 650 of file xhci.h.

#define CTX_TO_MAX_BURST (   p)    (((p) >> 8) & 0xff)

Definition at line 662 of file xhci.h.

#define CTX_TO_MAX_ESIT_PAYLOAD (   p)    (((p) >> 16) & 0xffff)

Definition at line 675 of file xhci.h.

#define DB_VALUE (   ep,
  stream 
)    ((((ep) + 1) & 0xff) | ((stream) << 16))

Definition at line 470 of file xhci.h.

#define DB_VALUE_HOST   0x00000000

Definition at line 471 of file xhci.h.

#define DBOFF_MASK   (~0x3)

Definition at line 126 of file xhci.h.

#define DEV_ADDR_MASK   (0xff)

Definition at line 574 of file xhci.h.

#define DEV_FULLSPEED (   p)    (((p) & DEV_SPEED_MASK) == XDEV_FS)

Definition at line 298 of file xhci.h.

#define DEV_HIGHSPEED (   p)    (((p) & DEV_SPEED_MASK) == XDEV_HS)

Definition at line 300 of file xhci.h.

#define DEV_HUB   (0x1 << 26)

Definition at line 541 of file xhci.h.

#define DEV_LOWSPEED (   p)    (((p) & DEV_SPEED_MASK) == XDEV_LS)

Definition at line 299 of file xhci.h.

#define DEV_MTT   (0x1 << 25)

Definition at line 539 of file xhci.h.

#define DEV_NOTE_FWAKE   ENABLE_DEV_NOTE(1)

Definition at line 244 of file xhci.h.

#define DEV_NOTE_MASK   (0xffff)

Definition at line 239 of file xhci.h.

#define DEV_SPEED   (0xf << 20)

Definition at line 536 of file xhci.h.

#define DEV_SPEED_MASK   (0xf << 10)

Definition at line 292 of file xhci.h.

#define DEV_SUPERSPEED (   p)    (((p) & DEV_SPEED_MASK) == XDEV_SS)

Definition at line 301 of file xhci.h.

#define DEV_UNDEFSPEED (   p)    (((p) & DEV_SPEED_MASK) == (0x0<<10))

Definition at line 297 of file xhci.h.

#define DEVINFO_TO_ROOT_HUB_PORT (   p)    (((p) >> 16) & 0xff)

Definition at line 554 of file xhci.h.

#define DMI_BLOCK   32

Definition at line 785 of file xhci.h.

#define DMI_BW_LIMIT_IN   3906

Definition at line 812 of file xhci.h.

#define DMI_BW_LIMIT_OUT   3906

Definition at line 814 of file xhci.h.

#define DMI_OVERHEAD   8

Definition at line 792 of file xhci.h.

#define DMI_OVERHEAD_BURST   4

Definition at line 793 of file xhci.h.

#define DROP_EP (   x)    (0x1 << x)

Definition at line 716 of file xhci.h.

#define DUPLICATE_ENTRY   ((u8)(-1))

Definition at line 362 of file xhci.h.

#define ENABLE_DEV_NOTE (   x)    (1 << (x))

Definition at line 240 of file xhci.h.

#define EP0_FLAG   (1 << 1)

Definition at line 547 of file xhci.h.

#define EP_CTX_CYCLE_MASK   (1 << 0)

Definition at line 678 of file xhci.h.

#define EP_GETTING_NO_STREAMS   (1 << 5)

Definition at line 837 of file xhci.h.

#define EP_GETTING_STREAMS   (1 << 3)

Definition at line 834 of file xhci.h.

#define EP_HALT_PENDING   (1 << 2) /* For URB cancellation */

Definition at line 832 of file xhci.h.

#define EP_HALTED   (1 << 1) /* For stall handling */

Definition at line 831 of file xhci.h.

#define EP_HAS_LSA   (1 << 15)

Definition at line 641 of file xhci.h.

#define EP_HAS_STREAMS   (1 << 4)

Definition at line 835 of file xhci.h.

#define EP_ID_FOR_TRB (   p)    ((((p) + 1) & 0x1f) << 16)

Definition at line 1078 of file xhci.h.

#define EP_INTERVAL (   p)    (((p) & 0xff) << 16)

Definition at line 635 of file xhci.h.

#define EP_INTERVAL_TO_UFRAMES (   p)    (1 << (((p) >> 16) & 0xff))

Definition at line 636 of file xhci.h.

#define EP_IS_ADDED (   ctrl_ctx,
  i 
)    (le32_to_cpu(ctrl_ctx->add_flags) & (1 << (i + 1)))

Definition at line 694 of file xhci.h.

#define EP_IS_DROPPED (   ctrl_ctx,
  i 
)    (le32_to_cpu(ctrl_ctx->drop_flags) & (1 << (i + 1)))

Definition at line 696 of file xhci.h.

#define EP_MAXPSTREAMS (   p)    (((p) << 10) & EP_MAXPSTREAMS_MASK)

Definition at line 639 of file xhci.h.

#define EP_MAXPSTREAMS_MASK   (0x1f << 10)

Definition at line 638 of file xhci.h.

#define EP_MULT (   p)    (((p) & 0x3) << 8)

Definition at line 630 of file xhci.h.

#define EP_STATE_DISABLED   0

Definition at line 624 of file xhci.h.

#define EP_STATE_ERROR   4

Definition at line 628 of file xhci.h.

#define EP_STATE_HALTED   2

Definition at line 626 of file xhci.h.

#define EP_STATE_MASK   (0xf)

Definition at line 623 of file xhci.h.

#define EP_STATE_RUNNING   1

Definition at line 625 of file xhci.h.

#define EP_STATE_STOPPED   3

Definition at line 627 of file xhci.h.

#define EP_TYPE (   p)    ((p) << 3)

Definition at line 651 of file xhci.h.

#define ER_IRQ_CLEAR (   p)    ((p) & 0xfffffffe)

Definition at line 414 of file xhci.h.

#define ER_IRQ_COUNTER_MASK   (0xffff << 16)

Definition at line 425 of file xhci.h.

#define ER_IRQ_DISABLE (   p)    ((ER_IRQ_CLEAR(p)) & ~(0x2))

Definition at line 416 of file xhci.h.

#define ER_IRQ_ENABLE (   p)    ((ER_IRQ_CLEAR(p)) | 0x2)

Definition at line 415 of file xhci.h.

#define ER_IRQ_INTERVAL_MASK   (0xffff)

Definition at line 423 of file xhci.h.

#define ER_IRQ_PENDING (   p)    ((p) & 0x1)

Definition at line 411 of file xhci.h.

#define ERROR_COUNT (   p)    (((p) & 0x3) << 1)

Definition at line 649 of file xhci.h.

#define ERST_DESI_MASK   (0x7)

Definition at line 435 of file xhci.h.

#define ERST_EHB   (1 << 3)

Definition at line 439 of file xhci.h.

#define ERST_ENTRIES   1

Definition at line 1348 of file xhci.h.

#define ERST_NUM_SEGS   1

Definition at line 1344 of file xhci.h.

#define ERST_PTR_MASK   (0xf)

Definition at line 440 of file xhci.h.

#define ERST_SIZE   64

Definition at line 1346 of file xhci.h.

#define ERST_SIZE_MASK   (0xffff << 16)

Definition at line 429 of file xhci.h.

#define FORCE_EVENT   (0x1)

Definition at line 648 of file xhci.h.

#define FS_BLOCK   1

Definition at line 782 of file xhci.h.

#define FS_BW_LIMIT   1285

Definition at line 808 of file xhci.h.

#define FS_BW_RESERVED   10

Definition at line 817 of file xhci.h.

#define FS_OVERHEAD   20

Definition at line 797 of file xhci.h.

#define GET_COMP_CODE (   p)    (((p) & COMP_CODE_MASK) >> 24)

Definition at line 980 of file xhci.h.

#define GET_INTR_TARGET (   p)    (((p) >> 22) & 0x3ff)

Definition at line 1098 of file xhci.h.

#define GET_MAX_PACKET (   p)    ((p) & 0x7ff)

Definition at line 670 of file xhci.h.

#define GET_PORT_ID (   p)    (((p) & (0xff << 24)) >> 24)

Definition at line 1091 of file xhci.h.

#define GET_SLOT_STATE (   p)    (((p) & (0x1f << 27)) >> 27)

Definition at line 578 of file xhci.h.

#define HC_LENGTH (   p)    XHCI_HC_LENGTH(p)

Definition at line 72 of file xhci.h.

#define HC_VERSION (   p)    (((p) >> 16) & 0xffff)

Definition at line 74 of file xhci.h.

#define HCC_64BIT_ADDR (   p)    ((p) & (1 << 0))

Definition at line 103 of file xhci.h.

#define HCC_64BYTE_CONTEXT (   p)    ((p) & (1 << 2))

Definition at line 109 of file xhci.h.

#define HCC_BANDWIDTH_NEG (   p)    ((p) & (1 << 1))

Definition at line 105 of file xhci.h.

#define HCC_EXT_CAPS (   p)    XHCI_HCC_EXT_CAPS(p)

Definition at line 123 of file xhci.h.

#define HCC_LIGHT_RESET (   p)    ((p) & (1 << 5))

Definition at line 115 of file xhci.h.

#define HCC_LTC (   p)    ((p) & (1 << 6))

Definition at line 117 of file xhci.h.

#define HCC_MAX_PSA (   p)    (1 << ((((p) >> 12) & 0xf) + 1))

Definition at line 121 of file xhci.h.

#define HCC_NSS (   p)    ((p) & (1 << 7))

Definition at line 119 of file xhci.h.

#define HCC_PPC (   p)    ((p) & (1 << 3))

Definition at line 111 of file xhci.h.

#define HCS_ERST_MAX (   p)    (((p) >> 4) & 0xf)

Definition at line 90 of file xhci.h.

#define HCS_INDICATOR (   p)    ((p) & (1 << 4))

Definition at line 113 of file xhci.h.

#define HCS_IST (   p)    (((p) >> 0) & 0xf)

Definition at line 88 of file xhci.h.

#define HCS_MAX_INTRS (   p)    (((p) >> 8) & 0x7ff)

Definition at line 81 of file xhci.h.

#define HCS_MAX_PORTS (   p)    (((p) >> 24) & 0x7f)

Definition at line 83 of file xhci.h.

#define HCS_MAX_SCRATCHPAD (   p)    (((p) >> 27) & 0x1f)

Definition at line 93 of file xhci.h.

#define HCS_MAX_SLOTS (   p)    (((p) >> 0) & 0xff)

Definition at line 78 of file xhci.h.

#define HCS_SLOTS_MASK   0xff

Definition at line 79 of file xhci.h.

#define HCS_U1_LATENCY (   p)    (((p) >> 0) & 0xff)

Definition at line 97 of file xhci.h.

#define HCS_U2_LATENCY (   p)    (((p) >> 16) & 0xffff)

Definition at line 99 of file xhci.h.

#define HS_BLOCK   4

Definition at line 783 of file xhci.h.

#define HS_BW_LIMIT   1607

Definition at line 810 of file xhci.h.

#define HS_BW_RESERVED   20

Definition at line 818 of file xhci.h.

#define HS_OVERHEAD   26

Definition at line 796 of file xhci.h.

#define IMAN_IE   (1 << 0)

Definition at line 210 of file xhci.h.

#define IMAN_IP   (1 << 1)

Definition at line 209 of file xhci.h.

#define INT_IN_EP   7

Definition at line 658 of file xhci.h.

#define INT_OUT_EP   3

Definition at line 654 of file xhci.h.

#define ISOC_IN_EP   5

Definition at line 656 of file xhci.h.

#define ISOC_OUT_EP   1

Definition at line 652 of file xhci.h.

#define LAST_CTX (   p)    ((p) << 27)

Definition at line 544 of file xhci.h.

#define LAST_CTX_MASK   (0x1f << 27)

Definition at line 543 of file xhci.h.

#define LAST_CTX_TO_EP_NUM (   p)    (((p) >> 27) - 1)

Definition at line 545 of file xhci.h.

#define LAST_EP_INDEX   30

Definition at line 1082 of file xhci.h.

#define LINK_TOGGLE   (0x1<<1)

Definition at line 1060 of file xhci.h.

#define LS_OVERHEAD   128

Definition at line 798 of file xhci.h.

#define MAX_BURST (   p)    (((p)&0xff) << 8)

Definition at line 661 of file xhci.h.

#define MAX_DEVS (   p)    ((p) & 0xff)

Definition at line 260 of file xhci.h.

#define MAX_ESIT_PAYLOAD_FOR_EP (   p)    (((p) & 0xffff) << 16)

Definition at line 674 of file xhci.h.

#define MAX_EXIT   (0xffff)

Definition at line 551 of file xhci.h.

#define MAX_HC_PORTS   127

Definition at line 41 of file xhci.h.

#define MAX_HC_SLOTS   256

Definition at line 39 of file xhci.h.

#define MAX_PACKET (   p)    (((p)&0xffff) << 16)

Definition at line 663 of file xhci.h.

#define MAX_PACKET_DECODED (   p)    (((p) >> 16) & 0xffff)

Definition at line 665 of file xhci.h.

#define MAX_PACKET_MASK   (0xffff << 16)

Definition at line 664 of file xhci.h.

#define MAX_RSVD_CMD_TRBS   (TRBS_PER_SEGMENT - 3)

Definition at line 1236 of file xhci.h.

#define MEDIUM_STREAM_ARRAY_SIZE   1024

Definition at line 758 of file xhci.h.

#define NEC_FW_MAJOR (   p)    (((p) >> 8) & 0xff)

Definition at line 1227 of file xhci.h.

#define NEC_FW_MINOR (   p)    (((p) >> 0) & 0xff)

Definition at line 1226 of file xhci.h.

#define NUM_PORT_REGS   4

Definition at line 133 of file xhci.h.

#define POLL_TIMEOUT   60

Definition at line 1350 of file xhci.h.

#define PORT_CAS   (1 << 24)

Definition at line 348 of file xhci.h.

#define PORT_CEC   (1 << 23)

Definition at line 343 of file xhci.h.

#define PORT_CONNECT   (1 << 0)

Definition at line 265 of file xhci.h.

#define PORT_CSC   (1 << 17)

Definition at line 315 of file xhci.h.

#define PORT_DEV_REMOVE   (1 << 30)

Definition at line 357 of file xhci.h.

#define PORT_HIRD (   p)    (((p) & 0xf) << 4)

Definition at line 379 of file xhci.h.

#define PORT_HIRD_MASK   (0xf << 4)

Definition at line 380 of file xhci.h.

#define PORT_HLE   (1 << 16)

Definition at line 382 of file xhci.h.

#define PORT_L1DS (   p)    (((p) & 0xff) << 8)

Definition at line 381 of file xhci.h.

#define PORT_L1S_MASK   7

Definition at line 376 of file xhci.h.

#define PORT_L1S_SUCCESS   1

Definition at line 377 of file xhci.h.

#define PORT_LED_AMBER   (1 << 14)

Definition at line 309 of file xhci.h.

#define PORT_LED_GREEN   (2 << 14)

Definition at line 310 of file xhci.h.

#define PORT_LED_MASK   (3 << 14)

Definition at line 311 of file xhci.h.

#define PORT_LED_OFF   (0 << 14)

Definition at line 308 of file xhci.h.

#define PORT_LINK_STROBE   (1 << 16)

Definition at line 313 of file xhci.h.

#define PORT_OC   (1 << 3)

Definition at line 270 of file xhci.h.

#define PORT_OCC   (1 << 20)

Definition at line 325 of file xhci.h.

#define PORT_PE   (1 << 1)

Definition at line 267 of file xhci.h.

#define PORT_PEC   (1 << 18)

Definition at line 317 of file xhci.h.

#define PORT_PLC   (1 << 22)

Definition at line 341 of file xhci.h.

#define PORT_PLS_MASK   (0xf << 5)

Definition at line 277 of file xhci.h.

#define PORT_POWER   (1 << 9)

Definition at line 283 of file xhci.h.

#define PORT_RC   (1 << 21)

Definition at line 327 of file xhci.h.

#define PORT_RESET   (1 << 4)

Definition at line 272 of file xhci.h.

#define PORT_RWE   (1 << 3)

Definition at line 378 of file xhci.h.

#define PORT_U1_TIMEOUT (   p)    ((p) & 0xff)

Definition at line 368 of file xhci.h.

#define PORT_U1_TIMEOUT_MASK   0xff

Definition at line 369 of file xhci.h.

#define PORT_U2_TIMEOUT (   p)    (((p) & 0xff) << 8)

Definition at line 371 of file xhci.h.

#define PORT_U2_TIMEOUT_MASK   (0xff << 8)

Definition at line 372 of file xhci.h.

#define PORT_WKCONN_E   (1 << 25)

Definition at line 350 of file xhci.h.

#define PORT_WKDISC_E   (1 << 26)

Definition at line 352 of file xhci.h.

#define PORT_WKOC_E   (1 << 27)

Definition at line 354 of file xhci.h.

#define PORT_WR   (1 << 31)

Definition at line 359 of file xhci.h.

#define PORT_WRC   (1 << 19)

Definition at line 323 of file xhci.h.

#define ROOT_HUB_PORT (   p)    (((p) & 0xff) << 16)

Definition at line 553 of file xhci.h.

#define ROUTE_STRING_MASK   (0xfffff)

Definition at line 534 of file xhci.h.

#define RTSOFF_MASK   (~0x1f)

Definition at line 129 of file xhci.h.

#define SCT_FOR_CTX (   p)    (((p) << 1) & 0x7)

Definition at line 728 of file xhci.h.

#define SCT_PRI_TR   1

Definition at line 732 of file xhci.h.

#define SCT_SEC_TR   0

Definition at line 730 of file xhci.h.

#define SCT_SSA_128   6

Definition at line 738 of file xhci.h.

#define SCT_SSA_16   3

Definition at line 735 of file xhci.h.

#define SCT_SSA_256   7

Definition at line 739 of file xhci.h.

#define SCT_SSA_32   4

Definition at line 736 of file xhci.h.

#define SCT_SSA_64   5

Definition at line 737 of file xhci.h.

#define SCT_SSA_8   2

Definition at line 734 of file xhci.h.

#define SEGMENT_SHIFT   (__ffs(SEGMENT_SIZE))

Definition at line 1238 of file xhci.h.

#define SEGMENT_SIZE   (TRBS_PER_SEGMENT*16)

Definition at line 1237 of file xhci.h.

#define SET_DEQ_PENDING   (1 << 0)

Definition at line 830 of file xhci.h.

#define SLOT_FLAG   (1 << 0)

Definition at line 546 of file xhci.h.

#define SLOT_ID_FOR_TRB (   p)    (((p) & 0xff) << 24)

Definition at line 1074 of file xhci.h.

#define SLOT_SPEED_FS   (XDEV_FS << 10)

Definition at line 303 of file xhci.h.

#define SLOT_SPEED_HS   (XDEV_HS << 10)

Definition at line 305 of file xhci.h.

#define SLOT_SPEED_LS   (XDEV_LS << 10)

Definition at line 304 of file xhci.h.

#define SLOT_SPEED_SS   (XDEV_SS << 10)

Definition at line 306 of file xhci.h.

#define SLOT_STATE   (0x1f << 27)

Definition at line 577 of file xhci.h.

#define SLOT_STATE_ADDRESSED   2

Definition at line 583 of file xhci.h.

#define SLOT_STATE_CONFIGURED   3

Definition at line 584 of file xhci.h.

#define SLOT_STATE_DEFAULT   1

Definition at line 582 of file xhci.h.

#define SLOT_STATE_DISABLED   0

Definition at line 580 of file xhci.h.

#define SLOT_STATE_ENABLED   SLOT_STATE_DISABLED

Definition at line 581 of file xhci.h.

#define SMALL_STREAM_ARRAY_SIZE   256

Definition at line 757 of file xhci.h.

#define SS_BLOCK   16

Definition at line 784 of file xhci.h.

#define SS_BW_LIMIT_IN   3906

Definition at line 811 of file xhci.h.

#define SS_BW_LIMIT_OUT   3906

Definition at line 813 of file xhci.h.

#define SS_BW_RESERVED   10

Definition at line 819 of file xhci.h.

#define SS_OVERHEAD   8

Definition at line 794 of file xhci.h.

#define SS_OVERHEAD_BURST   32

Definition at line 795 of file xhci.h.

#define STREAM_ID_FOR_TRB (   p)    ((((p)) & 0xffff) << 16)

Definition at line 1086 of file xhci.h.

#define STS_CNR   XHCI_STS_CNR

Definition at line 229 of file xhci.h.

#define STS_EINT   (1 << 3)

Definition at line 218 of file xhci.h.

#define STS_FATAL   (1 << 2)

Definition at line 216 of file xhci.h.

#define STS_HALT   XHCI_STS_HALT

Definition at line 214 of file xhci.h.

#define STS_HCE   (1 << 12)

Definition at line 231 of file xhci.h.

#define STS_PORT   (1 << 4)

Definition at line 220 of file xhci.h.

#define STS_RESTORE   (1 << 9)

Definition at line 225 of file xhci.h.

#define STS_SAVE   (1 << 8)

Definition at line 223 of file xhci.h.

#define STS_SRE   (1 << 10)

Definition at line 227 of file xhci.h.

#define SUSPEND_PORT_FOR_TRB (   p)    (((p) & 1) << 23)

Definition at line 1080 of file xhci.h.

#define TRB_ADDR_DEV   11

Definition at line 1169 of file xhci.h.

#define TRB_BANDWIDTH_EVENT   35

Definition at line 1203 of file xhci.h.

#define TRB_BEI   (1<<9)

Definition at line 1121 of file xhci.h.

#define TRB_CHAIN   (1<<4)

Definition at line 1114 of file xhci.h.

#define TRB_CMD_NOOP   23

Definition at line 1193 of file xhci.h.

#define TRB_COMPLETION   33

Definition at line 1199 of file xhci.h.

#define TRB_CONFIG_EP   12

Definition at line 1171 of file xhci.h.

#define TRB_CYCLE   (1<<0)

Definition at line 1103 of file xhci.h.

#define TRB_DATA   3

Definition at line 1153 of file xhci.h.

#define TRB_DATA_IN   3

Definition at line 1127 of file xhci.h.

#define TRB_DATA_OUT   2

Definition at line 1126 of file xhci.h.

#define TRB_DEV_NOTE   38

Definition at line 1209 of file xhci.h.

#define TRB_DIR_IN   (1<<16)

Definition at line 1124 of file xhci.h.

#define TRB_DISABLE_SLOT   10

Definition at line 1167 of file xhci.h.

#define TRB_DOORBELL   36

Definition at line 1205 of file xhci.h.

#define TRB_ENABLE_SLOT   9

Definition at line 1165 of file xhci.h.

#define TRB_ENT   (1<<1)

Definition at line 1108 of file xhci.h.

#define TRB_EVAL_CONTEXT   13

Definition at line 1173 of file xhci.h.

#define TRB_EVENT_DATA   7

Definition at line 1160 of file xhci.h.

#define TRB_FIELD_TO_TYPE (   p)    (((p) & TRB_TYPE_BITMASK) >> 10)

Definition at line 1146 of file xhci.h.

#define TRB_FORCE_EVENT   18

Definition at line 1183 of file xhci.h.

#define TRB_FORCE_HEADER   22

Definition at line 1191 of file xhci.h.

#define TRB_GET_BW   21

Definition at line 1189 of file xhci.h.

#define TRB_HC_EVENT   37

Definition at line 1207 of file xhci.h.

#define TRB_IDT   (1<<6)

Definition at line 1118 of file xhci.h.

#define TRB_INTR_TARGET (   p)    (((p) & 0x3ff) << 22)

Definition at line 1097 of file xhci.h.

#define TRB_IOC   (1<<5)

Definition at line 1116 of file xhci.h.

#define TRB_ISOC   5

Definition at line 1157 of file xhci.h.

#define TRB_ISP   (1<<2)

Definition at line 1110 of file xhci.h.

#define TRB_LEN (   p)    ((p) & 0x1ffff)

Definition at line 1095 of file xhci.h.

#define TRB_LINK   6

Definition at line 1159 of file xhci.h.

#define TRB_MAX_BUFF_SHIFT   16

Definition at line 1240 of file xhci.h.

#define TRB_MAX_BUFF_SIZE   (1 << TRB_MAX_BUFF_SHIFT)

Definition at line 1241 of file xhci.h.

#define TRB_MFINDEX_WRAP   39

Definition at line 1211 of file xhci.h.

#define TRB_NEC_CMD_COMP   48

Definition at line 1215 of file xhci.h.

#define TRB_NEC_GET_FW   49

Definition at line 1217 of file xhci.h.

#define TRB_NEG_BANDWIDTH   19

Definition at line 1185 of file xhci.h.

#define TRB_NO_SNOOP   (1<<3)

Definition at line 1112 of file xhci.h.

#define TRB_NORMAL   1

Definition at line 1149 of file xhci.h.

#define TRB_PORT_STATUS   34

Definition at line 1201 of file xhci.h.

#define TRB_RESET_DEV   17

Definition at line 1181 of file xhci.h.

#define TRB_RESET_EP   14

Definition at line 1175 of file xhci.h.

#define TRB_SET_DEQ   16

Definition at line 1179 of file xhci.h.

#define TRB_SET_LT   20

Definition at line 1187 of file xhci.h.

#define TRB_SETUP   2

Definition at line 1151 of file xhci.h.

#define TRB_SIA   (1<<31)

Definition at line 1130 of file xhci.h.

#define TRB_STATUS   4

Definition at line 1155 of file xhci.h.

#define TRB_STOP_RING   15

Definition at line 1177 of file xhci.h.

#define TRB_TBC (   p)    (((p) & 0x3) << 7)

Definition at line 1099 of file xhci.h.

#define TRB_TLBPC (   p)    (((p) & 0xf) << 16)

Definition at line 1100 of file xhci.h.

#define TRB_TO_EP_ID (   p)    (((p) >> 16) & 0x1f)

Transfer Event bit fields

Definition at line 976 of file xhci.h.

#define TRB_TO_EP_INDEX (   p)    ((((p) & (0x1f << 16)) >> 16) - 1)

Definition at line 1077 of file xhci.h.

#define TRB_TO_SLOT_ID (   p)    (((p) & (0xff<<24)) >> 24)

Definition at line 1073 of file xhci.h.

#define TRB_TO_STREAM_ID (   p)    ((((p) & (0xffff << 16)) >> 16))

Definition at line 1085 of file xhci.h.

#define TRB_TO_SUSPEND_PORT (   p)    (((p) & (1 << 23)) >> 23)

Definition at line 1081 of file xhci.h.

#define TRB_TR_NOOP   8

Definition at line 1162 of file xhci.h.

#define TRB_TRANSFER   32

Definition at line 1197 of file xhci.h.

#define TRB_TX_TYPE (   p)    ((p) << 16)

Definition at line 1125 of file xhci.h.

#define TRB_TYPE (   p)    ((p) << 10)

Definition at line 1145 of file xhci.h.

#define TRB_TYPE_BITMASK   (0xfc00)

Definition at line 1144 of file xhci.h.

#define TRB_TYPE_LINK (   x)    (((x) & TRB_TYPE_BITMASK) == TRB_TYPE(TRB_LINK))

Definition at line 1219 of file xhci.h.

#define TRB_TYPE_LINK_LE32 (   x)
Value:

Definition at line 1221 of file xhci.h.

#define TRB_TYPE_NOOP_LE32 (   x)
Value:

Definition at line 1223 of file xhci.h.

#define TRBS_PER_SEGMENT   64

Definition at line 1234 of file xhci.h.

#define TT_BW_LIMIT   1320

Definition at line 809 of file xhci.h.

#define TT_DMI_OVERHEAD   (25 + 12)

Definition at line 805 of file xhci.h.

#define TT_HS_OVERHEAD   (31 + 94)

Definition at line 804 of file xhci.h.

#define TT_PORT   (0xff << 8)

Definition at line 569 of file xhci.h.

#define TT_SLOT   (0xff)

Definition at line 564 of file xhci.h.

#define TT_THINK_TIME (   p)    (((p) & 0x3) << 16)

Definition at line 570 of file xhci.h.

#define XDEV_FS   (0x1 << 10)

Definition at line 293 of file xhci.h.

#define XDEV_HS   (0x3 << 10)

Definition at line 295 of file xhci.h.

#define XDEV_LS   (0x2 << 10)

Definition at line 294 of file xhci.h.

#define XDEV_RESUME   (0xf << 5)

Definition at line 281 of file xhci.h.

#define XDEV_SS   (0x4 << 10)

Definition at line 296 of file xhci.h.

#define XDEV_U0   (0x0 << 5)

Definition at line 278 of file xhci.h.

#define XDEV_U2   (0x2 << 5)

Definition at line 279 of file xhci.h.

#define XDEV_U3   (0x3 << 5)

Definition at line 280 of file xhci.h.

#define XHCI_AMD_0x96_HOST   (1 << 9)

Definition at line 1508 of file xhci.h.

#define XHCI_AMD_PLL_FIX   (1 << 3)

Definition at line 1493 of file xhci.h.

#define XHCI_AVOID_BEI   (1 << 15)

Definition at line 1514 of file xhci.h.

#define XHCI_BROKEN_MSI   (1 << 6)

Definition at line 1505 of file xhci.h.

#define xhci_bus_resume   NULL

Definition at line 1838 of file xhci.h.

#define xhci_bus_suspend   NULL

Definition at line 1837 of file xhci.h.

#define XHCI_CMD_DEFAULT_TIMEOUT   (5 * HZ)

Definition at line 1260 of file xhci.h.

#define XHCI_COMP_MODE_QUIRK   (1 << 14)

Definition at line 1513 of file xhci.h.

#define XHCI_CTX_TYPE_DEVICE   0x1

Definition at line 503 of file xhci.h.

#define XHCI_CTX_TYPE_INPUT   0x2

Definition at line 504 of file xhci.h.

#define xhci_dbg (   xhci,
  fmt,
  args... 
)    do { if (XHCI_DEBUG) dev_dbg(xhci_to_hcd(xhci)->self.controller , fmt , ## args); } while (0)

Definition at line 1555 of file xhci.h.

#define XHCI_DEBUG   0

Definition at line 1552 of file xhci.h.

#define XHCI_EP_LIMIT_QUIRK   (1 << 5)

Definition at line 1504 of file xhci.h.

#define xhci_err (   xhci,
  fmt,
  args... 
)    dev_err(xhci_to_hcd(xhci)->self.controller , fmt , ## args)

Definition at line 1559 of file xhci.h.

#define XHCI_EXT_PORT_COUNT (   x)    (((x) >> 8) & 0xff)

Definition at line 489 of file xhci.h.

#define XHCI_EXT_PORT_MAJOR (   x)    (((x) >> 24) & 0xff)

Definition at line 487 of file xhci.h.

#define XHCI_EXT_PORT_OFF (   x)    ((x) & 0xff)

Definition at line 488 of file xhci.h.

#define xhci_info (   xhci,
  fmt,
  args... 
)    do { if (XHCI_DEBUG) dev_info(xhci_to_hcd(xhci)->self.controller , fmt , ## args); } while (0)

Definition at line 1557 of file xhci.h.

#define XHCI_INTEL_HOST   (1 << 12)

Definition at line 1511 of file xhci.h.

#define XHCI_LINK_TRB_QUIRK   (1 << 0)

Definition at line 1490 of file xhci.h.

#define XHCI_LPM_SUPPORT   (1 << 11)

Definition at line 1510 of file xhci.h.

#define XHCI_MAX_INTERVAL   16

Definition at line 883 of file xhci.h.

#define XHCI_MAX_PORTS (   p)    (((p) & 0xff) << 24)

Definition at line 556 of file xhci.h.

#define XHCI_MAX_RINGS_CACHED   31

Definition at line 913 of file xhci.h.

#define XHCI_NEC_HOST   (1 << 2)

Definition at line 1492 of file xhci.h.

#define XHCI_RESET_EP_QUIRK   (1 << 1)

Definition at line 1491 of file xhci.h.

#define XHCI_RESET_ON_RESUME   (1 << 7)

Definition at line 1506 of file xhci.h.

#define xhci_resume   NULL

Definition at line 1739 of file xhci.h.

#define XHCI_SBRN_OFFSET   (0x60)

Definition at line 36 of file xhci.h.

#define XHCI_SPURIOUS_REBOOT   (1 << 13)

Definition at line 1512 of file xhci.h.

#define XHCI_SPURIOUS_SUCCESS   (1 << 4)

Definition at line 1494 of file xhci.h.

#define XHCI_STATE_DYING   (1 << 0)

Definition at line 1485 of file xhci.h.

#define XHCI_STATE_HALTED   (1 << 1)

Definition at line 1486 of file xhci.h.

#define XHCI_STOP_EP_CMD_TIMEOUT   5

Definition at line 1352 of file xhci.h.

#define xhci_suspend   NULL

Definition at line 1738 of file xhci.h.

#define XHCI_SW_BW_CHECKING   (1 << 8)

Definition at line 1507 of file xhci.h.

#define XHCI_TRUST_TX_LENGTH   (1 << 10)

Definition at line 1509 of file xhci.h.

#define xhci_warn (   xhci,
  fmt,
  args... 
)    dev_warn(xhci_to_hcd(xhci)->self.controller , fmt , ## args)

Definition at line 1561 of file xhci.h.

#define xhci_warn_ratelimited (   xhci,
  fmt,
  args... 
)    dev_warn_ratelimited(xhci_to_hcd(xhci)->self.controller , fmt , ## args)

Definition at line 1563 of file xhci.h.

Typedef Documentation

typedef void(* xhci_get_quirks_t)(struct device *, struct xhci_hcd *)

Definition at line 1722 of file xhci.h.

Enumeration Type Documentation

Enumerator:
LS_OVERHEAD_TYPE 
FS_OVERHEAD_TYPE 
HS_OVERHEAD_TYPE 

Definition at line 867 of file xhci.h.

Enumerator:
TYPE_CTRL 
TYPE_ISOC 
TYPE_BULK 
TYPE_INTR 
TYPE_STREAM 
TYPE_COMMAND 
TYPE_EVENT 

Definition at line 1275 of file xhci.h.

Function Documentation

int handshake ( struct xhci_hcd xhci,
void __iomem ptr,
u32  mask,
u32  done,
int  usec 
)

Definition at line 55 of file xhci.c.

struct xhci_segment* trb_in_td ( struct xhci_segment start_seg,
union xhci_trb start_trb,
union xhci_trb end_trb,
dma_addr_t  suspect_dma 
)
read

Definition at line 1740 of file xhci-ring.c.

int xhci_add_endpoint ( struct usb_hcd *  hcd,
struct usb_device *  udev,
struct usb_host_endpoint *  ep 
)

Definition at line 1624 of file xhci.c.

int xhci_address_device ( struct usb_hcd *  hcd,
struct usb_device *  udev 
)

Definition at line 3628 of file xhci.c.

struct xhci_command* xhci_alloc_command ( struct xhci_hcd xhci,
bool  allocate_in_ctx,
bool  allocate_completion,
gfp_t  mem_flags 
)
read

Definition at line 1718 of file xhci-mem.c.

int xhci_alloc_dev ( struct usb_hcd *  hcd,
struct usb_device *  udev 
)

Definition at line 3551 of file xhci.c.

struct xhci_stream_info* xhci_alloc_stream_info ( struct xhci_hcd xhci,
unsigned int  num_stream_ctxs,
unsigned int  num_streams,
gfp_t  flags 
)
read

Definition at line 588 of file xhci-mem.c.

int xhci_alloc_streams ( struct usb_hcd *  hcd,
struct usb_device *  udev,
struct usb_host_endpoint **  eps,
unsigned int  num_eps,
unsigned int  num_streams,
gfp_t  mem_flags 
)

Definition at line 3030 of file xhci.c.

int xhci_alloc_tt_info ( struct xhci_hcd xhci,
struct xhci_virt_device virt_dev,
struct usb_device *  hdev,
struct usb_tt *  tt,
gfp_t  mem_flags 
)

Definition at line 822 of file xhci-mem.c.

int xhci_alloc_virt_device ( struct xhci_hcd xhci,
int  slot_id,
struct usb_device *  udev,
gfp_t  flags 
)

Definition at line 919 of file xhci-mem.c.

int xhci_cancel_cmd ( struct xhci_hcd xhci,
struct xhci_command command,
union xhci_trb cmd_trb 
)

Definition at line 361 of file xhci-ring.c.

int xhci_check_bandwidth ( struct usb_hcd *  hcd,
struct usb_device *  udev 
)

Definition at line 2641 of file xhci.c.

void xhci_cleanup_stalled_ring ( struct xhci_hcd xhci,
struct usb_device *  udev,
unsigned int  ep_index 
)

Definition at line 2783 of file xhci.c.

void xhci_clear_endpoint_bw_info ( struct xhci_bw_info bw_info)

Definition at line 1516 of file xhci-mem.c.

void xhci_copy_ep0_dequeue_into_input_ctx ( struct xhci_hcd xhci,
struct usb_device *  udev 
)

Definition at line 989 of file xhci-mem.c.

void xhci_dbg_cmd_ptrs ( struct xhci_hcd xhci)

Definition at line 411 of file xhci-dbg.c.

void xhci_dbg_ctx ( struct xhci_hcd xhci,
struct xhci_container_ctx ctx,
unsigned int  last_ep 
)

Definition at line 540 of file xhci-dbg.c.

void xhci_dbg_ep_rings ( struct xhci_hcd xhci,
unsigned int  slot_id,
unsigned int  ep_index,
struct xhci_virt_ep ep 
)

Definition at line 369 of file xhci-dbg.c.

void xhci_dbg_erst ( struct xhci_hcd xhci,
struct xhci_erst erst 
)

Definition at line 393 of file xhci-dbg.c.

void xhci_dbg_regs ( struct xhci_hcd xhci)

Definition at line 29 of file xhci-dbg.c.

void xhci_dbg_ring_ptrs ( struct xhci_hcd xhci,
struct xhci_ring ring 
)

Definition at line 329 of file xhci-dbg.c.

void xhci_debug_ring ( struct xhci_hcd xhci,
struct xhci_ring ring 
)

Debugging for an xHCI ring, which is a queue broken into multiple segments.

Print out each segment in the ring. Check that the DMA address in each link segment actually matches the segment's stored DMA address. Check that the link end bit is only set at the end of the ring. Check that the dequeue and enqueue pointers point to real data in this ring (not some other ring).

Definition at line 354 of file xhci-dbg.c.

void xhci_debug_segment ( struct xhci_hcd xhci,
struct xhci_segment seg 
)

Debug a segment with an xHCI ring.

Returns
The Link TRB of the segment, or NULL if there is no Link TRB (which is a bug, since all segments must have a Link TRB).

Prints out all TRBs in the segment, even those after the Link TRB.

XXX: should we print out TRBs that the HC owns? As long as we don't write, that should be fine... We shouldn't expect that the memory pointed to by the TRB is valid at all. Do we care about ones the HC owns? Probably, for HC debugging.

Definition at line 312 of file xhci-dbg.c.

void xhci_debug_trb ( struct xhci_hcd xhci,
union xhci_trb trb 
)

Debug a transfer request block (TRB).

Definition at line 253 of file xhci-dbg.c.

int xhci_disable_usb3_lpm_timeout ( struct usb_hcd *  hcd,
struct usb_device *  udev,
enum usb3_link_state  state 
)

Definition at line 4476 of file xhci.c.

int xhci_discover_or_reset_device ( struct usb_hcd *  hcd,
struct usb_device *  udev 
)

Definition at line 3296 of file xhci.c.

struct xhci_ring* xhci_dma_to_transfer_ring ( struct xhci_virt_ep ep,
u64  address 
)
read

Definition at line 459 of file xhci-mem.c.

int xhci_drop_endpoint ( struct usb_hcd *  hcd,
struct usb_device *  udev,
struct usb_host_endpoint *  ep 
)

Definition at line 1538 of file xhci.c.

void xhci_drop_ep_from_interval_table ( struct xhci_hcd xhci,
struct xhci_bw_info ep_bw,
struct xhci_interval_bw_table bw_table,
struct usb_device *  udev,
struct xhci_virt_ep virt_ep,
struct xhci_tt_bw_info tt_info 
)

Definition at line 2274 of file xhci.c.

int xhci_enable_usb3_lpm_timeout ( struct usb_hcd *  hcd,
struct usb_device *  udev,
enum usb3_link_state  state 
)

Definition at line 4470 of file xhci.c.

void xhci_endpoint_copy ( struct xhci_hcd xhci,
struct xhci_container_ctx in_ctx,
struct xhci_container_ctx out_ctx,
unsigned int  ep_index 
)

Definition at line 1584 of file xhci-mem.c.

int xhci_endpoint_init ( struct xhci_hcd xhci,
struct xhci_virt_device virt_dev,
struct usb_device *  udev,
struct usb_host_endpoint *  ep,
gfp_t  mem_flags 
)

Definition at line 1387 of file xhci-mem.c.

void xhci_endpoint_reset ( struct usb_hcd *  hcd,
struct usb_host_endpoint *  ep 
)

Definition at line 2824 of file xhci.c.

void xhci_endpoint_zero ( struct xhci_hcd xhci,
struct xhci_virt_device virt_dev,
struct usb_host_endpoint *  ep 
)

Definition at line 1497 of file xhci-mem.c.

void xhci_find_new_dequeue_state ( struct xhci_hcd xhci,
unsigned int  slot_id,
unsigned int  ep_index,
unsigned int  stream_id,
struct xhci_td cur_td,
struct xhci_dequeue_state state 
)

Definition at line 538 of file xhci-ring.c.

int xhci_find_slot_id_by_port ( struct usb_hcd *  hcd,
struct xhci_hcd xhci,
u16  port 
)

Definition at line 239 of file xhci-hub.c.

void xhci_free_command ( struct xhci_hcd xhci,
struct xhci_command command 
)

Definition at line 1762 of file xhci-mem.c.

void xhci_free_dev ( struct usb_hcd *  hcd,
struct usb_device *  udev 
)

Definition at line 3475 of file xhci.c.

void xhci_free_device_endpoint_resources ( struct xhci_hcd xhci,
struct xhci_virt_device virt_dev,
bool  drop_control_ep 
)

Definition at line 3257 of file xhci.c.

void xhci_free_or_cache_endpoint_ring ( struct xhci_hcd xhci,
struct xhci_virt_device virt_dev,
unsigned int  ep_index 
)

Definition at line 265 of file xhci-mem.c.

void xhci_free_stream_info ( struct xhci_hcd xhci,
struct xhci_stream_info stream_info 
)

Definition at line 746 of file xhci-mem.c.

int xhci_free_streams ( struct usb_hcd *  hcd,
struct usb_device *  udev,
struct usb_host_endpoint **  eps,
unsigned int  num_eps,
gfp_t  mem_flags 
)

Definition at line 3175 of file xhci.c.

void xhci_free_virt_device ( struct xhci_hcd xhci,
int  slot_id 
)

Definition at line 865 of file xhci-mem.c.

int xhci_gen_setup ( struct usb_hcd *  hcd,
xhci_get_quirks_t  get_quirks 
)

Definition at line 4587 of file xhci.c.

unsigned int xhci_get_endpoint_flag ( struct usb_endpoint_descriptor desc)

Definition at line 1098 of file xhci.c.

unsigned int xhci_get_endpoint_flag_from_index ( unsigned int  ep_index)

Definition at line 1107 of file xhci.c.

unsigned int xhci_get_endpoint_index ( struct usb_endpoint_descriptor desc)

xhci_get_endpoint_index - Used for passing endpoint bitmasks between the core and HCDs. Find the index for an endpoint given its descriptor. Use the return value to right shift 1 for the bitmask.

Index = (epnum * 2) + direction - 1, where direction = 0 for OUT, 1 for IN. For control endpoints, the IN index is used (OUT index is unused), so index = (epnum * 2) + direction - 1 = (epnum * 2) + 1 - 1 = (epnum * 2)

Definition at line 1083 of file xhci.c.

struct xhci_ep_ctx* xhci_get_ep_ctx ( struct xhci_hcd xhci,
struct xhci_container_ctx ctx,
unsigned int  ep_index 
)
read

Definition at line 397 of file xhci-mem.c.

int xhci_get_frame ( struct usb_hcd *  hcd)

Definition at line 4580 of file xhci.c.

struct xhci_input_control_ctx* xhci_get_input_control_ctx ( struct xhci_hcd xhci,
struct xhci_container_ctx ctx 
)
read

Definition at line 380 of file xhci-mem.c.

struct xhci_slot_ctx* xhci_get_slot_ctx ( struct xhci_hcd xhci,
struct xhci_container_ctx ctx 
)
read

Definition at line 387 of file xhci-mem.c.

char* xhci_get_slot_state ( struct xhci_hcd xhci,
struct xhci_container_ctx ctx 
)

Definition at line 435 of file xhci-dbg.c.

int xhci_halt ( struct xhci_hcd xhci)

Definition at line 100 of file xhci.c.

int xhci_hub_control ( struct usb_hcd *  hcd,
u16  typeReq,
u16  wValue,
u16  wIndex,
char buf,
u16  wLength 
)

Definition at line 537 of file xhci-hub.c.

int xhci_hub_status_data ( struct usb_hcd *  hcd,
char buf 
)

Definition at line 950 of file xhci-hub.c.

int xhci_init ( struct usb_hcd *  hcd)

Definition at line 502 of file xhci.c.

irqreturn_t xhci_irq ( struct usb_hcd *  hcd)

Definition at line 2696 of file xhci-ring.c.

int xhci_is_vendor_info_code ( struct xhci_hcd xhci,
unsigned int  trb_comp_code 
)

Definition at line 1838 of file xhci-ring.c.

unsigned int xhci_last_valid_endpoint ( u32  added_ctxs)

Definition at line 1118 of file xhci.c.

void xhci_mem_cleanup ( struct xhci_hcd xhci)

Definition at line 1771 of file xhci-mem.c.

int xhci_mem_init ( struct xhci_hcd xhci,
gfp_t  flags 
)

Definition at line 2261 of file xhci-mem.c.

irqreturn_t xhci_msi_irq ( int  irq,
struct usb_hcd *  hcd 
)

Definition at line 2784 of file xhci-ring.c.

u32 xhci_port_state_to_neutral ( u32  state)

Definition at line 229 of file xhci-hub.c.

void xhci_print_ir_set ( struct xhci_hcd xhci,
int  set_num 
)

Definition at line 172 of file xhci-dbg.c.

void xhci_print_registers ( struct xhci_hcd xhci)

Definition at line 235 of file xhci-dbg.c.

void xhci_print_run_regs ( struct xhci_hcd xhci)

Definition at line 216 of file xhci-dbg.c.

void xhci_print_trb_offsets ( struct xhci_hcd xhci,
union xhci_trb trb 
)

Definition at line 242 of file xhci-dbg.c.

int xhci_queue_address_device ( struct xhci_hcd xhci,
dma_addr_t  in_ctx_ptr,
u32  slot_id 
)

Definition at line 3881 of file xhci-ring.c.

int xhci_queue_bulk_tx ( struct xhci_hcd xhci,
gfp_t  mem_flags,
struct urb urb,
int  slot_id,
unsigned int  ep_index 
)

Definition at line 3261 of file xhci-ring.c.

void xhci_queue_config_ep_quirk ( struct xhci_hcd xhci,
unsigned int  slot_id,
unsigned int  ep_index,
struct xhci_dequeue_state deq_state 
)
int xhci_queue_configure_endpoint ( struct xhci_hcd xhci,
dma_addr_t  in_ctx_ptr,
u32  slot_id,
bool  command_must_succeed 
)

Definition at line 3905 of file xhci-ring.c.

int xhci_queue_ctrl_tx ( struct xhci_hcd xhci,
gfp_t  mem_flags,
struct urb urb,
int  slot_id,
unsigned int  ep_index 
)

Definition at line 3399 of file xhci-ring.c.

int xhci_queue_evaluate_context ( struct xhci_hcd xhci,
dma_addr_t  in_ctx_ptr,
u32  slot_id,
bool  command_must_succeed 
)

Definition at line 3915 of file xhci-ring.c.

int xhci_queue_intr_tx ( struct xhci_hcd xhci,
gfp_t  mem_flags,
struct urb urb,
int  slot_id,
unsigned int  ep_index 
)

Definition at line 3023 of file xhci-ring.c.

int xhci_queue_isoc_tx_prepare ( struct xhci_hcd xhci,
gfp_t  mem_flags,
struct urb urb,
int  slot_id,
unsigned int  ep_index 
)

Definition at line 3774 of file xhci-ring.c.

void xhci_queue_new_dequeue_state ( struct xhci_hcd xhci,
unsigned int  slot_id,
unsigned int  ep_index,
unsigned int  stream_id,
struct xhci_dequeue_state deq_state 
)

Definition at line 668 of file xhci-ring.c.

int xhci_queue_reset_device ( struct xhci_hcd xhci,
u32  slot_id 
)

Definition at line 3897 of file xhci-ring.c.

int xhci_queue_reset_ep ( struct xhci_hcd xhci,
int  slot_id,
unsigned int  ep_index 
)

Definition at line 3975 of file xhci-ring.c.

int xhci_queue_slot_control ( struct xhci_hcd xhci,
u32  trb_type,
u32  slot_id 
)

Definition at line 3874 of file xhci-ring.c.

int xhci_queue_stop_endpoint ( struct xhci_hcd xhci,
int  slot_id,
unsigned int  ep_index,
int  suspend 
)

Definition at line 3928 of file xhci-ring.c.

int xhci_queue_vendor_command ( struct xhci_hcd xhci,
u32  field1,
u32  field2,
u32  field3,
u32  field4 
)

Definition at line 3890 of file xhci-ring.c.

void xhci_quiesce ( struct xhci_hcd xhci)

Definition at line 76 of file xhci.c.

int xhci_reset ( struct xhci_hcd xhci)

Definition at line 153 of file xhci.c.

void xhci_reset_bandwidth ( struct usb_hcd *  hcd,
struct usb_device *  udev 
)

Definition at line 2714 of file xhci.c.

void xhci_ring_cmd_db ( struct xhci_hcd xhci)

Definition at line 281 of file xhci-ring.c.

void xhci_ring_device ( struct xhci_hcd xhci,
int  slot_id 
)

Definition at line 321 of file xhci-hub.c.

void xhci_ring_ep_doorbell ( struct xhci_hcd xhci,
unsigned int  slot_id,
unsigned int  ep_index,
unsigned int  stream_id 
)

Definition at line 400 of file xhci-ring.c.

int xhci_ring_expansion ( struct xhci_hcd xhci,
struct xhci_ring ring,
unsigned int  num_trbs,
gfp_t  flags 
)

Definition at line 323 of file xhci-mem.c.

void xhci_ring_free ( struct xhci_hcd xhci,
struct xhci_ring ring 
)

Definition at line 151 of file xhci-mem.c.

int xhci_run ( struct usb_hcd *  hcd)

Definition at line 609 of file xhci.c.

void xhci_set_link_state ( struct xhci_hcd xhci,
__le32 __iomem **  port_array,
int  port_id,
u32  link_state 
)

Definition at line 412 of file xhci-hub.c.

int xhci_set_usb2_hardware_lpm ( struct usb_hcd *  hcd,
struct usb_device *  udev,
int  enable 
)

Definition at line 4004 of file xhci.c.

int xhci_setup_addressable_virt_dev ( struct xhci_hcd xhci,
struct usb_device *  udev 
)

Definition at line 1061 of file xhci-mem.c.

void xhci_setup_no_streams_ep_input_ctx ( struct xhci_hcd xhci,
struct xhci_ep_ctx ep_ctx,
struct xhci_virt_ep ep 
)

Definition at line 732 of file xhci-mem.c.

void xhci_setup_streams_ep_input_ctx ( struct xhci_hcd xhci,
struct xhci_ep_ctx ep_ctx,
struct xhci_stream_info stream_info 
)

Definition at line 709 of file xhci-mem.c.

void xhci_shutdown ( struct usb_hcd *  hcd)

Definition at line 764 of file xhci.c.

void xhci_slot_copy ( struct xhci_hcd xhci,
struct xhci_container_ctx in_ctx,
struct xhci_container_ctx out_ctx 
)

Definition at line 1606 of file xhci-mem.c.

void xhci_stop ( struct usb_hcd *  hcd)

Definition at line 707 of file xhci.c.

void xhci_stop_endpoint_command_watchdog ( unsigned long  arg)

Definition at line 899 of file xhci-ring.c.

struct xhci_ring* xhci_stream_id_to_ring ( struct xhci_virt_device dev,
unsigned int  ep_index,
unsigned int  stream_id 
)
read

Definition at line 480 of file xhci-mem.c.

void xhci_test_and_clear_bit ( struct xhci_hcd xhci,
__le32 __iomem **  port_array,
int  port_id,
u32  port_bit 
)

Definition at line 451 of file xhci-hub.c.

dma_addr_t xhci_trb_virt_to_dma ( struct xhci_segment seg,
union xhci_trb trb 
)

Definition at line 79 of file xhci-ring.c.

void xhci_update_bw_info ( struct xhci_hcd xhci,
struct xhci_container_ctx in_ctx,
struct xhci_input_control_ctx ctrl_ctx,
struct xhci_virt_device virt_dev 
)

Definition at line 1526 of file xhci-mem.c.

int xhci_update_device ( struct usb_hcd *  hcd,
struct usb_device *  udev 
)

Definition at line 4010 of file xhci.c.

int xhci_update_hub_device ( struct usb_hcd *  hcd,
struct usb_device *  hdev,
struct usb_tt *  tt,
gfp_t  mem_flags 
)

Definition at line 4488 of file xhci.c.

void xhci_update_tt_active_eps ( struct xhci_hcd xhci,
struct xhci_virt_device virt_dev,
int  old_active_eps 
)

Definition at line 2410 of file xhci.c.

int xhci_urb_dequeue ( struct usb_hcd *  hcd,
struct urb urb,
int  status 
)

Definition at line 1435 of file xhci.c.

int xhci_urb_enqueue ( struct usb_hcd *  hcd,
struct urb urb,
gfp_t  mem_flags 
)

Definition at line 1234 of file xhci.c.

void xhci_urb_free_priv ( struct xhci_hcd xhci,
struct urb_priv urb_priv 
)

Definition at line 1754 of file xhci-mem.c.