| /OK3568_Linux_fs/kernel/drivers/usb/host/ |
| H A D | xhci.c | 86 void xhci_quiesce(struct xhci_hcd *xhci) in xhci_quiesce() argument 93 halted = readl(&xhci->op_regs->status) & STS_HALT; in xhci_quiesce() 97 cmd = readl(&xhci->op_regs->command); in xhci_quiesce() 99 writel(cmd, &xhci->op_regs->command); in xhci_quiesce() 110 int xhci_halt(struct xhci_hcd *xhci) in xhci_halt() argument 113 xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Halt the HC"); in xhci_halt() 114 xhci_quiesce(xhci); in xhci_halt() 116 ret = xhci_handshake(&xhci->op_regs->status, in xhci_halt() 119 xhci_warn(xhci, "Host halt failed, %d\n", ret); in xhci_halt() 122 xhci->xhc_state |= XHCI_STATE_HALTED; in xhci_halt() [all …]
|
| H A D | xhci-mem.c | 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 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() 79 void xhci_free_segments_for_ring(struct xhci_hcd *xhci, in xhci_free_segments_for_ring() argument 87 xhci_segment_free(xhci, seg); in xhci_free_segments_for_ring() 90 xhci_segment_free(xhci, first); in xhci_free_segments_for_ring() 128 static void xhci_link_rings(struct xhci_hcd *xhci, struct xhci_ring *ring, in xhci_link_rings() argument [all …]
|
| H A D | xhci-ring.c | 61 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() 191 xhci_warn(xhci, "Ring is an endless link TRB loop\n"); in inc_deq() 217 static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring, in inc_enq() argument 230 xhci_err(xhci, "Tried to move enqueue past ring segment\n"); in inc_enq() 254 (xhci->quirks & XHCI_AMD_0x96_HOST)) && in inc_enq() 255 !xhci_link_trb_quirk(xhci)) { in inc_enq() 272 xhci_warn(xhci, "%s: Ring link TRB loop\n", __func__); in inc_enq() [all …]
|
| H A D | xhci-pci.c | 86 static int xhci_pci_reinit(struct xhci_hcd *xhci, struct pci_dev *pdev) in xhci_pci_reinit() argument 96 xhci_dbg(xhci, "MWI active\n"); in xhci_pci_reinit() 98 xhci_dbg(xhci, "Finished xhci_pci_reinit\n"); in xhci_pci_reinit() 102 static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_pci_quirks() argument 112 xhci->quirks |= driver_data->quirks; in xhci_pci_quirks() 121 xhci->quirks |= XHCI_RESET_EP_QUIRK; in xhci_pci_quirks() 122 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, in xhci_pci_quirks() 128 xhci->quirks |= XHCI_SLOW_SUSPEND; in xhci_pci_quirks() 129 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, in xhci_pci_quirks() 135 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks() [all …]
|
| H A D | xhci-hub.c | 55 static int xhci_create_usb3_bos_desc(struct xhci_hcd *xhci, char *buf, in xhci_create_usb3_bos_desc() argument 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() 99 temp = readl(&xhci->cap_regs->hcc_params); in xhci_create_usb3_bos_desc() 104 if ((xhci->quirks & XHCI_LPM_SUPPORT)) { in xhci_create_usb3_bos_desc() 105 temp = readl(&xhci->cap_regs->hcs_params3); in xhci_create_usb3_bos_desc() 169 static void xhci_common_hub_descriptor(struct xhci_hcd *xhci, in xhci_common_hub_descriptor() argument 179 if (HCC_PPC(xhci->hcc_params)) in xhci_common_hub_descriptor() [all …]
|
| H A D | xhci-plat.c | 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() 202 static int xhci_vendor_init(struct xhci_hcd *xhci) in xhci_vendor_init() argument 207 ops = xhci->vendor_ops = xhci_plat_vendor_overwrite.vendor_ops; in xhci_vendor_init() 210 return ops->vendor_init(xhci); in xhci_vendor_init() 214 static void xhci_vendor_cleanup(struct xhci_hcd *xhci) in xhci_vendor_cleanup() argument 216 struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); in xhci_vendor_cleanup() 219 ops->vendor_cleanup(xhci); in xhci_vendor_cleanup() 221 xhci->vendor_ops = NULL; in xhci_vendor_cleanup() [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-plat-hcd-y += xhci-rcar.o 33 xhci-hcd-y += xhci-debugfs.o 71 obj-$(CONFIG_USB_XHCI_HCD) += xhci-hcd.o [all …]
|
| H A D | xhci-debugfs.c | 86 static struct xhci_regset *xhci_debugfs_alloc_regset(struct xhci_hcd *xhci) in xhci_debugfs_alloc_regset() argument 99 list_add_tail(®set->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() 140 static void xhci_debugfs_extcap_regset(struct xhci_hcd *xhci, int cap_id, in xhci_debugfs_extcap_regset() argument 147 void __iomem *base = &xhci->cap_regs->hc_capbase; in xhci_debugfs_extcap_regset() 156 xhci_debugfs_regset(xhci, offset, regs, nregs, in xhci_debugfs_extcap_regset() 157 xhci->debugfs_root, "%s:%02d", in xhci_debugfs_extcap_regset() 260 struct xhci_hcd *xhci; in xhci_slot_context_show() local [all …]
|
| H A D | xhci.h | 957 struct xhci_hcd *xhci; member 1983 static inline struct usb_hcd *xhci_to_hcd(struct xhci_hcd *xhci) in xhci_to_hcd() argument 1985 return xhci->main_hcd; in xhci_to_hcd() 1988 #define xhci_dbg(xhci, fmt, args...) \ argument 1989 dev_dbg(xhci_to_hcd(xhci)->self.controller , fmt , ## args) 1990 #define xhci_err(xhci, fmt, args...) \ argument 1991 dev_err(xhci_to_hcd(xhci)->self.controller , fmt , ## args) 1992 #define xhci_warn(xhci, fmt, args...) \ argument 1993 dev_warn(xhci_to_hcd(xhci)->self.controller , fmt , ## args) 1994 #define xhci_warn_ratelimited(xhci, fmt, args...) \ argument [all …]
|
| H A D | xhci-histb.c | 167 static void xhci_histb_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_histb_quirks() argument 174 xhci->quirks |= XHCI_PLAT; in xhci_histb_quirks() 203 struct xhci_hcd *xhci; in xhci_histb_probe() local 262 xhci = hcd_to_xhci(hcd); in xhci_histb_probe() 266 xhci->main_hcd = hcd; in xhci_histb_probe() 267 xhci->shared_hcd = usb_create_shared_hcd(driver, dev, dev_name(dev), in xhci_histb_probe() 269 if (!xhci->shared_hcd) { in xhci_histb_probe() 275 xhci->quirks |= XHCI_HW_LPM_DISABLE; in xhci_histb_probe() 278 xhci->quirks |= XHCI_LPM_SUPPORT; in xhci_histb_probe() 281 xhci->imod_interval = 40000; in xhci_histb_probe() [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); 112 void xhci_debugfs_remove_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 [all …]
|
| H A D | xhci-mtk.c | 372 static void xhci_mtk_quirks(struct device *dev, struct xhci_hcd *xhci) in xhci_mtk_quirks() argument 374 struct usb_hcd *hcd = xhci_to_hcd(xhci); in xhci_mtk_quirks() 382 xhci->quirks |= XHCI_PLAT; in xhci_mtk_quirks() 383 xhci->quirks |= XHCI_MTK_HOST; in xhci_mtk_quirks() 388 xhci->quirks |= XHCI_SPURIOUS_SUCCESS; in xhci_mtk_quirks() 390 xhci->quirks |= XHCI_LPM_SUPPORT; in xhci_mtk_quirks() 392 xhci->quirks |= XHCI_HW_LPM_DISABLE; in xhci_mtk_quirks() 398 if (xhci->hci_version < 0x100 && HCC_MAX_PSA(xhci->hcc_params) == 4) in xhci_mtk_quirks() 399 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_mtk_quirks() 443 struct xhci_hcd *xhci; in xhci_mtk_probe() local [all …]
|
| H A D | xhci-dbgcap.c | 917 static void xhci_do_dbc_exit(struct xhci_hcd *xhci) in xhci_do_dbc_exit() argument 921 spin_lock_irqsave(&xhci->lock, flags); in xhci_do_dbc_exit() 922 kfree(xhci->dbc); in xhci_do_dbc_exit() 923 xhci->dbc = NULL; in xhci_do_dbc_exit() 924 spin_unlock_irqrestore(&xhci->lock, flags); in xhci_do_dbc_exit() 927 static int xhci_do_dbc_init(struct xhci_hcd *xhci) in xhci_do_dbc_init() argument 935 base = &xhci->cap_regs->hc_capbase; in xhci_do_dbc_init() 953 spin_lock_irqsave(&xhci->lock, flags); in xhci_do_dbc_init() 954 if (xhci->dbc) { in xhci_do_dbc_init() 955 spin_unlock_irqrestore(&xhci->lock, flags); in xhci_do_dbc_init() [all …]
|
| H A D | xhci-dbgcap.h | 123 struct xhci_hcd *xhci; member 197 int xhci_dbc_init(struct xhci_hcd *xhci); 198 void xhci_dbc_exit(struct xhci_hcd *xhci); 199 int xhci_dbc_tty_probe(struct xhci_hcd *xhci); 207 int xhci_dbc_suspend(struct xhci_hcd *xhci); 208 int xhci_dbc_resume(struct xhci_hcd *xhci); 211 static inline int xhci_dbc_init(struct xhci_hcd *xhci) in xhci_dbc_init() argument 216 static inline void xhci_dbc_exit(struct xhci_hcd *xhci) in xhci_dbc_exit() argument 220 static inline int xhci_dbc_suspend(struct xhci_hcd *xhci) in xhci_dbc_suspend() argument 225 static inline int xhci_dbc_resume(struct xhci_hcd *xhci) in xhci_dbc_resume() argument
|
| 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() 83 int xhci_ext_cap_init(struct xhci_hcd *xhci) in xhci_ext_cap_init() argument 85 void __iomem *base = &xhci->cap_regs->hc_capbase; in xhci_ext_cap_init() 96 if (xhci->quirks & XHCI_INTEL_USB_ROLE_SW) { in xhci_ext_cap_init() 97 ret = xhci_create_intel_xhci_sw_pdev(xhci, in xhci_ext_cap_init()
|
| /OK3568_Linux_fs/u-boot/drivers/usb/host/ |
| H A D | xhci-mem.su | |
| H A D | xhci.su | |
| H A D | xhci-ring.su | |
| H A D | Makefile | 49 obj-$(CONFIG_USB_XHCI_HCD) += xhci.o xhci-mem.o xhci-ring.o 50 obj-$(CONFIG_USB_XHCI_DWC3) += xhci-dwc3.o 52 obj-$(CONFIG_USB_XHCI_EXYNOS) += xhci-exynos5.o 53 obj-$(CONFIG_USB_XHCI_FSL) += xhci-fsl.o 54 obj-$(CONFIG_USB_XHCI_MVEBU) += xhci-mvebu.o 55 obj-$(CONFIG_USB_XHCI_OMAP) += xhci-omap.o 56 obj-$(CONFIG_USB_XHCI_PCI) += xhci-pci.o 57 obj-$(CONFIG_USB_XHCI_RCAR) += xhci-rcar.o
|
| H A D | xhci-dwc3.su | |
| /OK3568_Linux_fs/kernel/drivers/usb/dwc3/ |
| H A D | host.c | 48 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() 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() 114 ret = platform_device_add_properties(xhci, props); in dwc3_host_init() 121 ret = platform_device_add(xhci); in dwc3_host_init() 129 platform_device_put(xhci); in dwc3_host_init() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/usb/cdns3/ |
| H A D | host.c | 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() 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() 65 ret = platform_device_add_data(xhci, cdns->xhci_plat_data, in __cdns3_host_init() 70 ret = platform_device_add(xhci); in __cdns3_host_init() 77 hcd = platform_get_drvdata(xhci); in __cdns3_host_init() 86 platform_device_put(xhci); in __cdns3_host_init() [all …]
|
| /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/qemu/qemu/ |
| H A D | 0018_let_ld_pointer_dma_function_propagate_MemTxResult.patch | 24 hw/usb/hcd-xhci.c | 7 ++++--- 63 diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c 65 --- a/hw/usb/hcd-xhci.c 66 +++ b/hw/usb/hcd-xhci.c 67 @@ -2062,7 +2062,7 @@ static TRBCCode xhci_address_slot(XHCIState *xhci, unsigned int slotid, 68 assert(slotid >= 1 && slotid <= xhci->numslots); 70 dcbaap = xhci_addr64(xhci->dcbaap_low, xhci->dcbaap_high); 71 - poctx = ldq_le_dma(xhci->as, dcbaap + 8 * slotid, MEMTXATTRS_UNSPECIFIED); 72 + ldq_le_dma(xhci->as, dcbaap + 8 * slotid, &poctx, MEMTXATTRS_UNSPECIFIED); 82 dcbaap = xhci_addr64(xhci->dcbaap_low, xhci->dcbaap_high); [all …]
|
| H A D | 0016_let_ld_pointer_dma_function_take_MemTxAttrs_argument.patch | 23 hw/usb/hcd-xhci.c | 6 +++--- 61 diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c 63 --- a/hw/usb/hcd-xhci.c 64 +++ b/hw/usb/hcd-xhci.c 65 @@ -2062,7 +2062,7 @@ static TRBCCode xhci_address_slot(XHCIState *xhci, unsigned int slotid, 66 assert(slotid >= 1 && slotid <= xhci->numslots); 68 dcbaap = xhci_addr64(xhci->dcbaap_low, xhci->dcbaap_high); 69 - poctx = ldq_le_dma(xhci->as, dcbaap + 8 * slotid); 70 + poctx = ldq_le_dma(xhci->as, dcbaap + 8 * slotid, MEMTXATTRS_UNSPECIFIED); 79 - xhci_mask64(ldq_le_dma(xhci->as, dcbaap + 8 * slotid)); [all …]
|
| /OK3568_Linux_fs/u-boot/doc/device-tree-bindings/usb/ |
| H A D | marvell.xhci-usb.txt | 8 - "marvell,armada3700-xhci", "generic-xhci" for Armada 37xx SoCs 9 - "marvell,armada-8k-xhci", "generic-xhci" for Armada A8K SoCs 21 compatible = "marvell,armada-8k-xhci", 22 "generic-xhci";
|