summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci.h
diff options
context:
space:
mode:
authorAndiry Xu <andiry.xu@amd.com>2011-05-05 18:14:02 +0800
committerSarah Sharp <sarah.a.sharp@linux.intel.com>2011-05-09 09:34:47 -0700
commitad106f292369d753d5c75751cb9e760726e3cd00 (patch)
tree0d612a1b3a09f03103eb33a012dbb3264137e170 /drivers/usb/host/xhci.h
parent7b1fc2ea8a5fbf9487d83865456cff77d0249ea9 (diff)
downloadlinux-ad106f292369d753d5c75751cb9e760726e3cd00.tar.gz
linux-ad106f292369d753d5c75751cb9e760726e3cd00.tar.bz2
linux-ad106f292369d753d5c75751cb9e760726e3cd00.zip
xHCI 1.0: Block Interrupts for Isoch transfer
Currently an isoc URB is divided into multiple TDs, and every TD will trigger an interrupt when it's processed. However, software can schedule multiple TDs at a time, and it only needs an interrupt every URB. xHCI 1.0 introduces the Block Event Interrupt(BEI) flag which allows Normal and Isoch Transfer TRBs to place an Event TRB on an Event Ring but not assert an intrrupt to the host, and the interrupt rate is significantly reduced and the system performance is improved. Signed-off-by: Andiry Xu <andiry.xu@amd.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Diffstat (limited to 'drivers/usb/host/xhci.h')
-rw-r--r--drivers/usb/host/xhci.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index af8b66f2fd00..33a49d5d6c22 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -964,6 +964,8 @@ struct xhci_event_cmd {
/* The buffer pointer contains immediate data */
#define TRB_IDT (1<<6)
+/* Block Event Interrupt */
+#define TRB_BEI (1<<9)
/* Control transfer TRB specific fields */
#define TRB_DIR_IN (1<<16)