| /linux-6.15/drivers/usb/host/ |
| H A D | xhci.c | 295 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 D | xhci-mem.c | 975 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 D | xhci-ring.c | 479 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 D | xhci-pci.c | 156 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 D | xhci-hub.c | 564 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 D | xhci-plat.c | 81 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 D | Makefile | 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 33 xhci-rcar-hcd-$(CONFIG_USB_XHCI_RZV2M) += xhci-rzv2m.o [all …]
|
| H A D | xhci-debugfs.c | 249 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 D | xhci-debugfs.h | 107 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 D | xhci.h | 680 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 D | xhci-histb.c | 193 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 D | xhci-mtk.c | 456 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 D | xhci-dbgcap.c | 1000 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 D | xhci-ext-caps.c | 28 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 D | xhci-dbgcap.h | 127 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 D | xhci-dbg.c | 13 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 D | xhci-mtk-sch.c | 130 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 D | xhci-tegra.c | 1294 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 D | renesas,usb-xhci.yaml | 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 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 D | generic-xhci.yaml | 16 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 D | mediatek,mtk-xhci.yaml | 14 - $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 D | mediatek,mtu3.yaml | 220 $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 D | host.c | 130 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 D | host.c | 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 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 D | brcm,brcmstb-usb-phy.yaml | 87 brcm,has-xhci: 108 - brcm,has-xhci 166 brcm,has-xhci; 192 brcm,has-xhci;
|