Home
last modified time | relevance | path

Searched refs:xhci (Results 1 – 25 of 123) sorted by relevance

12345

/linux-6.15/drivers/usb/host/
H A Dxhci.c295 val = xhci_read_64(xhci, &xhci->op_regs->dcbaa_ptr); in xhci_zero_64b_regs()
297 xhci_write_64(xhci, 0, &xhci->op_regs->dcbaa_ptr); in xhci_zero_64b_regs()
298 val = xhci_read_64(xhci, &xhci->op_regs->cmd_ring); in xhci_zero_64b_regs()
300 xhci_write_64(xhci, 0, &xhci->op_regs->cmd_ring); in xhci_zero_64b_regs()
376 xhci = from_timer(xhci, t, comp_mode_recovery_timer); in compliance_mode_recovery()
707 xhci->s3.command = readl(&xhci->op_regs->command); in xhci_save_registers()
709 xhci->s3.dcbaa_ptr = xhci_read_64(xhci, &xhci->op_regs->dcbaa_ptr); in xhci_save_registers()
732 writel(xhci->s3.command, &xhci->op_regs->command); in xhci_restore_registers()
734 xhci_write_64(xhci, xhci->s3.dcbaa_ptr, &xhci->op_regs->dcbaa_ptr); in xhci_restore_registers()
4036 xhci->num_active_eps, xhci->limit_active_eps); in xhci_reserve_host_control_ep_resources()
[all …]
H A Dxhci-mem.c975 dev->eps[i].xhci = xhci; in xhci_alloc_virt_device()
1872 xhci_free_interrupter(xhci, xhci->interrupters[i]); in xhci_mem_cleanup()
1879 xhci_ring_free(xhci, xhci->cmd_ring); in xhci_mem_cleanup()
1917 xhci->dcbaa, xhci->dcbaa->dma); in xhci_mem_cleanup()
2032 port_cap = &xhci->port_caps[xhci->num_port_caps++]; in xhci_add_in_port()
2432 &xhci->dcbaa->dma, xhci->dcbaa); in xhci_mem_init()
2433 xhci_write_64(xhci, dma, &xhci->op_regs->dcbaa_ptr); in xhci_mem_init()
2453 if (!xhci->segment_pool || !xhci->device_pool) in xhci_mem_init()
2482 val_64 = xhci_read_64(xhci, &xhci->op_regs->cmd_ring); in xhci_mem_init()
2501 xhci->dba = (void __iomem *) xhci->cap_regs + val; in xhci_mem_init()
[all …]
H A Dxhci-ring.c479 if ((xhci->cmd_ring->dequeue != xhci->cmd_ring->enqueue) && in xhci_handle_stopped_cmd_ring()
521 ret = xhci_handshake_check_state(xhci, &xhci->op_regs->cmd_ring, in xhci_abort_cmd_ring()
1047 xhci = ep->xhci; in xhci_invalidate_cancelled_tds()
1752 hw_ring_state = xhci_read_64(xhci, &xhci->op_regs->cmd_ring); in xhci_handle_command_timeout()
1777 xhci_handle_stopped_cmd_ring(xhci, xhci->current_cmd); in xhci_handle_command_timeout()
1919 inc_deq(xhci, xhci->cmd_ring); in handle_cmd_completion()
3195 xhci_handle_events(xhci, xhci->interrupters[0]); in xhci_irq()
3624 ret = prepare_transfer(xhci, xhci->devs[slot_id], in xhci_queue_bulk_tx()
3732 ret = prepare_transfer(xhci, xhci->devs[slot_id], in xhci_queue_bulk_tx()
3795 ret = prepare_transfer(xhci, xhci->devs[slot_id], in xhci_queue_ctrl_tx()
[all …]
H A Dxhci-pci.c156 xhci->nvecs = min(num_online_cpus() + 1, xhci->max_interrupters); in xhci_try_enable_msi()
159 xhci->nvecs = pci_alloc_irq_vectors(pdev, 1, xhci->nvecs, in xhci_try_enable_msi()
161 if (xhci->nvecs < 0) { in xhci_try_enable_msi()
168 xhci_to_hcd(xhci)); in xhci_try_enable_msi()
221 xhci_cleanup_msix(xhci); in xhci_pci_stop()
543 struct xhci_hcd *xhci; in xhci_pci_setup() local
548 xhci = hcd_to_xhci(hcd); in xhci_pci_setup()
587 struct xhci_hcd *xhci; in xhci_pci_common_probe() local
613 xhci->reset = reset; in xhci_pci_common_probe()
678 struct xhci_hcd *xhci; in xhci_pci_remove() local
[all …]
H A Dxhci-hub.c564 xhci_dbg(xhci, in xhci_disable_port()
691 xhci_start(xhci); in xhci_port_set_test_mode()
704 if (!xhci->devs[i]) in xhci_enter_test_mode()
718 xhci_set_port_power(xhci, xhci->usb3_rhub.ports[i], false, flags); in xhci_enter_test_mode()
721 xhci_set_port_power(xhci, xhci->usb2_rhub.ports[i], false, flags); in xhci_enter_test_mode()
752 xhci->test_mode = 0; in xhci_exit_test_mode()
943 struct xhci_hcd *xhci; in xhci_handle_usb2_port_link_resume() local
1269 xhci_hc_died(xhci); in xhci_hub_control()
1315 xhci_hc_died(xhci); in xhci_hub_control()
1562 xhci_hc_died(xhci); in xhci_hub_control()
[all …]
H A Dxhci-plat.c81 xhci->quirks |= priv->quirks; in xhci_plat_quirks()
149 struct xhci_hcd *xhci; in xhci_plat_probe() local
193 xhci = hcd_to_xhci(hcd); in xhci_plat_probe()
208 if (IS_ERR(xhci->clk)) { in xhci_plat_probe()
209 ret = PTR_ERR(xhci->clk); in xhci_plat_probe()
214 if (IS_ERR(xhci->reset)) { in xhci_plat_probe()
239 xhci->main_hcd = hcd; in xhci_plat_probe()
269 &xhci->imod_interval); in xhci_plat_probe()
307 if (!xhci->shared_hcd) { in xhci_plat_probe()
332 if (xhci->shared_hcd) { in xhci_plat_probe()
[all …]
H A DMakefile14 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
33 xhci-rcar-hcd-$(CONFIG_USB_XHCI_RZV2M) += xhci-rzv2m.o
[all …]
H A Dxhci-debugfs.c249 struct xhci_hcd *xhci; in xhci_slot_context_show() local
271 struct xhci_hcd *xhci; in xhci_endpoint_context_show() local
643 xhci_debugfs_regset(xhci, in xhci_debugfs_init()
648 xhci_debugfs_regset(xhci, in xhci_debugfs_init()
653 xhci_debugfs_regset(xhci, in xhci_debugfs_init()
673 xhci_debugfs_create_ring_dir(xhci, &xhci->cmd_ring, in xhci_debugfs_init()
677 xhci_debugfs_create_ring_dir(xhci, &xhci->interrupters[0]->event_ring, in xhci_debugfs_init()
681 xhci->debugfs_slots = debugfs_create_dir("devices", xhci->debugfs_root); in xhci_debugfs_init()
683 xhci_debugfs_create_ports(xhci, xhci->debugfs_root); in xhci_debugfs_init()
691 xhci->debugfs_root = NULL; in xhci_debugfs_exit()
[all …]
H A Dxhci-debugfs.h107 void xhci_debugfs_init(struct xhci_hcd *xhci);
108 void xhci_debugfs_exit(struct xhci_hcd *xhci);
111 void xhci_debugfs_create_slot(struct xhci_hcd *xhci, int slot_id);
113 void xhci_debugfs_create_endpoint(struct xhci_hcd *xhci,
116 void xhci_debugfs_remove_endpoint(struct xhci_hcd *xhci,
119 void xhci_debugfs_create_stream_files(struct xhci_hcd *xhci,
123 static inline void xhci_debugfs_init(struct xhci_hcd *xhci) { } in xhci_debugfs_init() argument
124 static inline void xhci_debugfs_exit(struct xhci_hcd *xhci) { } in xhci_debugfs_exit() argument
130 xhci_debugfs_create_endpoint(struct xhci_hcd *xhci, in xhci_debugfs_create_endpoint() argument
134 xhci_debugfs_remove_endpoint(struct xhci_hcd *xhci, in xhci_debugfs_remove_endpoint() argument
[all …]
H A Dxhci.h680 struct xhci_hcd *xhci; member
1705 return xhci->main_hcd; in xhci_to_hcd()
1710 if (xhci->shared_hcd) in xhci_get_usb3_hcd()
1711 return xhci->shared_hcd; in xhci_get_usb3_hcd()
1713 if (!xhci->usb2_rhub.num_ports) in xhci_get_usb3_hcd()
1714 return xhci->main_hcd; in xhci_get_usb3_hcd()
1728 return xhci->allow_single_roothub && in xhci_has_one_roothub()
1729 (!xhci->usb2_rhub.num_ports || !xhci->usb3_rhub.num_ports); in xhci_has_one_roothub()
1732 #define xhci_dbg(xhci, fmt, args...) \ argument
1734 #define xhci_err(xhci, fmt, args...) \ argument
[all …]
H A Dxhci-histb.c193 struct xhci_hcd *xhci; in xhci_histb_probe() local
252 xhci = hcd_to_xhci(hcd); in xhci_histb_probe()
256 xhci->main_hcd = hcd; in xhci_histb_probe()
259 if (!xhci->shared_hcd) { in xhci_histb_probe()
265 xhci->quirks |= XHCI_HW_LPM_DISABLE; in xhci_histb_probe()
268 xhci->quirks |= XHCI_LPM_SUPPORT; in xhci_histb_probe()
271 xhci->imod_interval = 40000; in xhci_histb_probe()
273 &xhci->imod_interval); in xhci_histb_probe()
280 xhci->shared_hcd->can_do_streams = 1; in xhci_histb_probe()
300 usb_put_hcd(xhci->shared_hcd); in xhci_histb_probe()
[all …]
H A Dxhci-mtk.c456 xhci->quirks |= XHCI_MTK_HOST; in xhci_mtk_quirks()
471 if (xhci->hci_version < 0x100 && HCC_MAX_PSA(xhci->hcc_params) == 4) in xhci_mtk_quirks()
515 struct xhci_hcd *xhci; in xhci_mtk_probe() local
627 xhci = hcd_to_xhci(hcd); in xhci_mtk_probe()
628 xhci->main_hcd = hcd; in xhci_mtk_probe()
636 xhci->imod_interval = 5000; in xhci_mtk_probe()
646 if (!xhci->shared_hcd) { in xhci_mtk_probe()
657 if (xhci->shared_hcd) { in xhci_mtk_probe()
722 xhci->shared_hcd = NULL; in xhci_mtk_remove()
813 if (xhci->xhc_state) in xhci_mtk_runtime_suspend()
[all …]
H A Dxhci-dbgcap.c1000 dbc = xhci->dbc; in dbc_show()
1016 dbc = xhci->dbc; in dbc_store()
1036 dbc = xhci->dbc; in dbc_idVendor_show()
1057 dbc = xhci->dbc; in dbc_idVendor_store()
1078 dbc = xhci->dbc; in dbc_idProduct_show()
1099 dbc = xhci->dbc; in dbc_idProduct_store()
1119 dbc = xhci->dbc; in dbc_bcdDevice_show()
1140 dbc = xhci->dbc; in dbc_bcdDevice_store()
1161 dbc = xhci->dbc; in dbc_bInterfaceProtocol_show()
1320 if (xhci->dbc) in xhci_create_dbc_dev()
[all …]
H A Dxhci-ext-caps.c28 static int xhci_create_intel_xhci_sw_pdev(struct xhci_hcd *xhci, u32 cap_offset) in xhci_create_intel_xhci_sw_pdev() argument
30 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_create_intel_xhci_sw_pdev()
39 xhci_err(xhci, "couldn't allocate %s platform device\n", in xhci_create_intel_xhci_sw_pdev()
84 int xhci_ext_cap_init(struct xhci_hcd *xhci) in xhci_ext_cap_init() argument
86 void __iomem *base = &xhci->cap_regs->hc_capbase; in xhci_ext_cap_init()
97 if (xhci->quirks & XHCI_INTEL_USB_ROLE_SW) { in xhci_ext_cap_init()
98 ret = xhci_create_intel_xhci_sw_pdev(xhci, in xhci_ext_cap_init()
H A Dxhci-dbgcap.h127 struct xhci_hcd *xhci; member
208 int xhci_create_dbc_dev(struct xhci_hcd *xhci);
209 void xhci_remove_dbc_dev(struct xhci_hcd *xhci);
214 int xhci_dbc_tty_probe(struct device *dev, void __iomem *res, struct xhci_hcd *xhci);
225 int xhci_dbc_suspend(struct xhci_hcd *xhci);
226 int xhci_dbc_resume(struct xhci_hcd *xhci);
229 static inline int xhci_create_dbc_dev(struct xhci_hcd *xhci) in xhci_create_dbc_dev() argument
234 static inline void xhci_remove_dbc_dev(struct xhci_hcd *xhci) in xhci_remove_dbc_dev() argument
244 static inline int xhci_dbc_suspend(struct xhci_hcd *xhci) in xhci_dbc_suspend() argument
249 static inline int xhci_dbc_resume(struct xhci_hcd *xhci) in xhci_dbc_resume() argument
H A Dxhci-dbg.c13 char *xhci_get_slot_state(struct xhci_hcd *xhci, in xhci_get_slot_state() argument
16 struct xhci_slot_ctx *slot_ctx = xhci_get_slot_ctx(xhci, ctx); in xhci_get_slot_state()
22 void xhci_dbg_trace(struct xhci_hcd *xhci, void (*trace)(struct va_format *), in xhci_dbg_trace() argument
31 xhci_dbg(xhci, "%pV\n", &vaf); in xhci_dbg_trace()
H A Dxhci-mtk-sch.c130 struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd); in get_bw_info() local
134 virt_dev = xhci->devs[udev->slot_id]; in get_bw_info()
887 struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd); in xhci_mtk_sch_init() local
892 num_usb_bus = xhci->usb3_rhub.num_ports * 2 + xhci->usb2_rhub.num_ports; in xhci_mtk_sch_init()
915 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in add_ep_quirk() local
921 virt_dev = xhci->devs[udev->slot_id]; in add_ep_quirk()
923 ep_ctx = xhci_get_ep_ctx(xhci, virt_dev->in_ctx, ep_index); in add_ep_quirk()
955 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in drop_ep_quirk() local
976 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_mtk_check_bandwidth() local
990 xhci_err(xhci, "Not enough bandwidth! (%s)\n", in xhci_mtk_check_bandwidth()
[all …]
H A Dxhci-tegra.c1294 struct usb_hcd *hcd = main ? xhci->main_hcd : xhci->shared_hcd; in tegra_xhci_set_port_power()
1545 struct xhci_hcd *xhci; in tegra_xusb_probe() local
1823 xhci = hcd_to_xhci(tegra->hcd); in tegra_xusb_probe()
1829 if (!xhci->shared_hcd) { in tegra_xusb_probe()
1895 usb_put_hcd(xhci->shared_hcd); in tegra_xusb_probe()
1937 usb_put_hcd(xhci->shared_hcd); in tegra_xusb_remove()
1938 xhci->shared_hcd = NULL; in tegra_xusb_remove()
2075 rhub = &xhci->usb3_rhub; in tegra_xhci_enable_phy_sleepwalk_wake()
2077 rhub = &xhci->usb2_rhub; in tegra_xhci_enable_phy_sleepwalk_wake()
2191 if (!xhci->usb2_rhub.ports[i]) in tegra_xusb_enter_elpg()
[all …]
/linux-6.15/Documentation/devicetree/bindings/usb/
H A Drenesas,usb-xhci.yaml18 - renesas,xhci-r8a7742 # RZ/G1H
19 - renesas,xhci-r8a7743 # RZ/G1M
20 - renesas,xhci-r8a7744 # RZ/G1N
21 - renesas,xhci-r8a7790 # R-Car H2
27 - renesas,xhci-r8a774a1 # RZ/G2M
28 - renesas,xhci-r8a774b1 # RZ/G2N
29 - renesas,xhci-r8a774c0 # RZ/G2E
30 - renesas,xhci-r8a774e1 # RZ/G2H
83 - $ref: usb-xhci.yaml
90 - renesas,rzv2m-xhci
[all …]
H A Dgeneric-xhci.yaml16 const: generic-xhci
20 - marvell,armada3700-xhci
23 - marvell,armada-8k-xhci
24 - const: generic-xhci
28 - brcm,bcm2711-xhci
29 - const: brcm,xhci-brcm-v2
32 - brcm,xhci-brcm-v2
33 - brcm,bcm7445-xhci
35 const: xhci-platform
67 - $ref: usb-xhci.yaml#
[all …]
H A Dmediatek,mtk-xhci.yaml14 - $ref: usb-xhci.yaml
26 - mediatek,mt2701-xhci
27 - mediatek,mt2712-xhci
28 - mediatek,mt7622-xhci
29 - mediatek,mt7623-xhci
30 - mediatek,mt7629-xhci
31 - mediatek,mt7986-xhci
32 - mediatek,mt7988-xhci
33 - mediatek,mt8173-xhci
34 - mediatek,mt8183-xhci
[all …]
H A Dmediatek,mtu3.yaml220 $ref: /schemas/usb/mediatek,mtk-xhci.yaml#
222 The xhci should be added as subnode to mtu3 as shown in the following
269 xhci: usb@11270000 {
270 compatible = "mediatek,mt8173-xhci", "mediatek,mtk-xhci";
302 compatible = "mediatek,mt2712-xhci", "mediatek,mtk-xhci";
339 compatible = "mediatek,mt8183-xhci", "mediatek,mtk-xhci";
/linux-6.15/drivers/usb/dwc3/
H A Dhost.c130 struct platform_device *xhci; in dwc3_host_init() local
145 if (!xhci) { in dwc3_host_init()
150 xhci->dev.parent = dwc->dev; in dwc3_host_init()
152 dwc->xhci = xhci; in dwc3_host_init()
193 ret = platform_device_add_data(xhci, &dwc3_xhci_plat_quirk, in dwc3_host_init()
198 ret = platform_device_add(xhci); in dwc3_host_init()
209 device_init_wakeup(&xhci->dev, true); in dwc3_host_init()
214 platform_device_put(xhci); in dwc3_host_init()
221 device_init_wakeup(&dwc->xhci->dev, false); in dwc3_host_exit()
224 platform_device_unregister(dwc->xhci); in dwc3_host_exit()
[all …]
/linux-6.15/drivers/usb/cdns3/
H A Dhost.c34 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
78 if (!xhci) { in __cdns_host_init()
83 xhci->dev.parent = cdns->dev; in __cdns_host_init()
84 cdns->host_dev = xhci; in __cdns_host_init()
86 ret = platform_device_add_resources(xhci, cdns->xhci_res, in __cdns_host_init()
113 ret = platform_device_add(xhci); in __cdns_host_init()
120 hcd = platform_get_drvdata(xhci); in __cdns_host_init()
[all …]
/linux-6.15/Documentation/devicetree/bindings/phy/
H A Dbrcm,brcmstb-usb-phy.yaml87 brcm,has-xhci:
108 - brcm,has-xhci
166 brcm,has-xhci;
192 brcm,has-xhci;

12345