Home
last modified time | relevance | path

Searched full:xhci (Results 1 – 25 of 362) sorted by relevance

12345678910>>...15

/kernel/linux/linux-5.10/drivers/usb/host/
Dxhci-mem.c3 * xHCI host controller driver
17 #include "xhci.h"
18 #include "xhci-trace.h"
19 #include "xhci-debugfs.h"
28 static struct xhci_segment *xhci_segment_alloc(struct xhci_hcd *xhci, in xhci_segment_alloc() argument
36 struct device *dev = xhci_to_hcd(xhci)->self.sysdev; in xhci_segment_alloc()
42 seg->trbs = dma_pool_zalloc(xhci->segment_pool, flags, &dma); in xhci_segment_alloc()
52 dma_pool_free(xhci->segment_pool, seg->trbs, dma); in xhci_segment_alloc()
68 static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg) in xhci_segment_free() argument
71 dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma); in xhci_segment_free()
[all …]
Dxhci.c3 * xHCI host controller driver
22 #include "xhci.h"
23 #include "xhci-trace.h"
24 #include "xhci-mtk.h"
25 #include "xhci-debugfs.h"
26 #include "xhci-dbgcap.h"
86 * Disable interrupts and begin the xHCI halting process.
88 void xhci_quiesce(struct xhci_hcd *xhci) in xhci_quiesce() argument
95 halted = readl(&xhci->op_regs->status) & STS_HALT; in xhci_quiesce()
99 cmd = readl(&xhci->op_regs->command); in xhci_quiesce()
[all …]
Dxhci-pci.c3 * xHCI host controller driver PCI Bus Glue.
17 #include "xhci.h"
18 #include "xhci-trace.h"
19 #include "xhci-pci.h"
89 static int xhci_pci_reinit(struct xhci_hcd *xhci, struct pci_dev *pdev) in xhci_pci_reinit() argument
99 xhci_dbg(xhci, "MWI active\n"); in xhci_pci_reinit()
101 xhci_dbg(xhci, "Finished xhci_pci_reinit\n"); in xhci_pci_reinit()
105 static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_pci_quirks() argument
115 xhci->quirks |= driver_data->quirks; in xhci_pci_quirks()
124 xhci->quirks |= XHCI_RESET_EP_QUIRK; in xhci_pci_quirks()
[all …]
Dxhci-ring.c3 * xHCI host controller driver
58 #include "xhci.h"
59 #include "xhci-trace.h"
60 #include "xhci-mtk.h"
139 static void next_trb(struct xhci_hcd *xhci, in next_trb() argument
156 void inc_deq(struct xhci_hcd *xhci, struct xhci_ring *ring) in inc_deq() argument
199 * xHCI hardware can't handle the chain bit being cleared on a link TRB.
204 static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring, in inc_enq() argument
234 (xhci->quirks & XHCI_AMD_0x96_HOST)) && in inc_enq()
235 !xhci_link_trb_quirk(xhci)) { in inc_enq()
[all …]
Dxhci-plat.c3 * xhci-plat.c - xHCI host controller driver platform Bus Glue.
8 * A lot of code borrowed from the Linux xHCI driver.
23 #include "xhci.h"
24 #include "xhci-plat.h"
25 #include "xhci-mvebu.h"
26 #include "xhci-rcar.h"
87 static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_plat_quirks() argument
89 struct xhci_plat_priv *priv = xhci_to_priv(xhci); in xhci_plat_quirks()
96 xhci->quirks |= XHCI_PLAT | priv->quirks; in xhci_plat_quirks()
142 .compatible = "generic-xhci",
[all …]
Dxhci-hub.c3 * xHCI host controller driver
15 #include "xhci.h"
16 #include "xhci-trace.h"
55 static int xhci_create_usb3_bos_desc(struct xhci_hcd *xhci, char *buf, in xhci_create_usb3_bos_desc() argument
67 /* does xhci support USB 3.1 Enhanced SuperSpeed */ in xhci_create_usb3_bos_desc()
68 for (i = 0; i < xhci->num_port_caps; i++) { in xhci_create_usb3_bos_desc()
69 if (xhci->port_caps[i].maj_rev == 0x03 && in xhci_create_usb3_bos_desc()
70 xhci->port_caps[i].min_rev >= 0x01) { in xhci_create_usb3_bos_desc()
72 port_cap = &xhci->port_caps[i]; in xhci_create_usb3_bos_desc()
78 /* does xhci provide a PSI table for SSA speed attributes? */ in xhci_create_usb3_bos_desc()
[all …]
DMakefile6 # tell define_trace.h where to find the xhci trace header
14 xhci-hcd-y := xhci.o xhci-mem.o xhci-ext-caps.o
15 xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o
16 xhci-hcd-y += xhci-trace.o
19 xhci-hcd-y += xhci-dbgcap.o xhci-dbgtty.o
23 xhci-hcd-y += xhci-mtk-sch.o
26 xhci-plat-hcd-y := xhci-plat.o
28 xhci-plat-hcd-y += xhci-mvebu.o
31 xhci-plat-hcd-y += xhci-rcar.o
35 xhci-hcd-y += xhci-debugfs.o
[all …]
Dxhci-debugfs.c3 * xhci-debugfs.c - xHCI debugfs interface
13 #include "xhci.h"
14 #include "xhci-debugfs.h"
86 static struct xhci_regset *xhci_debugfs_alloc_regset(struct xhci_hcd *xhci) in xhci_debugfs_alloc_regset() argument
99 list_add_tail(&regset->list, &xhci->regset_list); in xhci_debugfs_alloc_regset()
114 static void xhci_debugfs_regset(struct xhci_hcd *xhci, u32 base, in xhci_debugfs_regset() argument
122 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_debugfs_regset()
124 rgs = xhci_debugfs_alloc_regset(xhci); in xhci_debugfs_regset()
141 static void xhci_debugfs_extcap_regset(struct xhci_hcd *xhci, int cap_id, in xhci_debugfs_extcap_regset() argument
148 void __iomem *base = &xhci->cap_regs->hc_capbase; in xhci_debugfs_extcap_regset()
[all …]
/kernel/linux/linux-6.6/drivers/usb/host/
Dxhci-mem.c3 * xHCI host controller driver
18 #include "xhci.h"
19 #include "xhci-trace.h"
20 #include "xhci-debugfs.h"
29 static struct xhci_segment *xhci_segment_alloc(struct xhci_hcd *xhci, in xhci_segment_alloc() argument
38 struct device *dev = xhci_to_hcd(xhci)->self.sysdev; in xhci_segment_alloc()
44 seg->trbs = dma_pool_zalloc(xhci->segment_pool, flags, &dma); in xhci_segment_alloc()
54 dma_pool_free(xhci->segment_pool, seg->trbs, dma); in xhci_segment_alloc()
71 static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg) in xhci_segment_free() argument
74 dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma); in xhci_segment_free()
[all …]
Dxhci.c3 * xHCI host controller driver
23 #include "xhci.h"
24 #include "xhci-trace.h"
25 #include "xhci-debugfs.h"
26 #include "xhci-dbgcap.h"
86 * Disable interrupts and begin the xHCI halting process.
88 void xhci_quiesce(struct xhci_hcd *xhci) in xhci_quiesce() argument
95 halted = readl(&xhci->op_regs->status) & STS_HALT; in xhci_quiesce()
99 cmd = readl(&xhci->op_regs->command); in xhci_quiesce()
101 writel(cmd, &xhci->op_regs->command); in xhci_quiesce()
[all …]
Dxhci-pci.c3 * xHCI host controller driver PCI Bus Glue.
18 #include "xhci.h"
19 #include "xhci-trace.h"
20 #include "xhci-pci.h"
109 static void xhci_msix_sync_irqs(struct xhci_hcd *xhci) in xhci_msix_sync_irqs() argument
111 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_msix_sync_irqs()
117 for (i = 0; i < xhci->msix_count; i++) in xhci_msix_sync_irqs()
123 static void xhci_cleanup_msix(struct xhci_hcd *xhci) in xhci_cleanup_msix() argument
125 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_cleanup_msix()
135 for (i = 0; i < xhci->msix_count; i++) in xhci_cleanup_msix()
[all …]
Dxhci-plat.c3 * xhci-plat.c - xHCI host controller driver platform Bus Glue.
8 * A lot of code borrowed from the Linux xHCI driver.
24 #include "xhci.h"
25 #include "xhci-plat.h"
26 #include "xhci-mvebu.h"
77 static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_plat_quirks() argument
79 struct xhci_plat_priv *priv = xhci_to_priv(xhci); in xhci_plat_quirks()
81 xhci->quirks |= priv->quirks; in xhci_plat_quirks()
118 .compatible = "generic-xhci",
120 .compatible = "xhci-platform",
[all …]
Dxhci-ring.c3 * xHCI host controller driver
59 #include "xhci.h"
60 #include "xhci-trace.h"
62 static int queue_command(struct xhci_hcd *xhci, struct xhci_command *cmd,
143 static void next_trb(struct xhci_hcd *xhci, in next_trb() argument
159 void inc_deq(struct xhci_hcd *xhci, struct xhci_ring *ring) in inc_deq() argument
179 xhci_warn(xhci, "Missing link TRB at end of segment\n"); in inc_deq()
189 xhci_warn(xhci, "Ring is an endless link TRB loop\n"); in inc_deq()
210 * xHCI hardware can't handle the chain bit being cleared on a link TRB.
215 static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring, in inc_enq() argument
[all …]
DMakefile6 # tell define_trace.h where to find the xhci trace header
14 xhci-hcd-y := xhci.o xhci-mem.o xhci-ext-caps.o
15 xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o
16 xhci-hcd-y += xhci-trace.o
19 xhci-hcd-y += xhci-dbgcap.o xhci-dbgtty.o
22 xhci-mtk-hcd-y := xhci-mtk.o xhci-mtk-sch.o
24 xhci-plat-hcd-y := xhci-plat.o
26 xhci-plat-hcd-y += xhci-mvebu.o
29 xhci-hcd-y += xhci-debugfs.o
32 xhci-rcar-hcd-y += xhci-rcar.o
[all …]
Dxhci-hub.c3 * xHCI host controller driver
16 #include "xhci.h"
17 #include "xhci-trace.h"
35 static int xhci_create_usb3x_bos_desc(struct xhci_hcd *xhci, char *buf, in xhci_create_usb3x_bos_desc() argument
60 for (i = 0; i < xhci->num_port_caps; i++) { in xhci_create_usb3x_bos_desc()
61 u8 major = xhci->port_caps[i].maj_rev; in xhci_create_usb3x_bos_desc()
62 u8 minor = xhci->port_caps[i].min_rev; in xhci_create_usb3x_bos_desc()
67 port_cap = &xhci->port_caps[i]; in xhci_create_usb3x_bos_desc()
111 reg = readl(&xhci->cap_regs->hcc_params); in xhci_create_usb3x_bos_desc()
115 if ((xhci->quirks & XHCI_LPM_SUPPORT)) { in xhci_create_usb3x_bos_desc()
[all …]
Dxhci-debugfs.c3 * xhci-debugfs.c - xHCI debugfs interface
13 #include "xhci.h"
14 #include "xhci-debugfs.h"
86 static struct xhci_regset *xhci_debugfs_alloc_regset(struct xhci_hcd *xhci) in xhci_debugfs_alloc_regset() argument
99 list_add_tail(&regset->list, &xhci->regset_list); in xhci_debugfs_alloc_regset()
114 static void xhci_debugfs_regset(struct xhci_hcd *xhci, u32 base, in xhci_debugfs_regset() argument
122 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_debugfs_regset()
124 rgs = xhci_debugfs_alloc_regset(xhci); in xhci_debugfs_regset()
141 static void xhci_debugfs_extcap_regset(struct xhci_hcd *xhci, int cap_id, in xhci_debugfs_extcap_regset() argument
148 void __iomem *base = &xhci->cap_regs->hc_capbase; in xhci_debugfs_extcap_regset()
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/usb/
Drenesas,usb-xhci.yaml4 $id: http://devicetree.org/schemas/usb/renesas,usb-xhci.yaml#
7 title: Renesas USB xHCI controllers
18 - renesas,xhci-r8a7742 # RZ/G1H
19 - renesas,xhci-r8a7743 # RZ/G1M
20 - renesas,xhci-r8a7744 # RZ/G1N
21 - renesas,xhci-r8a7790 # R-Car H2
22 - renesas,xhci-r8a7791 # R-Car M2-W
23 - renesas,xhci-r8a7793 # R-Car M2-N
24 - const: renesas,rcar-gen2-xhci # R-Car Gen2 and RZ/G1
27 - renesas,xhci-r8a774a1 # RZ/G2M
[all …]
Dgeneric-xhci.yaml4 $id: http://devicetree.org/schemas/usb/generic-xhci.yaml#
7 title: USB xHCI Controller
13 - $ref: usb-xhci.yaml#
18 - description: Generic xHCI device
19 const: generic-xhci
23 - marvell,armada3700-xhci
24 - marvell,armada-375-xhci
25 - marvell,armada-380-xhci
26 - marvell,armada-8k-xhci
27 - const: generic-xhci
[all …]
Dmediatek,mtk-xhci.yaml5 $id: http://devicetree.org/schemas/usb/mediatek,mtk-xhci.yaml#
8 title: MediaTek USB3 xHCI
14 - $ref: usb-xhci.yaml
18 case 1: only supports xHCI driver;
19 case 2: supports dual-role mode, and the host is based on xHCI driver.
26 - mediatek,mt2701-xhci
27 - mediatek,mt2712-xhci
28 - mediatek,mt7622-xhci
29 - mediatek,mt7623-xhci
30 - mediatek,mt7629-xhci
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/usb/
Drenesas,usb-xhci.yaml4 $id: http://devicetree.org/schemas/usb/renesas,usb-xhci.yaml#
7 title: Renesas USB xHCI controllers
21 - renesas,xhci-r8a7742 # RZ/G1H
22 - renesas,xhci-r8a7743 # RZ/G1M
23 - renesas,xhci-r8a7744 # RZ/G1N
24 - renesas,xhci-r8a7790 # R-Car H2
25 - renesas,xhci-r8a7791 # R-Car M2-W
26 - renesas,xhci-r8a7793 # R-Car M2-N
27 - const: renesas,rcar-gen2-xhci # R-Car Gen2 and RZ/G1
30 - renesas,xhci-r8a774a1 # RZ/G2M
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/phy/
Drealtek,usb2phy.yaml15 The USB 2.0 PHY driver is designed to support the XHCI controller. The SoCs
16 support multiple XHCI controllers. One PHY device node maps to one XHCI
20 The USB architecture includes three XHCI controllers.
21 Each XHCI maps to one USB 2.0 PHY and map one USB 3.0 PHY on some
23 XHCI controller#0 -- usb2phy -- phy#0
25 XHCI controller#1 -- usb2phy -- phy#0
26 XHCI controller#2 -- usb2phy -- phy#0
30 The USB architecture includes two XHCI controllers.
33 XHCI controller#0 -- usb2phy -- phy#0
34 XHCI controller#1 -- usb2phy -- phy#0
[all …]
/kernel/linux/linux-6.6/drivers/usb/dwc3/
Dhost.c16 #include "../host/xhci-plat.h"
86 struct platform_device *xhci; in dwc3_host_init() local
94 xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); in dwc3_host_init()
95 if (!xhci) { in dwc3_host_init()
96 dev_err(dwc->dev, "couldn't allocate xHCI device\n"); in dwc3_host_init()
100 xhci->dev.parent = dwc->dev; in dwc3_host_init()
102 dwc->xhci = xhci; in dwc3_host_init()
104 ret = platform_device_add_resources(xhci, dwc->xhci_resources, in dwc3_host_init()
107 dev_err(dwc->dev, "couldn't add resources to xHCI device\n"); in dwc3_host_init()
113 props[prop_idx++] = PROPERTY_ENTRY_BOOL("xhci-sg-trb-cache-size-quirk"); in dwc3_host_init()
[all …]
/kernel/linux/linux-5.10/drivers/usb/cdns3/
Dhost.c17 #include "../host/xhci.h"
18 #include "../host/xhci-plat.h"
33 struct platform_device *xhci; in __cdns3_host_init() local
39 xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); in __cdns3_host_init()
40 if (!xhci) { in __cdns3_host_init()
41 dev_err(cdns->dev, "couldn't allocate xHCI device\n"); in __cdns3_host_init()
45 xhci->dev.parent = cdns->dev; in __cdns3_host_init()
46 cdns->host_dev = xhci; in __cdns3_host_init()
48 ret = platform_device_add_resources(xhci, cdns->xhci_res, in __cdns3_host_init()
51 dev_err(cdns->dev, "couldn't add resources to xHCI device\n"); in __cdns3_host_init()
[all …]
/kernel/linux/linux-6.6/drivers/usb/cdns3/
Dhost.c18 #include "../host/xhci.h"
19 #include "../host/xhci-plat.h"
34 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_cdns3_plat_start() local
38 value = readl(&xhci->op_regs->command); in xhci_cdns3_plat_start()
40 writel(value, &xhci->op_regs->command); in xhci_cdns3_plat_start()
71 struct platform_device *xhci; in __cdns_host_init() local
77 xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); in __cdns_host_init()
78 if (!xhci) { in __cdns_host_init()
79 dev_err(cdns->dev, "couldn't allocate xHCI device\n"); in __cdns_host_init()
83 xhci->dev.parent = cdns->dev; in __cdns_host_init()
[all …]
/kernel/linux/linux-5.10/drivers/usb/dwc3/
Dhost.c48 struct platform_device *xhci; in dwc3_host_init() local
72 xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); in dwc3_host_init()
73 if (!xhci) { in dwc3_host_init()
74 dev_err(dwc->dev, "couldn't allocate xHCI device\n"); in dwc3_host_init()
78 xhci->dev.parent = dwc->dev; in dwc3_host_init()
79 ACPI_COMPANION_SET(&xhci->dev, ACPI_COMPANION(dwc->dev)); in dwc3_host_init()
81 dwc->xhci = xhci; in dwc3_host_init()
83 ret = platform_device_add_resources(xhci, dwc->xhci_resources, in dwc3_host_init()
86 dev_err(dwc->dev, "couldn't add resources to xHCI device\n"); in dwc3_host_init()
105 * This following flag tells XHCI to do just that. in dwc3_host_init()
[all …]

12345678910>>...15