]> rtime.felk.cvut.cz Git - linux-imx.git/blobdiff - drivers/usb/host/xhci.h
USB: xhci: Work around for chain bit in link TRBs.
[linux-imx.git] / drivers / usb / host / xhci.h
index ffe1625d4e1b3507eadd7f46b04a971b1c5e346d..79ea627e8b8aade533893fb5a6593fb9237db3fb 100644 (file)
@@ -1058,6 +1058,8 @@ struct xhci_hcd {
        int                     noops_submitted;
        int                     noops_handled;
        int                     error_bitmask;
+       unsigned int            quirks;
+#define        XHCI_LINK_TRB_QUIRK     (1 << 0)
 };
 
 /* For testing purposes */
@@ -1136,6 +1138,13 @@ static inline void xhci_write_64(struct xhci_hcd *xhci,
        writel(val_hi, ptr + 1);
 }
 
+static inline int xhci_link_trb_quirk(struct xhci_hcd *xhci)
+{
+       u32 temp = xhci_readl(xhci, &xhci->cap_regs->hc_capbase);
+       return ((HC_VERSION(temp) == 0x95) &&
+                       (xhci->quirks & XHCI_LINK_TRB_QUIRK));
+}
+
 /* xHCI debugging */
 void xhci_print_ir_set(struct xhci_hcd *xhci, struct xhci_intr_reg *ir_set, int set_num);
 void xhci_print_registers(struct xhci_hcd *xhci);