Lines Matching refs:xhci
65 static int xhci_pci_reinit(struct xhci_hcd *xhci, struct pci_dev *pdev) in xhci_pci_reinit() argument
75 xhci_dbg(xhci, "MWI active\n"); in xhci_pci_reinit()
77 xhci_dbg(xhci, "Finished xhci_pci_reinit\n"); in xhci_pci_reinit()
81 static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_pci_quirks() argument
91 xhci->quirks |= XHCI_RESET_EP_QUIRK; in xhci_pci_quirks()
92 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, in xhci_pci_quirks()
98 xhci->quirks |= XHCI_SLOW_SUSPEND; in xhci_pci_quirks()
99 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, in xhci_pci_quirks()
105 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks()
110 xhci->quirks |= XHCI_BROKEN_MSI; in xhci_pci_quirks()
111 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, in xhci_pci_quirks()
115 xhci->quirks |= XHCI_TRUST_TX_LENGTH; in xhci_pci_quirks()
119 xhci->quirks |= XHCI_NEC_HOST; in xhci_pci_quirks()
121 if (pdev->vendor == PCI_VENDOR_ID_AMD && xhci->hci_version == 0x96) in xhci_pci_quirks()
122 xhci->quirks |= XHCI_AMD_0x96_HOST; in xhci_pci_quirks()
126 xhci->quirks |= XHCI_AMD_PLL_FIX; in xhci_pci_quirks()
129 xhci->quirks |= XHCI_TRUST_TX_LENGTH; in xhci_pci_quirks()
132 xhci->quirks |= XHCI_LPM_SUPPORT; in xhci_pci_quirks()
133 xhci->quirks |= XHCI_INTEL_HOST; in xhci_pci_quirks()
134 xhci->quirks |= XHCI_AVOID_BEI; in xhci_pci_quirks()
138 xhci->quirks |= XHCI_EP_LIMIT_QUIRK; in xhci_pci_quirks()
139 xhci->limit_active_eps = 64; in xhci_pci_quirks()
140 xhci->quirks |= XHCI_SW_BW_CHECKING; in xhci_pci_quirks()
149 xhci->quirks |= XHCI_SPURIOUS_REBOOT; in xhci_pci_quirks()
153 xhci->quirks |= XHCI_SPURIOUS_REBOOT; in xhci_pci_quirks()
154 xhci->quirks |= XHCI_SPURIOUS_WAKEUP; in xhci_pci_quirks()
162 xhci->quirks |= XHCI_PME_STUCK_QUIRK; in xhci_pci_quirks()
166 xhci->quirks |= XHCI_RESET_ON_RESUME; in xhci_pci_quirks()
167 xhci->quirks |= XHCI_TRUST_TX_LENGTH; in xhci_pci_quirks()
168 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks()
172 xhci->quirks |= XHCI_RESET_ON_RESUME; in xhci_pci_quirks()
174 xhci->quirks |= XHCI_RESET_ON_RESUME; in xhci_pci_quirks()
179 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks()
183 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks()
185 if (xhci->quirks & XHCI_RESET_ON_RESUME) in xhci_pci_quirks()
186 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, in xhci_pci_quirks()
210 struct xhci_hcd *xhci; in xhci_pci_setup() local
214 xhci = hcd_to_xhci(hcd); in xhci_pci_setup()
215 if (!xhci->sbrn) in xhci_pci_setup()
216 pci_read_config_byte(pdev, XHCI_SBRN_OFFSET, &xhci->sbrn); in xhci_pci_setup()
225 xhci_dbg(xhci, "Got SBRN %u\n", (unsigned int) xhci->sbrn); in xhci_pci_setup()
228 retval = xhci_pci_reinit(xhci, pdev); in xhci_pci_setup()
242 struct xhci_hcd *xhci; in xhci_pci_probe() local
264 xhci = hcd_to_xhci(hcd); in xhci_pci_probe()
265 xhci->shared_hcd = usb_create_shared_hcd(driver, &dev->dev, in xhci_pci_probe()
267 if (!xhci->shared_hcd) { in xhci_pci_probe()
272 retval = usb_add_hcd(xhci->shared_hcd, dev->irq, in xhci_pci_probe()
278 if (!(xhci->quirks & XHCI_BROKEN_STREAMS) && in xhci_pci_probe()
279 HCC_MAX_PSA(xhci->hcc_params) >= 4) in xhci_pci_probe()
280 xhci->shared_hcd->can_do_streams = 1; in xhci_pci_probe()
282 if (xhci->quirks & XHCI_PME_STUCK_QUIRK) in xhci_pci_probe()
291 usb_put_hcd(xhci->shared_hcd); in xhci_pci_probe()
301 struct xhci_hcd *xhci; in xhci_pci_remove() local
303 xhci = hcd_to_xhci(pci_get_drvdata(dev)); in xhci_pci_remove()
304 xhci->xhc_state |= XHCI_STATE_REMOVING; in xhci_pci_remove()
305 if (xhci->shared_hcd) { in xhci_pci_remove()
306 usb_remove_hcd(xhci->shared_hcd); in xhci_pci_remove()
307 usb_put_hcd(xhci->shared_hcd); in xhci_pci_remove()
312 if (xhci->quirks & XHCI_SPURIOUS_WAKEUP) in xhci_pci_remove()
328 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_pme_quirk() local
338 reg = (void __iomem *) xhci->cap_regs + in xhci_pme_quirk()
364 reg = (void __iomem *) xhci->cap_regs + 0x80a4; in xhci_pme_quirk()
372 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_pci_suspend() local
379 if (xhci->quirks & XHCI_COMP_MODE_QUIRK) in xhci_pci_suspend()
382 if (xhci->quirks & XHCI_PME_STUCK_QUIRK) in xhci_pci_suspend()
385 return xhci_suspend(xhci, do_wakeup); in xhci_pci_suspend()
390 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_pci_resume() local
415 if (xhci->quirks & XHCI_PME_STUCK_QUIRK) in xhci_pci_resume()
418 retval = xhci_resume(xhci, hibernated); in xhci_pci_resume()