Lines Matching full:xhci

4  * xHCI host controller sideband support
11 #include <linux/usb/xhci-sideband.h>
14 #include "xhci.h"
28 dev = xhci_to_hcd(sb->xhci)->self.sysdev; in xhci_ring_to_sgtable()
86 xhci_stop_endpoint_sync(sb->xhci, ep, 0, GFP_KERNEL); in __xhci_sideband_remove_endpoint()
103 xhci_remove_secondary_interrupter(xhci_to_hcd(sb->xhci), sb->ir); in __xhci_sideband_remove_interrupter()
118 * Notifies the xHCI sideband client driver of a xHCI transfer ring free
169 * smaller than for xhci it won't be able to access the endpoint ring in xhci_sideband_add_endpoint()
232 return xhci_stop_endpoint_sync(sb->xhci, ep, 0, GFP_KERNEL); in xhci_sideband_stop_endpoint()
270 * If a secondary xhci interupter is set up for this usb device then this
319 * Sets up a xhci interrupter that can be used for this sideband accessed usb
335 if (!sb || !sb->xhci) in xhci_sideband_create_interrupter()
346 sb->ir = xhci_create_secondary_interrupter(xhci_to_hcd(sb->xhci), in xhci_sideband_create_interrupter()
384 * If a secondary xhci interrupter is set up for this usb device then this
406 * Allows for clients to utilize XHCI interrupters and fetch transfer and event
418 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_sideband_register() local
423 * Make sure the usb device is connected to a xhci controller. Fail in xhci_sideband_register()
425 * as this is the only type that is currently supported by xhci-sideband. in xhci_sideband_register()
437 spin_lock_irq(&xhci->lock); in xhci_sideband_register()
439 vdev = xhci->devs[udev->slot_id]; in xhci_sideband_register()
442 xhci_warn(xhci, "XHCI sideband for slot %d already in use\n", in xhci_sideband_register()
444 spin_unlock_irq(&xhci->lock); in xhci_sideband_register()
449 sb->xhci = xhci; in xhci_sideband_register()
456 spin_unlock_irq(&xhci->lock); in xhci_sideband_register()
469 * be accessed via sideband. The xhci driver can now take over handling
476 struct xhci_hcd *xhci; in xhci_sideband_unregister() local
482 xhci = sb->xhci; in xhci_sideband_unregister()
498 spin_lock_irq(&xhci->lock); in xhci_sideband_unregister()
499 sb->xhci = NULL; in xhci_sideband_unregister()
501 spin_unlock_irq(&xhci->lock); in xhci_sideband_unregister()
506 MODULE_DESCRIPTION("xHCI sideband driver for secondary interrupter management");