ehci 30 arch/mips/include/asm/mach-loongson64/cs5536/cs5536_vsm.h DECLARE_CS5536_MODULE(ehci) ehci 194 drivers/mfd/omap-usb-host.c struct platform_device *ehci; ehci 216 drivers/mfd/omap-usb-host.c ehci = omap_usbhs_alloc_child(OMAP_EHCI_DEVICE, resources, 2, pdata, ehci 219 drivers/mfd/omap-usb-host.c if (!ehci) { ehci 252 drivers/mfd/omap-usb-host.c platform_device_unregister(ehci); ehci 202 drivers/phy/samsung/phy-exynos5250-usb2.c u32 ehci; ehci 303 drivers/phy/samsung/phy-exynos5250-usb2.c ehci = readl(drv->reg_phy + EXYNOS_5250_HOSTEHCICTRL); ehci 304 drivers/phy/samsung/phy-exynos5250-usb2.c ehci |= EXYNOS_5250_HOSTEHCICTRL_ENAINCRXALIGN | ehci 308 drivers/phy/samsung/phy-exynos5250-usb2.c writel(ehci, drv->reg_phy + EXYNOS_5250_HOSTEHCICTRL); ehci 34 drivers/usb/chipidea/host.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 35 drivers/usb/chipidea/host.c struct ehci_ci_priv *priv = (struct ehci_ci_priv *)ehci->priv; ehci 39 drivers/usb/chipidea/host.c int port = HCS_N_PORTS(ehci->hcs_params); ehci 75 drivers/usb/chipidea/host.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 82 drivers/usb/chipidea/host.c ehci->need_io_watchdog = 0; ehci 110 drivers/usb/chipidea/host.c struct ehci_hcd *ehci; ehci 136 drivers/usb/chipidea/host.c ehci = hcd_to_ehci(hcd); ehci 137 drivers/usb/chipidea/host.c ehci->caps = ci->hw_bank.cap; ehci 138 drivers/usb/chipidea/host.c ehci->has_hostpc = ci->hw_bank.lpm; ehci 139 drivers/usb/chipidea/host.c ehci->has_tdi_phy_lpm = ci->hw_bank.lpm; ehci 140 drivers/usb/chipidea/host.c ehci->imx28_write_fix = ci->imx28_write_fix; ehci 142 drivers/usb/chipidea/host.c priv = (struct ehci_ci_priv *)ehci->priv; ehci 235 drivers/usb/chipidea/host.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 243 drivers/usb/chipidea/host.c status_reg = &ehci->regs->port_status[(wIndex & 0xff) - 1]; ehci 245 drivers/usb/chipidea/host.c spin_lock_irqsave(&ehci->lock, flags); ehci 248 drivers/usb/chipidea/host.c temp = ehci_readl(ehci, status_reg); ehci 256 drivers/usb/chipidea/host.c ehci_writel(ehci, temp | PORT_SUSPEND, status_reg); ehci 262 drivers/usb/chipidea/host.c if (ehci_handshake(ehci, status_reg, PORT_SUSPEND, ehci 264 drivers/usb/chipidea/host.c ehci_err(ehci, "timeout waiting for SUSPEND\n"); ehci 271 drivers/usb/chipidea/host.c temp = ehci_readl(ehci, status_reg); ehci 273 drivers/usb/chipidea/host.c ehci_writel(ehci, temp, status_reg); ehci 276 drivers/usb/chipidea/host.c set_bit((wIndex & 0xff) - 1, &ehci->suspended_ports); ehci 287 drivers/usb/chipidea/host.c if (ehci_handshake(ehci, status_reg, PORT_RESUME, 0, 25000)) ehci 288 drivers/usb/chipidea/host.c ehci_err(ehci, "timeout waiting for resume\n"); ehci 291 drivers/usb/chipidea/host.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 296 drivers/usb/chipidea/host.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 301 drivers/usb/chipidea/host.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 312 drivers/usb/chipidea/host.c port = HCS_N_PORTS(ehci->hcs_params); ehci 314 drivers/usb/chipidea/host.c u32 __iomem *reg = &ehci->regs->port_status[port]; ehci 315 drivers/usb/chipidea/host.c u32 portsc = ehci_readl(ehci, reg); ehci 328 drivers/usb/chipidea/host.c tmp = ehci_readl(ehci, &ehci->regs->command); ehci 330 drivers/usb/chipidea/host.c ehci_writel(ehci, tmp, &ehci->regs->command); ehci 340 drivers/usb/chipidea/host.c tmp = ehci_readl(ehci, reg); ehci 342 drivers/usb/chipidea/host.c ehci_writel(ehci, tmp, reg); ehci 91 drivers/usb/host/ehci-atmel.c struct ehci_hcd *ehci; ehci 146 drivers/usb/host/ehci-atmel.c ehci = hcd_to_ehci(hcd); ehci 148 drivers/usb/host/ehci-atmel.c ehci->caps = hcd->regs; ehci 15 drivers/usb/host/ehci-dbg.c static void dbg_hcs_params(struct ehci_hcd *ehci, char *label) ehci 17 drivers/usb/host/ehci-dbg.c u32 params = ehci_readl(ehci, &ehci->caps->hcs_params); ehci 19 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, ehci 37 drivers/usb/host/ehci-dbg.c byte = readb(&ehci->caps->portroute[(i >> 1)]); ehci 42 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, "%s portroute %s\n", label, buf); ehci 51 drivers/usb/host/ehci-dbg.c static void dbg_hcc_params(struct ehci_hcd *ehci, char *label) ehci 53 drivers/usb/host/ehci-dbg.c u32 params = ehci_readl(ehci, &ehci->caps->hcc_params); ehci 56 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, ehci 63 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, ehci 80 drivers/usb/host/ehci-dbg.c dbg_qtd(const char *label, struct ehci_hcd *ehci, struct ehci_qtd *qtd) ehci 82 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, "%s td %p n%08x %08x t%08x p0=%08x\n", label, qtd, ehci 83 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &qtd->hw_next), ehci 84 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &qtd->hw_alt_next), ehci 85 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &qtd->hw_token), ehci 86 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &qtd->hw_buf[0])); ehci 88 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, " p1=%08x p2=%08x p3=%08x p4=%08x\n", ehci 89 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &qtd->hw_buf[1]), ehci 90 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &qtd->hw_buf[2]), ehci 91 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &qtd->hw_buf[3]), ehci 92 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &qtd->hw_buf[4])); ehci 96 drivers/usb/host/ehci-dbg.c dbg_qh(const char *label, struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 100 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, "%s qh %p n%08x info %x %x qtd %x\n", label, ehci 102 drivers/usb/host/ehci-dbg.c dbg_qtd("overlay", ehci, (struct ehci_qtd *) &hw->hw_qtd_next); ehci 106 drivers/usb/host/ehci-dbg.c dbg_itd(const char *label, struct ehci_hcd *ehci, struct ehci_itd *itd) ehci 108 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, "%s [%d] itd %p, next %08x, urb %p\n", ehci 109 drivers/usb/host/ehci-dbg.c label, itd->frame, itd, hc32_to_cpu(ehci, itd->hw_next), ehci 111 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, ehci 113 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_transaction[0]), ehci 114 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_transaction[1]), ehci 115 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_transaction[2]), ehci 116 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_transaction[3]), ehci 117 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_transaction[4]), ehci 118 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_transaction[5]), ehci 119 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_transaction[6]), ehci 120 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_transaction[7])); ehci 121 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, ehci 123 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_bufp[0]), ehci 124 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_bufp[1]), ehci 125 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_bufp[2]), ehci 126 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_bufp[3]), ehci 127 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_bufp[4]), ehci 128 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_bufp[5]), ehci 129 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, itd->hw_bufp[6])); ehci 130 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, " index: %d %d %d %d %d %d %d %d\n", ehci 137 drivers/usb/host/ehci-dbg.c dbg_sitd(const char *label, struct ehci_hcd *ehci, struct ehci_sitd *sitd) ehci 139 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, "%s [%d] sitd %p, next %08x, urb %p\n", ehci 140 drivers/usb/host/ehci-dbg.c label, sitd->frame, sitd, hc32_to_cpu(ehci, sitd->hw_next), ehci 142 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, ehci 144 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, sitd->hw_fullspeed_ep), ehci 145 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, sitd->hw_uframe), ehci 146 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, sitd->hw_results), ehci 147 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, sitd->hw_buf[0]), ehci 148 drivers/usb/host/ehci-dbg.c hc32_to_cpu(ehci, sitd->hw_buf[1])); ehci 261 drivers/usb/host/ehci-dbg.c dbg_status(struct ehci_hcd *ehci, const char *label, u32 status) ehci 266 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, "%s\n", buf); ehci 270 drivers/usb/host/ehci-dbg.c dbg_cmd(struct ehci_hcd *ehci, const char *label, u32 command) ehci 275 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, "%s\n", buf); ehci 279 drivers/usb/host/ehci-dbg.c dbg_port(struct ehci_hcd *ehci, const char *label, int port, u32 status) ehci 284 drivers/usb/host/ehci-dbg.c ehci_dbg(ehci, "%s\n", buf); ehci 356 drivers/usb/host/ehci-dbg.c static inline char token_mark(struct ehci_hcd *ehci, __hc32 token) ehci 358 drivers/usb/host/ehci-dbg.c __u32 v = hc32_to_cpu(ehci, token); ehci 370 drivers/usb/host/ehci-dbg.c static void qh_lines(struct ehci_hcd *ehci, struct ehci_qh *qh, ehci 381 drivers/usb/host/ehci-dbg.c __le32 list_end = EHCI_LIST_END(ehci); ehci 387 drivers/usb/host/ehci-dbg.c mark = token_mark(ehci, hw->hw_token); ehci 389 drivers/usb/host/ehci-dbg.c if ((hw->hw_alt_next & QTD_MASK(ehci)) ehci 390 drivers/usb/host/ehci-dbg.c == ehci->async->hw->hw_alt_next) ehci 396 drivers/usb/host/ehci-dbg.c scratch = hc32_to_cpup(ehci, &hw->hw_info1); ehci 397 drivers/usb/host/ehci-dbg.c hw_curr = (mark == '*') ? hc32_to_cpup(ehci, &hw->hw_current) : 0; ehci 404 drivers/usb/host/ehci-dbg.c scratch, hc32_to_cpup(ehci, &hw->hw_info2), ehci 405 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &hw->hw_token), mark, ehci 406 drivers/usb/host/ehci-dbg.c (cpu_to_hc32(ehci, QTD_TOGGLE) & hw->hw_token) ehci 408 drivers/usb/host/ehci-dbg.c (hc32_to_cpup(ehci, &hw->hw_alt_next) >> 1) & 0x0f, ehci 409 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &hw->hw_current), ehci 410 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &hw->hw_qtd_next), ehci 411 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &hw->hw_buf[0])); ehci 420 drivers/usb/host/ehci-dbg.c scratch = hc32_to_cpup(ehci, &td->hw_token); ehci 424 drivers/usb/host/ehci-dbg.c } else if (hw->hw_qtd_next == cpu_to_hc32(ehci, td->qtd_dma)) { ehci 427 drivers/usb/host/ehci-dbg.c if (td->hw_alt_next == ehci->async->hw->hw_alt_next) ehci 454 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &td->hw_buf[0])); ehci 473 drivers/usb/host/ehci-dbg.c struct ehci_hcd *ehci; ehci 480 drivers/usb/host/ehci-dbg.c ehci = hcd_to_ehci(hcd); ehci 491 drivers/usb/host/ehci-dbg.c spin_lock_irqsave(&ehci->lock, flags); ehci 492 drivers/usb/host/ehci-dbg.c for (qh = ehci->async->qh_next.qh; size > 0 && qh; qh = qh->qh_next.qh) ehci 493 drivers/usb/host/ehci-dbg.c qh_lines(ehci, qh, &next, &size); ehci 494 drivers/usb/host/ehci-dbg.c if (!list_empty(&ehci->async_unlink) && size > 0) { ehci 499 drivers/usb/host/ehci-dbg.c list_for_each_entry(qh, &ehci->async_unlink, unlink_node) { ehci 502 drivers/usb/host/ehci-dbg.c qh_lines(ehci, qh, &next, &size); ehci 505 drivers/usb/host/ehci-dbg.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 512 drivers/usb/host/ehci-dbg.c struct ehci_hcd *ehci; ehci 522 drivers/usb/host/ehci-dbg.c ehci = hcd_to_ehci(bus_to_hcd(buf->bus)); ehci 528 drivers/usb/host/ehci-dbg.c spin_lock_irq(&ehci->lock); ehci 536 drivers/usb/host/ehci-dbg.c bw = &ehci->bandwidth[i]; ehci 546 drivers/usb/host/ehci-dbg.c list_for_each_entry(tt, &ehci->tt_list, tt_list) { ehci 588 drivers/usb/host/ehci-dbg.c spin_unlock_irq(&ehci->lock); ehci 593 drivers/usb/host/ehci-dbg.c static unsigned output_buf_tds_dir(char *buf, struct ehci_hcd *ehci, ehci 596 drivers/usb/host/ehci-dbg.c u32 scratch = hc32_to_cpup(ehci, &hw->hw_info1); ehci 604 drivers/usb/host/ehci-dbg.c switch ((hc32_to_cpu(ehci, qtd->hw_token) >> 8) & 0x03) { ehci 624 drivers/usb/host/ehci-dbg.c struct ehci_hcd *ehci; ehci 638 drivers/usb/host/ehci-dbg.c ehci = hcd_to_ehci(hcd); ehci 642 drivers/usb/host/ehci-dbg.c temp = scnprintf(next, size, "size = %d\n", ehci->periodic_size); ehci 650 drivers/usb/host/ehci-dbg.c spin_lock_irqsave(&ehci->lock, flags); ehci 651 drivers/usb/host/ehci-dbg.c for (i = 0; i < ehci->periodic_size; i++) { ehci 652 drivers/usb/host/ehci-dbg.c p = ehci->pshadow[i]; ehci 655 drivers/usb/host/ehci-dbg.c tag = Q_NEXT_TYPE(ehci, ehci->periodic[i]); ehci 664 drivers/usb/host/ehci-dbg.c switch (hc32_to_cpu(ehci, tag)) { ehci 669 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, ehci 690 drivers/usb/host/ehci-dbg.c temp = output_buf_tds_dir(next, ehci, ehci 698 drivers/usb/host/ehci-dbg.c tag = Q_NEXT_TYPE(ehci, hw->hw_next); ehci 705 drivers/usb/host/ehci-dbg.c tag = Q_NEXT_TYPE(ehci, p.fstn->hw_next); ehci 711 drivers/usb/host/ehci-dbg.c tag = Q_NEXT_TYPE(ehci, p.itd->hw_next); ehci 718 drivers/usb/host/ehci-dbg.c hc32_to_cpup(ehci, &p.sitd->hw_uframe) ehci 721 drivers/usb/host/ehci-dbg.c tag = Q_NEXT_TYPE(ehci, p.sitd->hw_next); ehci 733 drivers/usb/host/ehci-dbg.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 740 drivers/usb/host/ehci-dbg.c static const char *rh_state_string(struct ehci_hcd *ehci) ehci 742 drivers/usb/host/ehci-dbg.c switch (ehci->rh_state) { ehci 758 drivers/usb/host/ehci-dbg.c struct ehci_hcd *ehci; ehci 766 drivers/usb/host/ehci-dbg.c ehci = hcd_to_ehci(hcd); ehci 770 drivers/usb/host/ehci-dbg.c spin_lock_irqsave(&ehci->lock, flags); ehci 784 drivers/usb/host/ehci-dbg.c i = HC_VERSION(ehci, ehci_readl(ehci, &ehci->caps->hc_capbase)); ehci 792 drivers/usb/host/ehci-dbg.c i >> 8, i & 0x0ff, rh_state_string(ehci)); ehci 803 drivers/usb/host/ehci-dbg.c pdev = to_pci_dev(ehci_to_hcd(ehci)->self.controller); ehci 804 drivers/usb/host/ehci-dbg.c offset = HCC_EXT_CAPS(ehci_readl(ehci, ehci 805 drivers/usb/host/ehci-dbg.c &ehci->caps->hcc_params)); ehci 836 drivers/usb/host/ehci-dbg.c i = ehci_readl(ehci, &ehci->caps->hcs_params); ehci 841 drivers/usb/host/ehci-dbg.c i = ehci_readl(ehci, &ehci->caps->hcc_params); ehci 848 drivers/usb/host/ehci-dbg.c ehci_readl(ehci, &ehci->regs->status)); ehci 854 drivers/usb/host/ehci-dbg.c ehci_readl(ehci, &ehci->regs->command)); ehci 860 drivers/usb/host/ehci-dbg.c ehci_readl(ehci, &ehci->regs->intr_enable)); ehci 866 drivers/usb/host/ehci-dbg.c ehci_read_frame_index(ehci)); ehci 870 drivers/usb/host/ehci-dbg.c for (i = 1; i <= HCS_N_PORTS(ehci->hcs_params); i++) { ehci 872 drivers/usb/host/ehci-dbg.c ehci_readl(ehci, ehci 873 drivers/usb/host/ehci-dbg.c &ehci->regs->port_status[i - 1])); ehci 877 drivers/usb/host/ehci-dbg.c if (i == HCS_DEBUG_PORT(ehci->hcs_params) && ehci->debug) { ehci 880 drivers/usb/host/ehci-dbg.c ehci_readl(ehci, ehci 881 drivers/usb/host/ehci-dbg.c &ehci->debug->control)); ehci 887 drivers/usb/host/ehci-dbg.c if (!list_empty(&ehci->async_unlink)) { ehci 889 drivers/usb/host/ehci-dbg.c list_first_entry(&ehci->async_unlink, ehci 898 drivers/usb/host/ehci-dbg.c ehci->stats.normal, ehci->stats.error, ehci->stats.iaa, ehci 899 drivers/usb/host/ehci-dbg.c ehci->stats.lost_iaa); ehci 904 drivers/usb/host/ehci-dbg.c ehci->stats.complete, ehci->stats.unlink); ehci 910 drivers/usb/host/ehci-dbg.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1026 drivers/usb/host/ehci-dbg.c static inline void create_debug_files(struct ehci_hcd *ehci) ehci 1028 drivers/usb/host/ehci-dbg.c struct usb_bus *bus = &ehci_to_hcd(ehci)->self; ehci 1030 drivers/usb/host/ehci-dbg.c ehci->debug_dir = debugfs_create_dir(bus->bus_name, ehci_debug_root); ehci 1032 drivers/usb/host/ehci-dbg.c debugfs_create_file("async", S_IRUGO, ehci->debug_dir, bus, ehci 1034 drivers/usb/host/ehci-dbg.c debugfs_create_file("bandwidth", S_IRUGO, ehci->debug_dir, bus, ehci 1036 drivers/usb/host/ehci-dbg.c debugfs_create_file("periodic", S_IRUGO, ehci->debug_dir, bus, ehci 1038 drivers/usb/host/ehci-dbg.c debugfs_create_file("registers", S_IRUGO, ehci->debug_dir, bus, ehci 1042 drivers/usb/host/ehci-dbg.c static inline void remove_debug_files(struct ehci_hcd *ehci) ehci 1044 drivers/usb/host/ehci-dbg.c debugfs_remove_recursive(ehci->debug_dir); ehci 1049 drivers/usb/host/ehci-dbg.c static inline void dbg_hcs_params(struct ehci_hcd *ehci, char *label) { } ehci 1050 drivers/usb/host/ehci-dbg.c static inline void dbg_hcc_params(struct ehci_hcd *ehci, char *label) { } ehci 1053 drivers/usb/host/ehci-dbg.c struct ehci_hcd *ehci, struct ehci_qh *qh) { } ehci 1071 drivers/usb/host/ehci-dbg.c static inline void dbg_status(struct ehci_hcd *ehci, const char *label, ehci 1073 drivers/usb/host/ehci-dbg.c static inline void dbg_cmd(struct ehci_hcd *ehci, const char *label, ehci 1075 drivers/usb/host/ehci-dbg.c static inline void dbg_port(struct ehci_hcd *ehci, const char *label, ehci 155 drivers/usb/host/ehci-exynos.c struct ehci_hcd *ehci; ehci 218 drivers/usb/host/ehci-exynos.c ehci = hcd_to_ehci(hcd); ehci 219 drivers/usb/host/ehci-exynos.c ehci->caps = hcd->regs; ehci 153 drivers/usb/host/ehci-fsl.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 157 drivers/usb/host/ehci-fsl.c hcd, ehci, hcd->usb_phy); ehci 161 drivers/usb/host/ehci-fsl.c &ehci_to_hcd(ehci)->self); ehci 202 drivers/usb/host/ehci-fsl.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 212 drivers/usb/host/ehci-fsl.c portsc = ehci_readl(ehci, &ehci->regs->port_status[port_offset]); ehci 289 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, portsc, &ehci->regs->port_status[port_offset]); ehci 301 drivers/usb/host/ehci-fsl.c static int ehci_fsl_usb_setup(struct ehci_hcd *ehci) ehci 303 drivers/usb/host/ehci-fsl.c struct usb_hcd *hcd = ehci_to_hcd(ehci); ehci 326 drivers/usb/host/ehci-fsl.c ehci->has_fsl_hs_errata = 1; ehci 329 drivers/usb/host/ehci-fsl.c ehci->has_fsl_susp_errata = 1; ehci 340 drivers/usb/host/ehci-fsl.c ehci->has_fsl_port_bug = 1; ehci 366 drivers/usb/host/ehci-fsl.c static int ehci_fsl_reinit(struct ehci_hcd *ehci) ehci 368 drivers/usb/host/ehci-fsl.c if (ehci_fsl_usb_setup(ehci)) ehci 377 drivers/usb/host/ehci-fsl.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 384 drivers/usb/host/ehci-fsl.c ehci->big_endian_desc = pdata->big_endian_desc; ehci 385 drivers/usb/host/ehci-fsl.c ehci->big_endian_mmio = pdata->big_endian_mmio; ehci 388 drivers/usb/host/ehci-fsl.c ehci->caps = hcd->regs + 0x100; ehci 396 drivers/usb/host/ehci-fsl.c ehci->need_oc_pp_cycle = 1; ehci 411 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, SBUSCFG_INCR8, ehci 415 drivers/usb/host/ehci-fsl.c retval = ehci_fsl_reinit(ehci); ehci 420 drivers/usb/host/ehci-fsl.c struct ehci_hcd ehci; ehci 434 drivers/usb/host/ehci-fsl.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 439 drivers/usb/host/ehci-fsl.c u32 mode = ehci_readl(ehci, hcd->regs + FSL_SOC_USB_USBMODE); ehci 441 drivers/usb/host/ehci-fsl.c tmp = ehci_readl(ehci, hcd->regs + 0x140); /* usbcmd */ ehci 461 drivers/usb/host/ehci-fsl.c ehci->rh_state = EHCI_RH_SUSPENDED; ehci 468 drivers/usb/host/ehci-fsl.c tmp = ehci_readl(ehci, &ehci->regs->command); ehci 470 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, tmp, &ehci->regs->command); ehci 473 drivers/usb/host/ehci-fsl.c pdata->pm_command = ehci_readl(ehci, &ehci->regs->command); ehci 475 drivers/usb/host/ehci-fsl.c pdata->pm_status = ehci_readl(ehci, &ehci->regs->status); ehci 476 drivers/usb/host/ehci-fsl.c pdata->pm_intr_enable = ehci_readl(ehci, &ehci->regs->intr_enable); ehci 477 drivers/usb/host/ehci-fsl.c pdata->pm_frame_index = ehci_readl(ehci, &ehci->regs->frame_index); ehci 478 drivers/usb/host/ehci-fsl.c pdata->pm_segment = ehci_readl(ehci, &ehci->regs->segment); ehci 479 drivers/usb/host/ehci-fsl.c pdata->pm_frame_list = ehci_readl(ehci, &ehci->regs->frame_list); ehci 480 drivers/usb/host/ehci-fsl.c pdata->pm_async_next = ehci_readl(ehci, &ehci->regs->async_next); ehci 482 drivers/usb/host/ehci-fsl.c ehci_readl(ehci, &ehci->regs->configured_flag); ehci 483 drivers/usb/host/ehci-fsl.c pdata->pm_portsc = ehci_readl(ehci, &ehci->regs->port_status[0]); ehci 484 drivers/usb/host/ehci-fsl.c pdata->pm_usbgenctrl = ehci_readl(ehci, ehci 488 drivers/usb/host/ehci-fsl.c pdata->pm_portsc &= cpu_to_hc32(ehci, ~PORT_RWC_BITS); ehci 493 drivers/usb/host/ehci-fsl.c tmp = ehci_readl(ehci, &ehci->regs->port_status[0]); ehci 495 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, tmp, &ehci->regs->port_status[0]); ehci 503 drivers/usb/host/ehci-fsl.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 531 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, tmp, hcd->regs + FSL_SOC_USB_USBMODE); ehci 533 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, pdata->pm_usbgenctrl, ehci 535 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, ISIPHYCTRL_PXE | ISIPHYCTRL_PHYE, ehci 538 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, SBUSCFG_INCR8, hcd->regs + FSL_SOC_USB_SBUSCFG); ehci 541 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, pdata->pm_command, &ehci->regs->command); ehci 542 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, pdata->pm_intr_enable, &ehci->regs->intr_enable); ehci 543 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, pdata->pm_frame_index, &ehci->regs->frame_index); ehci 544 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, pdata->pm_segment, &ehci->regs->segment); ehci 545 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, pdata->pm_frame_list, &ehci->regs->frame_list); ehci 546 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, pdata->pm_async_next, &ehci->regs->async_next); ehci 547 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, pdata->pm_configured_flag, ehci 548 drivers/usb/host/ehci-fsl.c &ehci->regs->configured_flag); ehci 549 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, pdata->pm_portsc, &ehci->regs->port_status[0]); ehci 552 drivers/usb/host/ehci-fsl.c ehci->rh_state = EHCI_RH_RUNNING; ehci 555 drivers/usb/host/ehci-fsl.c tmp = ehci_readl(ehci, &ehci->regs->command); ehci 557 drivers/usb/host/ehci-fsl.c ehci_writel(ehci, tmp, &ehci->regs->command); ehci 577 drivers/usb/host/ehci-fsl.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 579 drivers/usb/host/ehci-fsl.c return container_of(ehci, struct ehci_fsl, ehci); ehci 606 drivers/usb/host/ehci-fsl.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 614 drivers/usb/host/ehci-fsl.c ehci_prepare_ports_for_controller_resume(ehci); ehci 623 drivers/usb/host/ehci-fsl.c ehci_reset(ehci); ehci 624 drivers/usb/host/ehci-fsl.c ehci_fsl_reinit(ehci); ehci 651 drivers/usb/host/ehci-fsl.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 660 drivers/usb/host/ehci-fsl.c status = readl(&ehci->regs->port_status[port]); ehci 665 drivers/usb/host/ehci-fsl.c if (ehci_is_TDI(ehci)) { ehci 668 drivers/usb/host/ehci-fsl.c &ehci->regs->port_status[port]); ehci 670 drivers/usb/host/ehci-fsl.c writel(PORT_RESET, &ehci->regs->port_status[port]); ehci 76 drivers/usb/host/ehci-grlib.c struct ehci_hcd *ehci = NULL; ehci 115 drivers/usb/host/ehci-grlib.c ehci = hcd_to_ehci(hcd); ehci 117 drivers/usb/host/ehci-grlib.c ehci->caps = hcd->regs; ehci 120 drivers/usb/host/ehci-grlib.c hc_capbase = ehci_readl(ehci, &ehci->caps->hc_capbase); ehci 121 drivers/usb/host/ehci-grlib.c if (HC_VERSION(ehci, hc_capbase) != GRUSBHC_HCIVERSION) { ehci 122 drivers/usb/host/ehci-grlib.c ehci->big_endian_mmio = 1; ehci 123 drivers/usb/host/ehci-grlib.c ehci->big_endian_desc = 1; ehci 124 drivers/usb/host/ehci-grlib.c ehci->big_endian_capbase = 1; ehci 109 drivers/usb/host/ehci-hcd.c static unsigned ehci_moschip_read_frame_index(struct ehci_hcd *ehci) ehci 113 drivers/usb/host/ehci-hcd.c uf = ehci_readl(ehci, &ehci->regs->frame_index); ehci 115 drivers/usb/host/ehci-hcd.c uf = ehci_readl(ehci, &ehci->regs->frame_index); ehci 119 drivers/usb/host/ehci-hcd.c static inline unsigned ehci_read_frame_index(struct ehci_hcd *ehci) ehci 121 drivers/usb/host/ehci-hcd.c if (ehci->frame_index_bug) ehci 122 drivers/usb/host/ehci-hcd.c return ehci_moschip_read_frame_index(ehci); ehci 123 drivers/usb/host/ehci-hcd.c return ehci_readl(ehci, &ehci->regs->frame_index); ehci 147 drivers/usb/host/ehci-hcd.c int ehci_handshake(struct ehci_hcd *ehci, void __iomem *ptr, ehci 153 drivers/usb/host/ehci-hcd.c result = ehci_readl(ehci, ptr); ehci 167 drivers/usb/host/ehci-hcd.c static int tdi_in_host_mode (struct ehci_hcd *ehci) ehci 171 drivers/usb/host/ehci-hcd.c tmp = ehci_readl(ehci, &ehci->regs->usbmode); ehci 179 drivers/usb/host/ehci-hcd.c static int ehci_halt (struct ehci_hcd *ehci) ehci 183 drivers/usb/host/ehci-hcd.c spin_lock_irq(&ehci->lock); ehci 186 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, 0, &ehci->regs->intr_enable); ehci 188 drivers/usb/host/ehci-hcd.c if (ehci_is_TDI(ehci) && !tdi_in_host_mode(ehci)) { ehci 189 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 197 drivers/usb/host/ehci-hcd.c ehci->command &= ~CMD_RUN; ehci 198 drivers/usb/host/ehci-hcd.c temp = ehci_readl(ehci, &ehci->regs->command); ehci 200 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, temp, &ehci->regs->command); ehci 202 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 203 drivers/usb/host/ehci-hcd.c synchronize_irq(ehci_to_hcd(ehci)->irq); ehci 205 drivers/usb/host/ehci-hcd.c return ehci_handshake(ehci, &ehci->regs->status, ehci 210 drivers/usb/host/ehci-hcd.c static void tdi_reset (struct ehci_hcd *ehci) ehci 214 drivers/usb/host/ehci-hcd.c tmp = ehci_readl(ehci, &ehci->regs->usbmode); ehci 220 drivers/usb/host/ehci-hcd.c if (ehci_big_endian_mmio(ehci)) ehci 222 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, tmp, &ehci->regs->usbmode); ehci 229 drivers/usb/host/ehci-hcd.c int ehci_reset(struct ehci_hcd *ehci) ehci 232 drivers/usb/host/ehci-hcd.c u32 command = ehci_readl(ehci, &ehci->regs->command); ehci 236 drivers/usb/host/ehci-hcd.c if (ehci->debug && !dbgp_reset_prep(ehci_to_hcd(ehci))) ehci 237 drivers/usb/host/ehci-hcd.c ehci->debug = NULL; ehci 240 drivers/usb/host/ehci-hcd.c dbg_cmd (ehci, "reset", command); ehci 241 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, command, &ehci->regs->command); ehci 242 drivers/usb/host/ehci-hcd.c ehci->rh_state = EHCI_RH_HALTED; ehci 243 drivers/usb/host/ehci-hcd.c ehci->next_statechange = jiffies; ehci 244 drivers/usb/host/ehci-hcd.c retval = ehci_handshake(ehci, &ehci->regs->command, ehci 247 drivers/usb/host/ehci-hcd.c if (ehci->has_hostpc) { ehci 248 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, USBMODE_EX_HC | USBMODE_EX_VBPS, ehci 249 drivers/usb/host/ehci-hcd.c &ehci->regs->usbmode_ex); ehci 250 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, TXFIFO_DEFAULT, &ehci->regs->txfill_tuning); ehci 255 drivers/usb/host/ehci-hcd.c if (ehci_is_TDI(ehci)) ehci 256 drivers/usb/host/ehci-hcd.c tdi_reset (ehci); ehci 258 drivers/usb/host/ehci-hcd.c if (ehci->debug) ehci 259 drivers/usb/host/ehci-hcd.c dbgp_external_startup(ehci_to_hcd(ehci)); ehci 261 drivers/usb/host/ehci-hcd.c ehci->port_c_suspend = ehci->suspended_ports = ehci 262 drivers/usb/host/ehci-hcd.c ehci->resuming_ports = 0; ehci 271 drivers/usb/host/ehci-hcd.c static void ehci_quiesce (struct ehci_hcd *ehci) ehci 275 drivers/usb/host/ehci-hcd.c if (ehci->rh_state != EHCI_RH_RUNNING) ehci 279 drivers/usb/host/ehci-hcd.c temp = (ehci->command << 10) & (STS_ASS | STS_PSS); ehci 280 drivers/usb/host/ehci-hcd.c ehci_handshake(ehci, &ehci->regs->status, STS_ASS | STS_PSS, temp, ehci 284 drivers/usb/host/ehci-hcd.c spin_lock_irq(&ehci->lock); ehci 285 drivers/usb/host/ehci-hcd.c ehci->command &= ~(CMD_ASE | CMD_PSE); ehci 286 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, ehci->command, &ehci->regs->command); ehci 287 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 290 drivers/usb/host/ehci-hcd.c ehci_handshake(ehci, &ehci->regs->status, STS_ASS | STS_PSS, 0, ehci 296 drivers/usb/host/ehci-hcd.c static void end_iaa_cycle(struct ehci_hcd *ehci); ehci 297 drivers/usb/host/ehci-hcd.c static void end_unlink_async(struct ehci_hcd *ehci); ehci 298 drivers/usb/host/ehci-hcd.c static void unlink_empty_async(struct ehci_hcd *ehci); ehci 299 drivers/usb/host/ehci-hcd.c static void ehci_work(struct ehci_hcd *ehci); ehci 300 drivers/usb/host/ehci-hcd.c static void start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh); ehci 301 drivers/usb/host/ehci-hcd.c static void end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh); ehci 302 drivers/usb/host/ehci-hcd.c static int ehci_port_power(struct ehci_hcd *ehci, int portnum, bool enable); ehci 317 drivers/usb/host/ehci-hcd.c static void ehci_turn_off_all_ports(struct ehci_hcd *ehci) ehci 319 drivers/usb/host/ehci-hcd.c int port = HCS_N_PORTS(ehci->hcs_params); ehci 322 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 323 drivers/usb/host/ehci-hcd.c ehci_port_power(ehci, port, false); ehci 324 drivers/usb/host/ehci-hcd.c spin_lock_irq(&ehci->lock); ehci 325 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, PORT_RWC_BITS, ehci 326 drivers/usb/host/ehci-hcd.c &ehci->regs->port_status[port]); ehci 334 drivers/usb/host/ehci-hcd.c static void ehci_silence_controller(struct ehci_hcd *ehci) ehci 336 drivers/usb/host/ehci-hcd.c ehci_halt(ehci); ehci 338 drivers/usb/host/ehci-hcd.c spin_lock_irq(&ehci->lock); ehci 339 drivers/usb/host/ehci-hcd.c ehci->rh_state = EHCI_RH_HALTED; ehci 340 drivers/usb/host/ehci-hcd.c ehci_turn_off_all_ports(ehci); ehci 343 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, 0, &ehci->regs->configured_flag); ehci 346 drivers/usb/host/ehci-hcd.c ehci_readl(ehci, &ehci->regs->configured_flag); ehci 347 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 356 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 364 drivers/usb/host/ehci-hcd.c if (!ehci->sbrn) ehci 367 drivers/usb/host/ehci-hcd.c spin_lock_irq(&ehci->lock); ehci 368 drivers/usb/host/ehci-hcd.c ehci->shutdown = true; ehci 369 drivers/usb/host/ehci-hcd.c ehci->rh_state = EHCI_RH_STOPPING; ehci 370 drivers/usb/host/ehci-hcd.c ehci->enabled_hrtimer_events = 0; ehci 371 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 373 drivers/usb/host/ehci-hcd.c ehci_silence_controller(ehci); ehci 375 drivers/usb/host/ehci-hcd.c hrtimer_cancel(&ehci->hrtimer); ehci 384 drivers/usb/host/ehci-hcd.c static void ehci_work (struct ehci_hcd *ehci) ehci 390 drivers/usb/host/ehci-hcd.c if (ehci->scanning) { ehci 391 drivers/usb/host/ehci-hcd.c ehci->need_rescan = true; ehci 394 drivers/usb/host/ehci-hcd.c ehci->scanning = true; ehci 397 drivers/usb/host/ehci-hcd.c ehci->need_rescan = false; ehci 398 drivers/usb/host/ehci-hcd.c if (ehci->async_count) ehci 399 drivers/usb/host/ehci-hcd.c scan_async(ehci); ehci 400 drivers/usb/host/ehci-hcd.c if (ehci->intr_count > 0) ehci 401 drivers/usb/host/ehci-hcd.c scan_intr(ehci); ehci 402 drivers/usb/host/ehci-hcd.c if (ehci->isoc_count > 0) ehci 403 drivers/usb/host/ehci-hcd.c scan_isoc(ehci); ehci 404 drivers/usb/host/ehci-hcd.c if (ehci->need_rescan) ehci 406 drivers/usb/host/ehci-hcd.c ehci->scanning = false; ehci 412 drivers/usb/host/ehci-hcd.c turn_on_io_watchdog(ehci); ehci 420 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 422 drivers/usb/host/ehci-hcd.c ehci_dbg (ehci, "stop\n"); ehci 426 drivers/usb/host/ehci-hcd.c spin_lock_irq(&ehci->lock); ehci 427 drivers/usb/host/ehci-hcd.c ehci->enabled_hrtimer_events = 0; ehci 428 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 430 drivers/usb/host/ehci-hcd.c ehci_quiesce(ehci); ehci 431 drivers/usb/host/ehci-hcd.c ehci_silence_controller(ehci); ehci 432 drivers/usb/host/ehci-hcd.c ehci_reset (ehci); ehci 434 drivers/usb/host/ehci-hcd.c hrtimer_cancel(&ehci->hrtimer); ehci 435 drivers/usb/host/ehci-hcd.c remove_sysfs_files(ehci); ehci 436 drivers/usb/host/ehci-hcd.c remove_debug_files (ehci); ehci 439 drivers/usb/host/ehci-hcd.c spin_lock_irq (&ehci->lock); ehci 440 drivers/usb/host/ehci-hcd.c end_free_itds(ehci); ehci 441 drivers/usb/host/ehci-hcd.c spin_unlock_irq (&ehci->lock); ehci 442 drivers/usb/host/ehci-hcd.c ehci_mem_cleanup (ehci); ehci 444 drivers/usb/host/ehci-hcd.c if (ehci->amd_pll_fix == 1) ehci 447 drivers/usb/host/ehci-hcd.c dbg_status (ehci, "ehci_stop completed", ehci 448 drivers/usb/host/ehci-hcd.c ehci_readl(ehci, &ehci->regs->status)); ehci 454 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 460 drivers/usb/host/ehci-hcd.c spin_lock_init(&ehci->lock); ehci 465 drivers/usb/host/ehci-hcd.c ehci->need_io_watchdog = 1; ehci 467 drivers/usb/host/ehci-hcd.c hrtimer_init(&ehci->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); ehci 468 drivers/usb/host/ehci-hcd.c ehci->hrtimer.function = ehci_hrtimer_func; ehci 469 drivers/usb/host/ehci-hcd.c ehci->next_hrtimer_event = EHCI_HRTIMER_NO_EVENT; ehci 471 drivers/usb/host/ehci-hcd.c hcc_params = ehci_readl(ehci, &ehci->caps->hcc_params); ehci 477 drivers/usb/host/ehci-hcd.c ehci->uframe_periodic_max = 100; ehci 483 drivers/usb/host/ehci-hcd.c ehci->periodic_size = DEFAULT_I_TDPS; ehci 484 drivers/usb/host/ehci-hcd.c INIT_LIST_HEAD(&ehci->async_unlink); ehci 485 drivers/usb/host/ehci-hcd.c INIT_LIST_HEAD(&ehci->async_idle); ehci 486 drivers/usb/host/ehci-hcd.c INIT_LIST_HEAD(&ehci->intr_unlink_wait); ehci 487 drivers/usb/host/ehci-hcd.c INIT_LIST_HEAD(&ehci->intr_unlink); ehci 488 drivers/usb/host/ehci-hcd.c INIT_LIST_HEAD(&ehci->intr_qh_list); ehci 489 drivers/usb/host/ehci-hcd.c INIT_LIST_HEAD(&ehci->cached_itd_list); ehci 490 drivers/usb/host/ehci-hcd.c INIT_LIST_HEAD(&ehci->cached_sitd_list); ehci 491 drivers/usb/host/ehci-hcd.c INIT_LIST_HEAD(&ehci->tt_list); ehci 496 drivers/usb/host/ehci-hcd.c case 0: ehci->periodic_size = 1024; break; ehci 497 drivers/usb/host/ehci-hcd.c case 1: ehci->periodic_size = 512; break; ehci 498 drivers/usb/host/ehci-hcd.c case 2: ehci->periodic_size = 256; break; ehci 502 drivers/usb/host/ehci-hcd.c if ((retval = ehci_mem_init(ehci, GFP_KERNEL)) < 0) ehci 507 drivers/usb/host/ehci-hcd.c ehci->i_thresh = 0; ehci 509 drivers/usb/host/ehci-hcd.c ehci->i_thresh = 2 + HCC_ISOC_THRES(hcc_params); ehci 518 drivers/usb/host/ehci-hcd.c ehci->async->qh_next.qh = NULL; ehci 519 drivers/usb/host/ehci-hcd.c hw = ehci->async->hw; ehci 520 drivers/usb/host/ehci-hcd.c hw->hw_next = QH_NEXT(ehci, ehci->async->qh_dma); ehci 521 drivers/usb/host/ehci-hcd.c hw->hw_info1 = cpu_to_hc32(ehci, QH_HEAD); ehci 523 drivers/usb/host/ehci-hcd.c hw->hw_info1 |= cpu_to_hc32(ehci, QH_INACTIVATE); ehci 525 drivers/usb/host/ehci-hcd.c hw->hw_token = cpu_to_hc32(ehci, QTD_STS_HALT); ehci 526 drivers/usb/host/ehci-hcd.c hw->hw_qtd_next = EHCI_LIST_END(ehci); ehci 527 drivers/usb/host/ehci-hcd.c ehci->async->qh_state = QH_STATE_LINKED; ehci 528 drivers/usb/host/ehci-hcd.c hw->hw_alt_next = QTD_NEXT(ehci, ehci->async->dummy->qtd_dma); ehci 535 drivers/usb/host/ehci-hcd.c ehci->has_ppcd = 1; ehci 536 drivers/usb/host/ehci-hcd.c ehci_dbg(ehci, "enable per-port change event\n"); ehci 552 drivers/usb/host/ehci-hcd.c ehci_dbg(ehci, "park %d\n", park); ehci 559 drivers/usb/host/ehci-hcd.c ehci->command = temp; ehci 566 drivers/usb/host/ehci-hcd.c ehci->old_current = ~0; ehci 573 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 581 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, ehci->periodic_dma, &ehci->regs->frame_list); ehci 582 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, (u32)ehci->async->qh_dma, &ehci->regs->async_next); ehci 596 drivers/usb/host/ehci-hcd.c hcc_params = ehci_readl(ehci, &ehci->caps->hcc_params); ehci 598 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, 0, &ehci->regs->segment); ehci 602 drivers/usb/host/ehci-hcd.c ehci_info(ehci, "enabled 64bit DMA\n"); ehci 609 drivers/usb/host/ehci-hcd.c ehci->command &= ~(CMD_LRESET|CMD_IAAD|CMD_PSE|CMD_ASE|CMD_RESET); ehci 610 drivers/usb/host/ehci-hcd.c ehci->command |= CMD_RUN; ehci 611 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, ehci->command, &ehci->regs->command); ehci 612 drivers/usb/host/ehci-hcd.c dbg_cmd (ehci, "init", ehci->command); ehci 629 drivers/usb/host/ehci-hcd.c ehci->rh_state = EHCI_RH_RUNNING; ehci 630 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, FLAG_CF, &ehci->regs->configured_flag); ehci 631 drivers/usb/host/ehci-hcd.c ehci_readl(ehci, &ehci->regs->command); /* unblock posted writes */ ehci 634 drivers/usb/host/ehci-hcd.c ehci->last_periodic_enable = ktime_get_real(); ehci 636 drivers/usb/host/ehci-hcd.c temp = HC_VERSION(ehci, ehci_readl(ehci, &ehci->caps->hc_capbase)); ehci 637 drivers/usb/host/ehci-hcd.c ehci_info (ehci, ehci 639 drivers/usb/host/ehci-hcd.c ((ehci->sbrn & 0xf0)>>4), (ehci->sbrn & 0x0f), ehci 643 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, INTR_MASK, ehci 644 drivers/usb/host/ehci-hcd.c &ehci->regs->intr_enable); /* Turn On Interrupts */ ehci 650 drivers/usb/host/ehci-hcd.c create_debug_files(ehci); ehci 651 drivers/usb/host/ehci-hcd.c create_sysfs_files(ehci); ehci 658 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 661 drivers/usb/host/ehci-hcd.c ehci->regs = (void __iomem *)ehci->caps + ehci 662 drivers/usb/host/ehci-hcd.c HC_LENGTH(ehci, ehci_readl(ehci, &ehci->caps->hc_capbase)); ehci 663 drivers/usb/host/ehci-hcd.c dbg_hcs_params(ehci, "reset"); ehci 664 drivers/usb/host/ehci-hcd.c dbg_hcc_params(ehci, "reset"); ehci 667 drivers/usb/host/ehci-hcd.c ehci->hcs_params = ehci_readl(ehci, &ehci->caps->hcs_params); ehci 669 drivers/usb/host/ehci-hcd.c ehci->sbrn = HCD_USB2; ehci 676 drivers/usb/host/ehci-hcd.c retval = ehci_halt(ehci); ehci 678 drivers/usb/host/ehci-hcd.c ehci_mem_cleanup(ehci); ehci 682 drivers/usb/host/ehci-hcd.c ehci_reset(ehci); ehci 692 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 703 drivers/usb/host/ehci-hcd.c spin_lock_irqsave(&ehci->lock, flags); ehci 705 drivers/usb/host/ehci-hcd.c status = ehci_readl(ehci, &ehci->regs->status); ehci 709 drivers/usb/host/ehci-hcd.c ehci_dbg (ehci, "device removed\n"); ehci 720 drivers/usb/host/ehci-hcd.c if (!masked_status || unlikely(ehci->rh_state == EHCI_RH_HALTED)) { ehci 721 drivers/usb/host/ehci-hcd.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 726 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, masked_status, &ehci->regs->status); ehci 727 drivers/usb/host/ehci-hcd.c cmd = ehci_readl(ehci, &ehci->regs->command); ehci 733 drivers/usb/host/ehci-hcd.c INCR(ehci->stats.normal); ehci 735 drivers/usb/host/ehci-hcd.c INCR(ehci->stats.error); ehci 743 drivers/usb/host/ehci-hcd.c ehci->enabled_hrtimer_events &= ~BIT(EHCI_HRTIMER_IAA_WATCHDOG); ehci 752 drivers/usb/host/ehci-hcd.c if (ehci->next_hrtimer_event == EHCI_HRTIMER_IAA_WATCHDOG) ehci 753 drivers/usb/host/ehci-hcd.c ++ehci->next_hrtimer_event; ehci 757 drivers/usb/host/ehci-hcd.c ehci_dbg(ehci, "IAA with IAAD still set?\n"); ehci 758 drivers/usb/host/ehci-hcd.c if (ehci->iaa_in_progress) ehci 759 drivers/usb/host/ehci-hcd.c INCR(ehci->stats.iaa); ehci 760 drivers/usb/host/ehci-hcd.c end_iaa_cycle(ehci); ehci 765 drivers/usb/host/ehci-hcd.c unsigned i = HCS_N_PORTS (ehci->hcs_params); ehci 772 drivers/usb/host/ehci-hcd.c if (ehci->rh_state == EHCI_RH_SUSPENDED) ehci 776 drivers/usb/host/ehci-hcd.c if (ehci->has_ppcd) ehci 785 drivers/usb/host/ehci-hcd.c pstatus = ehci_readl(ehci, ehci 786 drivers/usb/host/ehci-hcd.c &ehci->regs->port_status[i]); ehci 790 drivers/usb/host/ehci-hcd.c if (!(test_bit(i, &ehci->suspended_ports) && ehci 794 drivers/usb/host/ehci-hcd.c ehci->reset_done[i] == 0)) ehci 801 drivers/usb/host/ehci-hcd.c ehci->reset_done[i] = jiffies + ehci 803 drivers/usb/host/ehci-hcd.c set_bit(i, &ehci->resuming_ports); ehci 804 drivers/usb/host/ehci-hcd.c ehci_dbg (ehci, "port %d remote wakeup\n", i + 1); ehci 806 drivers/usb/host/ehci-hcd.c mod_timer(&hcd->rh_timer, ehci->reset_done[i]); ehci 812 drivers/usb/host/ehci-hcd.c ehci_err(ehci, "fatal error\n"); ehci 813 drivers/usb/host/ehci-hcd.c dbg_cmd(ehci, "fatal", cmd); ehci 814 drivers/usb/host/ehci-hcd.c dbg_status(ehci, "fatal", status); ehci 819 drivers/usb/host/ehci-hcd.c ehci->shutdown = true; ehci 820 drivers/usb/host/ehci-hcd.c ehci->rh_state = EHCI_RH_STOPPING; ehci 821 drivers/usb/host/ehci-hcd.c ehci->command &= ~(CMD_RUN | CMD_ASE | CMD_PSE); ehci 822 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, ehci->command, &ehci->regs->command); ehci 823 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, 0, &ehci->regs->intr_enable); ehci 824 drivers/usb/host/ehci-hcd.c ehci_handle_controller_death(ehci); ehci 831 drivers/usb/host/ehci-hcd.c ehci_work (ehci); ehci 832 drivers/usb/host/ehci-hcd.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 857 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 872 drivers/usb/host/ehci-hcd.c if (!qh_urb_transaction (ehci, urb, &qtd_list, mem_flags)) ehci 874 drivers/usb/host/ehci-hcd.c return submit_async(ehci, urb, &qtd_list, mem_flags); ehci 877 drivers/usb/host/ehci-hcd.c if (!qh_urb_transaction (ehci, urb, &qtd_list, mem_flags)) ehci 879 drivers/usb/host/ehci-hcd.c return intr_submit(ehci, urb, &qtd_list, mem_flags); ehci 883 drivers/usb/host/ehci-hcd.c return itd_submit (ehci, urb, mem_flags); ehci 885 drivers/usb/host/ehci-hcd.c return sitd_submit (ehci, urb, mem_flags); ehci 895 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 900 drivers/usb/host/ehci-hcd.c spin_lock_irqsave (&ehci->lock, flags); ehci 917 drivers/usb/host/ehci-hcd.c start_unlink_intr(ehci, qh); ehci 919 drivers/usb/host/ehci-hcd.c start_unlink_async(ehci, qh); ehci 930 drivers/usb/host/ehci-hcd.c qh_completions(ehci, qh); ehci 935 drivers/usb/host/ehci-hcd.c spin_unlock_irqrestore (&ehci->lock, flags); ehci 946 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 954 drivers/usb/host/ehci-hcd.c spin_lock_irqsave (&ehci->lock, flags); ehci 969 drivers/usb/host/ehci-hcd.c reserve_release_iso_bandwidth(ehci, stream, -1); ehci 982 drivers/usb/host/ehci-hcd.c start_unlink_async(ehci, qh); ehci 984 drivers/usb/host/ehci-hcd.c start_unlink_intr(ehci, qh); ehci 990 drivers/usb/host/ehci-hcd.c spin_unlock_irqrestore (&ehci->lock, flags); ehci 998 drivers/usb/host/ehci-hcd.c reserve_release_intr_bandwidth(ehci, qh, -1); ehci 999 drivers/usb/host/ehci-hcd.c qh_destroy(ehci, qh); ehci 1007 drivers/usb/host/ehci-hcd.c ehci_err (ehci, "qh %p (#%02x) state %d%s\n", ehci 1014 drivers/usb/host/ehci-hcd.c spin_unlock_irqrestore (&ehci->lock, flags); ehci 1020 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 1030 drivers/usb/host/ehci-hcd.c spin_lock_irqsave(&ehci->lock, flags); ehci 1049 drivers/usb/host/ehci-hcd.c start_unlink_async(ehci, qh); ehci 1051 drivers/usb/host/ehci-hcd.c start_unlink_intr(ehci, qh); ehci 1054 drivers/usb/host/ehci-hcd.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1059 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 1060 drivers/usb/host/ehci-hcd.c return (ehci_read_frame_index(ehci) >> 3) % ehci->periodic_size; ehci 1069 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 1071 drivers/usb/host/ehci-hcd.c spin_lock_irq(&ehci->lock); ehci 1073 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 1086 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 1088 drivers/usb/host/ehci-hcd.c if (time_before(jiffies, ehci->next_statechange)) ehci 1096 drivers/usb/host/ehci-hcd.c ehci_prepare_ports_for_controller_suspend(ehci, do_wakeup); ehci 1098 drivers/usb/host/ehci-hcd.c spin_lock_irq(&ehci->lock); ehci 1099 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, 0, &ehci->regs->intr_enable); ehci 1100 drivers/usb/host/ehci-hcd.c (void) ehci_readl(ehci, &ehci->regs->intr_enable); ehci 1103 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 1120 drivers/usb/host/ehci-hcd.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 1122 drivers/usb/host/ehci-hcd.c if (time_before(jiffies, ehci->next_statechange)) ehci 1128 drivers/usb/host/ehci-hcd.c if (ehci->shutdown) ehci 1136 drivers/usb/host/ehci-hcd.c if (ehci_readl(ehci, &ehci->regs->configured_flag) == FLAG_CF && ehci 1140 drivers/usb/host/ehci-hcd.c ehci_prepare_ports_for_controller_resume(ehci); ehci 1142 drivers/usb/host/ehci-hcd.c spin_lock_irq(&ehci->lock); ehci 1143 drivers/usb/host/ehci-hcd.c if (ehci->shutdown) ehci 1148 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, mask, &ehci->regs->intr_enable); ehci 1149 drivers/usb/host/ehci-hcd.c ehci_readl(ehci, &ehci->regs->intr_enable); ehci 1151 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 1160 drivers/usb/host/ehci-hcd.c (void) ehci_halt(ehci); ehci 1161 drivers/usb/host/ehci-hcd.c (void) ehci_reset(ehci); ehci 1163 drivers/usb/host/ehci-hcd.c spin_lock_irq(&ehci->lock); ehci 1164 drivers/usb/host/ehci-hcd.c if (ehci->shutdown) ehci 1167 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, ehci->command, &ehci->regs->command); ehci 1168 drivers/usb/host/ehci-hcd.c ehci_writel(ehci, FLAG_CF, &ehci->regs->configured_flag); ehci 1169 drivers/usb/host/ehci-hcd.c ehci_readl(ehci, &ehci->regs->command); /* unblock posted writes */ ehci 1171 drivers/usb/host/ehci-hcd.c ehci->rh_state = EHCI_RH_SUSPENDED; ehci 1172 drivers/usb/host/ehci-hcd.c spin_unlock_irq(&ehci->lock); ehci 23 drivers/usb/host/ehci-hub.c static void unlink_empty_async_suspended(struct ehci_hcd *ehci); ehci 34 drivers/usb/host/ehci-hub.c static void ehci_handover_companion_ports(struct ehci_hcd *ehci) ehci 40 drivers/usb/host/ehci-hub.c struct usb_hcd *hcd = ehci_to_hcd(ehci); ehci 42 drivers/usb/host/ehci-hub.c if (!ehci->owned_ports) ehci 56 drivers/usb/host/ehci-hub.c port = HCS_N_PORTS(ehci->hcs_params); ehci 58 drivers/usb/host/ehci-hub.c if (test_bit(port, &ehci->owned_ports)) { ehci 59 drivers/usb/host/ehci-hub.c reg = &ehci->regs->port_status[port]; ehci 60 drivers/usb/host/ehci-hub.c status = ehci_readl(ehci, reg) & ~PORT_RWC_BITS; ehci 62 drivers/usb/host/ehci-hub.c ehci_port_power(ehci, port, true); ehci 69 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 70 drivers/usb/host/ehci-hub.c port = HCS_N_PORTS(ehci->hcs_params); ehci 72 drivers/usb/host/ehci-hub.c if (test_bit(port, &ehci->owned_ports)) { ehci 73 drivers/usb/host/ehci-hub.c reg = &ehci->regs->port_status[port]; ehci 74 drivers/usb/host/ehci-hub.c status = ehci_readl(ehci, reg) & ~PORT_RWC_BITS; ehci 78 drivers/usb/host/ehci-hub.c clear_bit(port, &ehci->owned_ports); ehci 79 drivers/usb/host/ehci-hub.c else if (test_bit(port, &ehci->companion_ports)) ehci 80 drivers/usb/host/ehci-hub.c ehci_writel(ehci, status & ~PORT_PE, reg); ehci 82 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 86 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 90 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 92 drivers/usb/host/ehci-hub.c if (!ehci->owned_ports) ehci 96 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 97 drivers/usb/host/ehci-hub.c port = HCS_N_PORTS(ehci->hcs_params); ehci 99 drivers/usb/host/ehci-hub.c if (test_bit(port, &ehci->owned_ports)) { ehci 100 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 104 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 110 drivers/usb/host/ehci-hub.c reg = &ehci->regs->port_status[port]; ehci 111 drivers/usb/host/ehci-hub.c status = ehci_readl(ehci, reg) & ~PORT_RWC_BITS; ehci 113 drivers/usb/host/ehci-hub.c ehci_writel(ehci, status | PORT_CSC, reg); ehci 115 drivers/usb/host/ehci-hub.c ehci_dbg(ehci, "failed handover port %d: %x\n", ehci 117 drivers/usb/host/ehci-hub.c ehci_writel(ehci, status & ~PORT_PE, reg); ehci 122 drivers/usb/host/ehci-hub.c ehci->owned_ports = 0; ehci 123 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 126 drivers/usb/host/ehci-hub.c static int ehci_port_change(struct ehci_hcd *ehci) ehci 128 drivers/usb/host/ehci-hub.c int i = HCS_N_PORTS(ehci->hcs_params); ehci 132 drivers/usb/host/ehci-hub.c if (ehci_readl(ehci, &ehci->regs->status) & STS_PCD) ehci 141 drivers/usb/host/ehci-hub.c if (ehci_readl(ehci, &ehci->regs->port_status[i]) & PORT_CSC) ehci 147 drivers/usb/host/ehci-hub.c void ehci_adjust_port_wakeup_flags(struct ehci_hcd *ehci, ehci 158 drivers/usb/host/ehci-hub.c if (!ehci_to_hcd(ehci)->self.root_hub->do_remote_wakeup || do_wakeup) ehci 161 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 164 drivers/usb/host/ehci-hub.c if (ehci->has_tdi_phy_lpm) { ehci 165 drivers/usb/host/ehci-hub.c port = HCS_N_PORTS(ehci->hcs_params); ehci 167 drivers/usb/host/ehci-hub.c u32 __iomem *hostpc_reg = &ehci->regs->hostpc[port]; ehci 169 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, hostpc_reg); ehci 170 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp & ~HOSTPC_PHCD, hostpc_reg); ehci 172 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 174 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 177 drivers/usb/host/ehci-hub.c port = HCS_N_PORTS(ehci->hcs_params); ehci 179 drivers/usb/host/ehci-hub.c u32 __iomem *reg = &ehci->regs->port_status[port]; ehci 180 drivers/usb/host/ehci-hub.c u32 t1 = ehci_readl(ehci, reg) & ~PORT_RWC_BITS; ehci 192 drivers/usb/host/ehci-hub.c ehci_writel(ehci, t2, reg); ehci 196 drivers/usb/host/ehci-hub.c if (ehci->has_tdi_phy_lpm) { ehci 197 drivers/usb/host/ehci-hub.c port = HCS_N_PORTS(ehci->hcs_params); ehci 199 drivers/usb/host/ehci-hub.c u32 __iomem *hostpc_reg = &ehci->regs->hostpc[port]; ehci 201 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, hostpc_reg); ehci 202 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp | HOSTPC_PHCD, hostpc_reg); ehci 207 drivers/usb/host/ehci-hub.c if (!suspending && ehci_port_change(ehci)) ehci 208 drivers/usb/host/ehci-hub.c usb_hcd_resume_root_hub(ehci_to_hcd(ehci)); ehci 210 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 216 drivers/usb/host/ehci-hub.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 222 drivers/usb/host/ehci-hub.c ehci_dbg(ehci, "suspend root hub\n"); ehci 224 drivers/usb/host/ehci-hub.c if (time_before (jiffies, ehci->next_statechange)) ehci 228 drivers/usb/host/ehci-hub.c ehci_quiesce(ehci); ehci 230 drivers/usb/host/ehci-hub.c spin_lock_irq (&ehci->lock); ehci 231 drivers/usb/host/ehci-hub.c if (ehci->rh_state < EHCI_RH_RUNNING) ehci 240 drivers/usb/host/ehci-hub.c if (ehci->resuming_ports) { ehci 241 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 242 drivers/usb/host/ehci-hub.c ehci_dbg(ehci, "suspend failed because a port is resuming\n"); ehci 252 drivers/usb/host/ehci-hub.c ehci->bus_suspended = 0; ehci 253 drivers/usb/host/ehci-hub.c ehci->owned_ports = 0; ehci 256 drivers/usb/host/ehci-hub.c port = HCS_N_PORTS(ehci->hcs_params); ehci 258 drivers/usb/host/ehci-hub.c u32 __iomem *reg = &ehci->regs->port_status [port]; ehci 259 drivers/usb/host/ehci-hub.c u32 t1 = ehci_readl(ehci, reg) & ~PORT_RWC_BITS; ehci 264 drivers/usb/host/ehci-hub.c set_bit(port, &ehci->owned_ports); ehci 267 drivers/usb/host/ehci-hub.c set_bit(port, &ehci->bus_suspended); ehci 291 drivers/usb/host/ehci-hub.c ehci_port_speed(ehci, t2) == ehci 294 drivers/usb/host/ehci-hub.c ehci_writel(ehci, t2, reg); ehci 298 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 300 drivers/usb/host/ehci-hub.c if (changed && ehci_has_fsl_susp_errata(ehci)) ehci 308 drivers/usb/host/ehci-hub.c if ((changed && ehci->has_tdi_phy_lpm) || fs_idle_delay) { ehci 316 drivers/usb/host/ehci-hub.c if (changed && ehci->has_tdi_phy_lpm) { ehci 317 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 318 drivers/usb/host/ehci-hub.c port = HCS_N_PORTS(ehci->hcs_params); ehci 320 drivers/usb/host/ehci-hub.c u32 __iomem *hostpc_reg = &ehci->regs->hostpc[port]; ehci 323 drivers/usb/host/ehci-hub.c t3 = ehci_readl(ehci, hostpc_reg); ehci 324 drivers/usb/host/ehci-hub.c ehci_writel(ehci, t3 | HOSTPC_PHCD, hostpc_reg); ehci 325 drivers/usb/host/ehci-hub.c t3 = ehci_readl(ehci, hostpc_reg); ehci 326 drivers/usb/host/ehci-hub.c ehci_dbg(ehci, "Port %d phy low-power mode %s\n", ehci 330 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 334 drivers/usb/host/ehci-hub.c if (ehci->bus_suspended) ehci 338 drivers/usb/host/ehci-hub.c ehci_halt (ehci); ehci 340 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 341 drivers/usb/host/ehci-hub.c if (ehci->enabled_hrtimer_events & BIT(EHCI_HRTIMER_POLL_DEAD)) ehci 342 drivers/usb/host/ehci-hub.c ehci_handle_controller_death(ehci); ehci 343 drivers/usb/host/ehci-hub.c if (ehci->rh_state != EHCI_RH_RUNNING) ehci 345 drivers/usb/host/ehci-hub.c ehci->rh_state = EHCI_RH_SUSPENDED; ehci 347 drivers/usb/host/ehci-hub.c unlink_empty_async_suspended(ehci); ehci 350 drivers/usb/host/ehci-hub.c end_iaa_cycle(ehci); ehci 351 drivers/usb/host/ehci-hub.c ehci_handle_start_intr_unlinks(ehci); ehci 352 drivers/usb/host/ehci-hub.c ehci_handle_intr_unlinks(ehci); ehci 353 drivers/usb/host/ehci-hub.c end_free_itds(ehci); ehci 359 drivers/usb/host/ehci-hub.c ehci_writel(ehci, mask, &ehci->regs->intr_enable); ehci 360 drivers/usb/host/ehci-hub.c ehci_readl(ehci, &ehci->regs->intr_enable); ehci 363 drivers/usb/host/ehci-hub.c ehci->next_statechange = jiffies + msecs_to_jiffies(10); ehci 364 drivers/usb/host/ehci-hub.c ehci->enabled_hrtimer_events = 0; ehci 365 drivers/usb/host/ehci-hub.c ehci->next_hrtimer_event = EHCI_HRTIMER_NO_EVENT; ehci 366 drivers/usb/host/ehci-hub.c spin_unlock_irq (&ehci->lock); ehci 368 drivers/usb/host/ehci-hub.c hrtimer_cancel(&ehci->hrtimer); ehci 376 drivers/usb/host/ehci-hub.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 382 drivers/usb/host/ehci-hub.c if (time_before (jiffies, ehci->next_statechange)) ehci 384 drivers/usb/host/ehci-hub.c spin_lock_irq (&ehci->lock); ehci 385 drivers/usb/host/ehci-hub.c if (!HCD_HW_ACCESSIBLE(hcd) || ehci->shutdown) ehci 388 drivers/usb/host/ehci-hub.c if (unlikely(ehci->debug)) { ehci 390 drivers/usb/host/ehci-hub.c ehci->debug = NULL; ehci 401 drivers/usb/host/ehci-hub.c power_okay = ehci_readl(ehci, &ehci->regs->intr_enable); ehci 402 drivers/usb/host/ehci-hub.c ehci_dbg(ehci, "resume root hub%s\n", ehci 408 drivers/usb/host/ehci-hub.c ehci_writel(ehci, 0, &ehci->regs->intr_enable); ehci 411 drivers/usb/host/ehci-hub.c ehci_writel(ehci, 0, &ehci->regs->segment); ehci 412 drivers/usb/host/ehci-hub.c ehci_writel(ehci, ehci->periodic_dma, &ehci->regs->frame_list); ehci 413 drivers/usb/host/ehci-hub.c ehci_writel(ehci, (u32) ehci->async->qh_dma, &ehci->regs->async_next); ehci 416 drivers/usb/host/ehci-hub.c ehci->command |= CMD_RUN; ehci 417 drivers/usb/host/ehci-hub.c ehci_writel(ehci, ehci->command, &ehci->regs->command); ehci 418 drivers/usb/host/ehci-hub.c ehci->rh_state = EHCI_RH_RUNNING; ehci 425 drivers/usb/host/ehci-hub.c i = HCS_N_PORTS(ehci->hcs_params); ehci 427 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, &ehci->regs->port_status[i]); ehci 430 drivers/usb/host/ehci-hub.c ehci_dbg(ehci, "Port status(0x%x) is wrong\n", temp); ehci 431 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 433 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 438 drivers/usb/host/ehci-hub.c if (ehci->shutdown) ehci 442 drivers/usb/host/ehci-hub.c if (ehci->bus_suspended && ehci->has_tdi_phy_lpm) { ehci 443 drivers/usb/host/ehci-hub.c i = HCS_N_PORTS(ehci->hcs_params); ehci 445 drivers/usb/host/ehci-hub.c if (test_bit(i, &ehci->bus_suspended)) { ehci 447 drivers/usb/host/ehci-hub.c &ehci->regs->hostpc[i]; ehci 449 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, hostpc_reg); ehci 450 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp & ~HOSTPC_PHCD, ehci 454 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 456 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 457 drivers/usb/host/ehci-hub.c if (ehci->shutdown) ehci 462 drivers/usb/host/ehci-hub.c i = HCS_N_PORTS (ehci->hcs_params); ehci 464 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, &ehci->regs->port_status [i]); ehci 466 drivers/usb/host/ehci-hub.c if (test_bit(i, &ehci->bus_suspended) && ehci 471 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp, &ehci->regs->port_status [i]); ehci 479 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 481 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 482 drivers/usb/host/ehci-hub.c if (ehci->shutdown) ehci 486 drivers/usb/host/ehci-hub.c i = HCS_N_PORTS (ehci->hcs_params); ehci 488 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, &ehci->regs->port_status [i]); ehci 491 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp, &ehci->regs->port_status [i]); ehci 495 drivers/usb/host/ehci-hub.c ehci->next_statechange = jiffies + msecs_to_jiffies(5); ehci 496 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 498 drivers/usb/host/ehci-hub.c ehci_handover_companion_ports(ehci); ehci 501 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 502 drivers/usb/host/ehci-hub.c if (ehci->shutdown) ehci 504 drivers/usb/host/ehci-hub.c ehci_writel(ehci, INTR_MASK, &ehci->regs->intr_enable); ehci 505 drivers/usb/host/ehci-hub.c (void) ehci_readl(ehci, &ehci->regs->intr_enable); ehci 506 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 511 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 517 drivers/usb/host/ehci-hub.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 519 drivers/usb/host/ehci-hub.c return ehci->resuming_ports; ehci 535 drivers/usb/host/ehci-hub.c static void set_owner(struct ehci_hcd *ehci, int portnum, int new_owner) ehci 541 drivers/usb/host/ehci-hub.c status_reg = &ehci->regs->port_status[portnum]; ehci 549 drivers/usb/host/ehci-hub.c spin_lock_irq(&ehci->lock); ehci 550 drivers/usb/host/ehci-hub.c port_status = ehci_readl(ehci, status_reg); ehci 558 drivers/usb/host/ehci-hub.c ehci_writel(ehci, port_status, status_reg); ehci 560 drivers/usb/host/ehci-hub.c spin_unlock_irq(&ehci->lock); ehci 569 drivers/usb/host/ehci-hub.c struct ehci_hcd *ehci, ehci 581 drivers/usb/host/ehci-hub.c if (ehci_is_TDI(ehci)) { ehci 582 drivers/usb/host/ehci-hub.c ehci_dbg (ehci, ehci 588 drivers/usb/host/ehci-hub.c ehci_dbg (ehci, "port %d full speed --> companion\n", ehci 594 drivers/usb/host/ehci-hub.c ehci_writel(ehci, port_status, status_reg); ehci 597 drivers/usb/host/ehci-hub.c if (ehci->has_amcc_usb23) ehci 598 drivers/usb/host/ehci-hub.c set_ohci_hcfs(ehci, 1); ehci 600 drivers/usb/host/ehci-hub.c ehci_dbg(ehci, "port %d reset complete, port enabled\n", ehci 603 drivers/usb/host/ehci-hub.c if (ehci->has_amcc_usb23) ehci 604 drivers/usb/host/ehci-hub.c set_ohci_hcfs(ehci, 0); ehci 618 drivers/usb/host/ehci-hub.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 627 drivers/usb/host/ehci-hub.c ports = HCS_N_PORTS (ehci->hcs_params); ehci 636 drivers/usb/host/ehci-hub.c status = ehci->resuming_ports; ehci 653 drivers/usb/host/ehci-hub.c spin_lock_irqsave (&ehci->lock, flags); ehci 656 drivers/usb/host/ehci-hub.c if (ehci->has_ppcd) ehci 657 drivers/usb/host/ehci-hub.c ppcd = ehci_readl(ehci, &ehci->regs->status) >> 16; ehci 662 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, &ehci->regs->port_status[i]); ehci 673 drivers/usb/host/ehci-hub.c if ((temp & mask) != 0 || test_bit(i, &ehci->port_c_suspend) ehci 674 drivers/usb/host/ehci-hub.c || (ehci->reset_done[i] && time_after_eq( ehci 675 drivers/usb/host/ehci-hub.c jiffies, ehci->reset_done[i]))) { ehci 685 drivers/usb/host/ehci-hub.c if (ehci->resuming_ports) ehci 688 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore (&ehci->lock, flags); ehci 696 drivers/usb/host/ehci-hub.c struct ehci_hcd *ehci, ehci 699 drivers/usb/host/ehci-hub.c int ports = HCS_N_PORTS (ehci->hcs_params); ehci 715 drivers/usb/host/ehci-hub.c if (HCS_PPC (ehci->hcs_params)) ehci 721 drivers/usb/host/ehci-hub.c if (HCS_INDICATOR (ehci->hcs_params)) ehci 804 drivers/usb/host/ehci-hub.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 811 drivers/usb/host/ehci-hub.c ehci_err(ehci, "No device attached to the RootHub\n"); ehci 841 drivers/usb/host/ehci-hub.c ehci_err(ehci, "%s SETUP stage timed out on ep0\n", __func__); ehci 856 drivers/usb/host/ehci-hub.c ehci_err(ehci, "%s IN stage timed out on ep0\n", __func__); ehci 876 drivers/usb/host/ehci-hub.c struct ehci_hcd *ehci = hcd_to_ehci (hcd); ehci 877 drivers/usb/host/ehci-hub.c int ports = HCS_N_PORTS (ehci->hcs_params); ehci 891 drivers/usb/host/ehci-hub.c status_reg = &ehci->regs->port_status[temp]; ehci 892 drivers/usb/host/ehci-hub.c hostpc_reg = &ehci->regs->hostpc[temp]; ehci 901 drivers/usb/host/ehci-hub.c spin_lock_irqsave (&ehci->lock, flags); ehci 917 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, status_reg); ehci 929 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp & ~PORT_PE, status_reg); ehci 932 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp | PORT_PEC, status_reg); ehci 937 drivers/usb/host/ehci-hub.c if (ehci->no_selective_suspend) ehci 952 drivers/usb/host/ehci-hub.c if (ehci->has_tdi_phy_lpm) { ehci 953 drivers/usb/host/ehci-hub.c temp1 = ehci_readl(ehci, hostpc_reg); ehci 954 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp1 & ~HOSTPC_PHCD, ehci 956 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 958 drivers/usb/host/ehci-hub.c spin_lock_irqsave(&ehci->lock, flags); ehci 962 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp | PORT_RESUME, status_reg); ehci 963 drivers/usb/host/ehci-hub.c ehci->reset_done[wIndex] = jiffies ehci 965 drivers/usb/host/ehci-hub.c set_bit(wIndex, &ehci->resuming_ports); ehci 969 drivers/usb/host/ehci-hub.c clear_bit(wIndex, &ehci->port_c_suspend); ehci 972 drivers/usb/host/ehci-hub.c if (HCS_PPC(ehci->hcs_params)) { ehci 973 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 974 drivers/usb/host/ehci-hub.c ehci_port_power(ehci, wIndex, false); ehci 975 drivers/usb/host/ehci-hub.c spin_lock_irqsave(&ehci->lock, flags); ehci 979 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp | PORT_CSC, status_reg); ehci 982 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp | PORT_OCC, status_reg); ehci 990 drivers/usb/host/ehci-hub.c ehci_readl(ehci, &ehci->regs->command); /* unblock posted write */ ehci 993 drivers/usb/host/ehci-hub.c ehci_hub_descriptor (ehci, (struct usb_hub_descriptor *) ehci 1006 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, status_reg); ehci 1024 drivers/usb/host/ehci-hub.c if (((temp & PORT_OC) || (ehci->need_oc_pp_cycle)) ehci 1025 drivers/usb/host/ehci-hub.c && HCS_PPC(ehci->hcs_params)) { ehci 1026 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1027 drivers/usb/host/ehci-hub.c ehci_port_power(ehci, wIndex, false); ehci 1028 drivers/usb/host/ehci-hub.c spin_lock_irqsave(&ehci->lock, flags); ehci 1029 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, status_reg); ehci 1034 drivers/usb/host/ehci-hub.c if (!ehci->reset_done[wIndex]) { ehci 1039 drivers/usb/host/ehci-hub.c ehci->reset_done[wIndex] = jiffies ehci 1042 drivers/usb/host/ehci-hub.c set_bit(wIndex, &ehci->resuming_ports); ehci 1044 drivers/usb/host/ehci-hub.c mod_timer(&ehci_to_hcd(ehci)->rh_timer, ehci 1045 drivers/usb/host/ehci-hub.c ehci->reset_done[wIndex]); ehci 1049 drivers/usb/host/ehci-hub.c } else if (!time_after_eq(jiffies, ehci->reset_done[wIndex])) { ehci 1053 drivers/usb/host/ehci-hub.c } else if (test_bit(wIndex, &ehci->resuming_ports)) { ehci 1054 drivers/usb/host/ehci-hub.c clear_bit(wIndex, &ehci->suspended_ports); ehci 1055 drivers/usb/host/ehci-hub.c set_bit(wIndex, &ehci->port_c_suspend); ehci 1056 drivers/usb/host/ehci-hub.c ehci->reset_done[wIndex] = 0; ehci 1061 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp, status_reg); ehci 1062 drivers/usb/host/ehci-hub.c clear_bit(wIndex, &ehci->resuming_ports); ehci 1063 drivers/usb/host/ehci-hub.c retval = ehci_handshake(ehci, status_reg, ehci 1066 drivers/usb/host/ehci-hub.c ehci_err(ehci, "port %d resume error %d\n", ehci 1070 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, status_reg); ehci 1075 drivers/usb/host/ehci-hub.c ehci->reset_done [wIndex] = 0; ehci 1078 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp & ~(PORT_RWC_BITS | PORT_RESET), ehci 1083 drivers/usb/host/ehci-hub.c retval = ehci_handshake(ehci, status_reg, ehci 1086 drivers/usb/host/ehci-hub.c ehci_err (ehci, "port %d reset error %d\n", ehci 1092 drivers/usb/host/ehci-hub.c temp = check_reset_complete (ehci, wIndex, status_reg, ehci 1093 drivers/usb/host/ehci-hub.c ehci_readl(ehci, status_reg)); ehci 1098 drivers/usb/host/ehci-hub.c test_bit(wIndex, &ehci->companion_ports)) { ehci 1101 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp, status_reg); ehci 1102 drivers/usb/host/ehci-hub.c ehci_dbg(ehci, "port %d --> companion\n", wIndex + 1); ehci 1103 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, status_reg); ehci 1115 drivers/usb/host/ehci-hub.c if (ehci->has_hostpc) { ehci 1116 drivers/usb/host/ehci-hub.c temp1 = ehci_readl(ehci, hostpc_reg); ehci 1117 drivers/usb/host/ehci-hub.c status |= ehci_port_speed(ehci, temp1); ehci 1119 drivers/usb/host/ehci-hub.c status |= ehci_port_speed(ehci, temp); ehci 1127 drivers/usb/host/ehci-hub.c } else if (test_bit(wIndex, &ehci->suspended_ports)) { ehci 1128 drivers/usb/host/ehci-hub.c clear_bit(wIndex, &ehci->suspended_ports); ehci 1129 drivers/usb/host/ehci-hub.c clear_bit(wIndex, &ehci->resuming_ports); ehci 1130 drivers/usb/host/ehci-hub.c ehci->reset_done[wIndex] = 0; ehci 1132 drivers/usb/host/ehci-hub.c set_bit(wIndex, &ehci->port_c_suspend); ehci 1142 drivers/usb/host/ehci-hub.c if (test_bit(wIndex, &ehci->port_c_suspend)) ehci 1146 drivers/usb/host/ehci-hub.c dbg_port(ehci, "GetStatus", wIndex + 1, temp); ehci 1162 drivers/usb/host/ehci-hub.c if (unlikely(ehci->debug)) { ehci 1165 drivers/usb/host/ehci-hub.c if (wIndex == HCS_DEBUG_PORT(ehci->hcs_params) && ehci 1166 drivers/usb/host/ehci-hub.c (readl(&ehci->debug->control) & DBGP_ENABLED)) { ehci 1174 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, status_reg); ehci 1181 drivers/usb/host/ehci-hub.c if (ehci->no_selective_suspend) ehci 1193 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp | PORT_SUSPEND, status_reg); ehci 1194 drivers/usb/host/ehci-hub.c if (ehci->has_tdi_phy_lpm) { ehci 1195 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1197 drivers/usb/host/ehci-hub.c spin_lock_irqsave(&ehci->lock, flags); ehci 1198 drivers/usb/host/ehci-hub.c temp1 = ehci_readl(ehci, hostpc_reg); ehci 1199 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp1 | HOSTPC_PHCD, ehci 1201 drivers/usb/host/ehci-hub.c temp1 = ehci_readl(ehci, hostpc_reg); ehci 1202 drivers/usb/host/ehci-hub.c ehci_dbg(ehci, "Port%d phy low pwr mode %s\n", ehci 1206 drivers/usb/host/ehci-hub.c if (ehci_has_fsl_susp_errata(ehci)) { ehci 1208 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1210 drivers/usb/host/ehci-hub.c spin_lock_irqsave(&ehci->lock, flags); ehci 1212 drivers/usb/host/ehci-hub.c set_bit(wIndex, &ehci->suspended_ports); ehci 1215 drivers/usb/host/ehci-hub.c if (HCS_PPC(ehci->hcs_params)) { ehci 1216 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1217 drivers/usb/host/ehci-hub.c ehci_port_power(ehci, wIndex, true); ehci 1218 drivers/usb/host/ehci-hub.c spin_lock_irqsave(&ehci->lock, flags); ehci 1229 drivers/usb/host/ehci-hub.c && !ehci_is_TDI(ehci) ehci 1231 drivers/usb/host/ehci-hub.c ehci_dbg (ehci, ehci 1243 drivers/usb/host/ehci-hub.c ehci->reset_done [wIndex] = jiffies ehci 1250 drivers/usb/host/ehci-hub.c if (ehci_has_fsl_hs_errata(ehci)) ehci 1253 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp, status_reg); ehci 1265 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1268 drivers/usb/host/ehci-hub.c spin_lock_irqsave(&ehci->lock, flags); ehci 1274 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1275 drivers/usb/host/ehci-hub.c ehci_quiesce(ehci); ehci 1276 drivers/usb/host/ehci-hub.c spin_lock_irqsave(&ehci->lock, flags); ehci 1281 drivers/usb/host/ehci-hub.c &ehci->regs->port_status[ports]; ehci 1283 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, sreg) & ~PORT_RWC_BITS; ehci 1285 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp | PORT_SUSPEND, ehci 1289 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1290 drivers/usb/host/ehci-hub.c ehci_halt(ehci); ehci 1291 drivers/usb/host/ehci-hub.c spin_lock_irqsave(&ehci->lock, flags); ehci 1293 drivers/usb/host/ehci-hub.c temp = ehci_readl(ehci, status_reg); ehci 1295 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp, status_reg); ehci 1301 drivers/usb/host/ehci-hub.c ehci_readl(ehci, &ehci->regs->command); /* unblock posted writes */ ehci 1310 drivers/usb/host/ehci-hub.c spin_unlock_irqrestore (&ehci->lock, flags); ehci 1317 drivers/usb/host/ehci-hub.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 1319 drivers/usb/host/ehci-hub.c if (ehci_is_TDI(ehci)) ehci 1321 drivers/usb/host/ehci-hub.c set_owner(ehci, --portnum, PORT_OWNER); ehci 1326 drivers/usb/host/ehci-hub.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 1329 drivers/usb/host/ehci-hub.c if (ehci_is_TDI(ehci)) ehci 1331 drivers/usb/host/ehci-hub.c reg = &ehci->regs->port_status[portnum - 1]; ehci 1332 drivers/usb/host/ehci-hub.c return ehci_readl(ehci, reg) & PORT_OWNER; ehci 1335 drivers/usb/host/ehci-hub.c static int ehci_port_power(struct ehci_hcd *ehci, int portnum, bool enable) ehci 1337 drivers/usb/host/ehci-hub.c struct usb_hcd *hcd = ehci_to_hcd(ehci); ehci 1338 drivers/usb/host/ehci-hub.c u32 __iomem *status_reg = &ehci->regs->port_status[portnum]; ehci 1339 drivers/usb/host/ehci-hub.c u32 temp = ehci_readl(ehci, status_reg) & ~PORT_RWC_BITS; ehci 1342 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp | PORT_POWER, status_reg); ehci 1344 drivers/usb/host/ehci-hub.c ehci_writel(ehci, temp & ~PORT_POWER, status_reg); ehci 25 drivers/usb/host/ehci-mem.c static inline void ehci_qtd_init(struct ehci_hcd *ehci, struct ehci_qtd *qtd, ehci 30 drivers/usb/host/ehci-mem.c qtd->hw_token = cpu_to_hc32(ehci, QTD_STS_HALT); ehci 31 drivers/usb/host/ehci-mem.c qtd->hw_next = EHCI_LIST_END(ehci); ehci 32 drivers/usb/host/ehci-mem.c qtd->hw_alt_next = EHCI_LIST_END(ehci); ehci 36 drivers/usb/host/ehci-mem.c static struct ehci_qtd *ehci_qtd_alloc (struct ehci_hcd *ehci, gfp_t flags) ehci 41 drivers/usb/host/ehci-mem.c qtd = dma_pool_alloc (ehci->qtd_pool, flags, &dma); ehci 43 drivers/usb/host/ehci-mem.c ehci_qtd_init(ehci, qtd, dma); ehci 48 drivers/usb/host/ehci-mem.c static inline void ehci_qtd_free (struct ehci_hcd *ehci, struct ehci_qtd *qtd) ehci 50 drivers/usb/host/ehci-mem.c dma_pool_free (ehci->qtd_pool, qtd, qtd->qtd_dma); ehci 54 drivers/usb/host/ehci-mem.c static void qh_destroy(struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 58 drivers/usb/host/ehci-mem.c ehci_dbg (ehci, "unused qh not empty!\n"); ehci 62 drivers/usb/host/ehci-mem.c ehci_qtd_free (ehci, qh->dummy); ehci 63 drivers/usb/host/ehci-mem.c dma_pool_free(ehci->qh_pool, qh->hw, qh->qh_dma); ehci 67 drivers/usb/host/ehci-mem.c static struct ehci_qh *ehci_qh_alloc (struct ehci_hcd *ehci, gfp_t flags) ehci 76 drivers/usb/host/ehci-mem.c dma_pool_alloc(ehci->qh_pool, flags, &dma); ehci 86 drivers/usb/host/ehci-mem.c qh->dummy = ehci_qtd_alloc (ehci, flags); ehci 88 drivers/usb/host/ehci-mem.c ehci_dbg (ehci, "no dummy td\n"); ehci 94 drivers/usb/host/ehci-mem.c dma_pool_free(ehci->qh_pool, qh->hw, qh->qh_dma); ehci 107 drivers/usb/host/ehci-mem.c static void ehci_mem_cleanup (struct ehci_hcd *ehci) ehci 109 drivers/usb/host/ehci-mem.c if (ehci->async) ehci 110 drivers/usb/host/ehci-mem.c qh_destroy(ehci, ehci->async); ehci 111 drivers/usb/host/ehci-mem.c ehci->async = NULL; ehci 113 drivers/usb/host/ehci-mem.c if (ehci->dummy) ehci 114 drivers/usb/host/ehci-mem.c qh_destroy(ehci, ehci->dummy); ehci 115 drivers/usb/host/ehci-mem.c ehci->dummy = NULL; ehci 118 drivers/usb/host/ehci-mem.c dma_pool_destroy(ehci->qtd_pool); ehci 119 drivers/usb/host/ehci-mem.c ehci->qtd_pool = NULL; ehci 120 drivers/usb/host/ehci-mem.c dma_pool_destroy(ehci->qh_pool); ehci 121 drivers/usb/host/ehci-mem.c ehci->qh_pool = NULL; ehci 122 drivers/usb/host/ehci-mem.c dma_pool_destroy(ehci->itd_pool); ehci 123 drivers/usb/host/ehci-mem.c ehci->itd_pool = NULL; ehci 124 drivers/usb/host/ehci-mem.c dma_pool_destroy(ehci->sitd_pool); ehci 125 drivers/usb/host/ehci-mem.c ehci->sitd_pool = NULL; ehci 127 drivers/usb/host/ehci-mem.c if (ehci->periodic) ehci 128 drivers/usb/host/ehci-mem.c dma_free_coherent(ehci_to_hcd(ehci)->self.sysdev, ehci 129 drivers/usb/host/ehci-mem.c ehci->periodic_size * sizeof (u32), ehci 130 drivers/usb/host/ehci-mem.c ehci->periodic, ehci->periodic_dma); ehci 131 drivers/usb/host/ehci-mem.c ehci->periodic = NULL; ehci 134 drivers/usb/host/ehci-mem.c kfree(ehci->pshadow); ehci 135 drivers/usb/host/ehci-mem.c ehci->pshadow = NULL; ehci 139 drivers/usb/host/ehci-mem.c static int ehci_mem_init (struct ehci_hcd *ehci, gfp_t flags) ehci 144 drivers/usb/host/ehci-mem.c ehci->qtd_pool = dma_pool_create ("ehci_qtd", ehci 145 drivers/usb/host/ehci-mem.c ehci_to_hcd(ehci)->self.sysdev, ehci 149 drivers/usb/host/ehci-mem.c if (!ehci->qtd_pool) { ehci 154 drivers/usb/host/ehci-mem.c ehci->qh_pool = dma_pool_create ("ehci_qh", ehci 155 drivers/usb/host/ehci-mem.c ehci_to_hcd(ehci)->self.sysdev, ehci 159 drivers/usb/host/ehci-mem.c if (!ehci->qh_pool) { ehci 162 drivers/usb/host/ehci-mem.c ehci->async = ehci_qh_alloc (ehci, flags); ehci 163 drivers/usb/host/ehci-mem.c if (!ehci->async) { ehci 168 drivers/usb/host/ehci-mem.c ehci->itd_pool = dma_pool_create ("ehci_itd", ehci 169 drivers/usb/host/ehci-mem.c ehci_to_hcd(ehci)->self.sysdev, ehci 173 drivers/usb/host/ehci-mem.c if (!ehci->itd_pool) { ehci 178 drivers/usb/host/ehci-mem.c ehci->sitd_pool = dma_pool_create ("ehci_sitd", ehci 179 drivers/usb/host/ehci-mem.c ehci_to_hcd(ehci)->self.sysdev, ehci 183 drivers/usb/host/ehci-mem.c if (!ehci->sitd_pool) { ehci 188 drivers/usb/host/ehci-mem.c ehci->periodic = (__le32 *) ehci 189 drivers/usb/host/ehci-mem.c dma_alloc_coherent(ehci_to_hcd(ehci)->self.sysdev, ehci 190 drivers/usb/host/ehci-mem.c ehci->periodic_size * sizeof(__le32), ehci 191 drivers/usb/host/ehci-mem.c &ehci->periodic_dma, flags); ehci 192 drivers/usb/host/ehci-mem.c if (ehci->periodic == NULL) { ehci 196 drivers/usb/host/ehci-mem.c if (ehci->use_dummy_qh) { ehci 198 drivers/usb/host/ehci-mem.c ehci->dummy = ehci_qh_alloc(ehci, flags); ehci 199 drivers/usb/host/ehci-mem.c if (!ehci->dummy) ehci 202 drivers/usb/host/ehci-mem.c hw = ehci->dummy->hw; ehci 203 drivers/usb/host/ehci-mem.c hw->hw_next = EHCI_LIST_END(ehci); ehci 204 drivers/usb/host/ehci-mem.c hw->hw_qtd_next = EHCI_LIST_END(ehci); ehci 205 drivers/usb/host/ehci-mem.c hw->hw_alt_next = EHCI_LIST_END(ehci); ehci 206 drivers/usb/host/ehci-mem.c ehci->dummy->hw = hw; ehci 208 drivers/usb/host/ehci-mem.c for (i = 0; i < ehci->periodic_size; i++) ehci 209 drivers/usb/host/ehci-mem.c ehci->periodic[i] = cpu_to_hc32(ehci, ehci 210 drivers/usb/host/ehci-mem.c ehci->dummy->qh_dma); ehci 212 drivers/usb/host/ehci-mem.c for (i = 0; i < ehci->periodic_size; i++) ehci 213 drivers/usb/host/ehci-mem.c ehci->periodic[i] = EHCI_LIST_END(ehci); ehci 217 drivers/usb/host/ehci-mem.c ehci->pshadow = kcalloc(ehci->periodic_size, sizeof(void *), flags); ehci 218 drivers/usb/host/ehci-mem.c if (ehci->pshadow != NULL) ehci 222 drivers/usb/host/ehci-mem.c ehci_dbg (ehci, "couldn't init memory\n"); ehci 223 drivers/usb/host/ehci-mem.c ehci_mem_cleanup (ehci); ehci 97 drivers/usb/host/ehci-mv.c struct ehci_hcd *ehci; ehci 166 drivers/usb/host/ehci-mv.c ehci = hcd_to_ehci(hcd); ehci 167 drivers/usb/host/ehci-mv.c ehci->caps = (struct ehci_caps *) ehci_mv->cap_regs; ehci 45 drivers/usb/host/ehci-mxc.c struct ehci_hcd *ehci; ehci 68 drivers/usb/host/ehci-mxc.c ehci = hcd_to_ehci(hcd); ehci 69 drivers/usb/host/ehci-mxc.c priv = (struct ehci_mxc_priv *) ehci->priv; ehci 106 drivers/usb/host/ehci-mxc.c ehci->caps = hcd->regs + 0x100; ehci 107 drivers/usb/host/ehci-mxc.c ehci->regs = hcd->regs + 0x100 + ehci 108 drivers/usb/host/ehci-mxc.c HC_LENGTH(ehci, ehci_readl(ehci, &ehci->caps->hc_capbase)); ehci 111 drivers/usb/host/ehci-mxc.c ehci_writel(ehci, pdata->portsc, &ehci->regs->port_status[0]); ehci 160 drivers/usb/host/ehci-mxc.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 161 drivers/usb/host/ehci-mxc.c struct ehci_mxc_priv *priv = (struct ehci_mxc_priv *) ehci->priv; ehci 213 drivers/usb/host/ehci-orion.c struct ehci_hcd *ehci; ehci 257 drivers/usb/host/ehci-orion.c ehci = hcd_to_ehci(hcd); ehci 258 drivers/usb/host/ehci-orion.c ehci->caps = hcd->regs + 0x100; ehci 60 drivers/usb/host/ehci-pci.c static int ehci_pci_reinit(struct ehci_hcd *ehci, struct pci_dev *pdev) ehci 71 drivers/usb/host/ehci-pci.c ehci_dbg(ehci, "MWI active\n"); ehci 79 drivers/usb/host/ehci-pci.c ehci_writel(ehci, INTEL_QUARK_X1000_EHCI_MAX_THRESHOLD, ehci 80 drivers/usb/host/ehci-pci.c ehci->regs->intel_quark_x1000_insnreg01); ehci 89 drivers/usb/host/ehci-pci.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 94 drivers/usb/host/ehci-pci.c ehci->caps = hcd->regs; ehci 110 drivers/usb/host/ehci-pci.c ehci->big_endian_mmio = 1; ehci 112 drivers/usb/host/ehci-pci.c ehci_warn(ehci, ehci 129 drivers/usb/host/ehci-pci.c ehci_warn(ehci, "can't enable NVidia " ehci 138 drivers/usb/host/ehci-pci.c ehci->no_selective_suspend = 1; ehci 153 drivers/usb/host/ehci-pci.c ehci->amd_pll_fix = 1; ehci 156 drivers/usb/host/ehci-pci.c ehci_info(ehci, "ignoring AMD8111 (errata)\n"); ehci 169 drivers/usb/host/ehci-pci.c ehci->use_dummy_qh = 1; ehci 170 drivers/usb/host/ehci-pci.c ehci_info(ehci, "applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround\n"); ehci 190 drivers/usb/host/ehci-pci.c ehci->amd_pll_fix = 1; ehci 200 drivers/usb/host/ehci-pci.c ehci->use_dummy_qh = 1; ehci 201 drivers/usb/host/ehci-pci.c ehci_info(ehci, "applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround\n"); ehci 209 drivers/usb/host/ehci-pci.c ehci_info(ehci, "applying AMD SB600/SB700 USB freeze workaround\n"); ehci 216 drivers/usb/host/ehci-pci.c ehci_info(ehci, "applying MosChip frame-index workaround\n"); ehci 217 drivers/usb/host/ehci-pci.c ehci->frame_index_bug = 1; ehci 227 drivers/usb/host/ehci-pci.c u32 hcs_params = ehci_readl(ehci, ehci 228 drivers/usb/host/ehci-pci.c &ehci->caps->hcs_params); ehci 231 drivers/usb/host/ehci-pci.c ehci->debug = hcd->regs + temp; ehci 232 drivers/usb/host/ehci-pci.c temp = ehci_readl(ehci, &ehci->debug->control); ehci 233 drivers/usb/host/ehci-pci.c ehci_info(ehci, "debug port %d%s\n", ehci 237 drivers/usb/host/ehci-pci.c ehci->debug = NULL; ehci 250 drivers/usb/host/ehci-pci.c ehci->need_io_watchdog = 0; ehci 260 drivers/usb/host/ehci-pci.c ehci_info(ehci, "disable ppcd for nvidia mcp89\n"); ehci 261 drivers/usb/host/ehci-pci.c ehci->has_ppcd = 0; ehci 262 drivers/usb/host/ehci-pci.c ehci->command &= ~CMD_PPCEE; ehci 269 drivers/usb/host/ehci-pci.c temp = HCS_N_CC(ehci->hcs_params) * HCS_N_PCC(ehci->hcs_params); ehci 271 drivers/usb/host/ehci-pci.c if (temp && HCS_N_PORTS(ehci->hcs_params) > temp) { ehci 272 drivers/usb/host/ehci-pci.c ehci_dbg(ehci, "bogus port configuration: " ehci 274 drivers/usb/host/ehci-pci.c HCS_N_CC(ehci->hcs_params), ehci 275 drivers/usb/host/ehci-pci.c HCS_N_PCC(ehci->hcs_params), ehci 276 drivers/usb/host/ehci-pci.c HCS_N_PORTS(ehci->hcs_params)); ehci 281 drivers/usb/host/ehci-pci.c temp |= (ehci->hcs_params & ~0xf); ehci 282 drivers/usb/host/ehci-pci.c ehci->hcs_params = temp; ehci 295 drivers/usb/host/ehci-pci.c pci_read_config_byte(pdev, 0x60, &ehci->sbrn); ehci 313 drivers/usb/host/ehci-pci.c if (ehci->no_selective_suspend && device_can_wakeup(&pdev->dev)) ehci 314 drivers/usb/host/ehci-pci.c ehci_warn(ehci, "selective suspend/wakeup unavailable\n"); ehci 317 drivers/usb/host/ehci-pci.c retval = ehci_pci_reinit(ehci, pdev); ehci 337 drivers/usb/host/ehci-pci.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 341 drivers/usb/host/ehci-pci.c (void) ehci_pci_reinit(ehci, pdev); ehci 55 drivers/usb/host/ehci-platform.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 58 drivers/usb/host/ehci-platform.c ehci->has_synopsys_hc_bug = pdata->has_synopsys_hc_bug; ehci 66 drivers/usb/host/ehci-platform.c ehci->caps = hcd->regs + pdata->caps_offset; ehci 72 drivers/usb/host/ehci-platform.c ehci->need_io_watchdog = 0; ehci 127 drivers/usb/host/ehci-platform.c struct ehci_hcd *ehci; ehci 159 drivers/usb/host/ehci-platform.c ehci = hcd_to_ehci(hcd); ehci 163 drivers/usb/host/ehci-platform.c ehci->big_endian_mmio = 1; ehci 166 drivers/usb/host/ehci-platform.c ehci->big_endian_desc = 1; ehci 169 drivers/usb/host/ehci-platform.c ehci->big_endian_mmio = ehci->big_endian_desc = 1; ehci 202 drivers/usb/host/ehci-platform.c ehci->big_endian_desc = 1; ehci 204 drivers/usb/host/ehci-platform.c ehci->big_endian_mmio = 1; ehci 211 drivers/usb/host/ehci-platform.c if (ehci->big_endian_mmio) { ehci 219 drivers/usb/host/ehci-platform.c if (ehci->big_endian_desc) { ehci 39 drivers/usb/host/ehci-pmcmsp.c static void usb_hcd_tdi_set_mode(struct ehci_hcd *ehci) ehci 45 drivers/usb/host/ehci-pmcmsp.c struct ehci_regs *reg_base = ehci->regs; ehci 53 drivers/usb/host/ehci-pmcmsp.c val = ehci_readl(ehci, (u32 *)base); ehci 54 drivers/usb/host/ehci-pmcmsp.c ehci_writel(ehci, (val | USB_CTRL_MODE_STREAM_DISABLE), ehci 58 drivers/usb/host/ehci-pmcmsp.c val = ehci_readl(ehci, (u32 *)statreg); ehci 60 drivers/usb/host/ehci-pmcmsp.c ehci_writel(ehci, val, (u32 *)statreg); ehci 63 drivers/usb/host/ehci-pmcmsp.c ehci_writel(ehci, USB_CTRL_FIFO_THRESH, (u32 *)fiforeg); ehci 72 drivers/usb/host/ehci-pmcmsp.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 75 drivers/usb/host/ehci-pmcmsp.c ehci->big_endian_mmio = 1; ehci 76 drivers/usb/host/ehci-pmcmsp.c ehci->big_endian_desc = 1; ehci 78 drivers/usb/host/ehci-pmcmsp.c ehci->caps = hcd->regs; ehci 85 drivers/usb/host/ehci-pmcmsp.c usb_hcd_tdi_set_mode(ehci); ehci 163 drivers/usb/host/ehci-pmcmsp.c struct ehci_hcd *ehci ; ehci 200 drivers/usb/host/ehci-pmcmsp.c ehci = hcd_to_ehci(hcd); ehci 201 drivers/usb/host/ehci-pmcmsp.c ehci->big_endian_mmio = 1; ehci 202 drivers/usb/host/ehci-pmcmsp.c ehci->big_endian_desc = 1; ehci 98 drivers/usb/host/ehci-ppc-of.c struct ehci_hcd *ehci = NULL; ehci 135 drivers/usb/host/ehci-ppc-of.c ehci = hcd_to_ehci(hcd); ehci 140 drivers/usb/host/ehci-ppc-of.c ehci->ohci_hcctrl_reg = ehci 146 drivers/usb/host/ehci-ppc-of.c if (!ehci->ohci_hcctrl_reg) { ehci 149 drivers/usb/host/ehci-ppc-of.c ehci->has_amcc_usb23 = 1; ehci 154 drivers/usb/host/ehci-ppc-of.c ehci->big_endian_mmio = 1; ehci 155 drivers/usb/host/ehci-ppc-of.c ehci->big_endian_desc = 1; ehci 158 drivers/usb/host/ehci-ppc-of.c ehci->big_endian_mmio = 1; ehci 160 drivers/usb/host/ehci-ppc-of.c ehci->big_endian_desc = 1; ehci 162 drivers/usb/host/ehci-ppc-of.c ehci->caps = hcd->regs; ehci 166 drivers/usb/host/ehci-ppc-of.c ehci_dbg(ehci, "Break Memory Transfer (BMT) is %senabled!\n", ehci 189 drivers/usb/host/ehci-ppc-of.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 203 drivers/usb/host/ehci-ppc-of.c if (ehci->has_amcc_usb23) { ehci 209 drivers/usb/host/ehci-ppc-of.c set_ohci_hcfs(ehci, 1); ehci 12 drivers/usb/host/ehci-ps3.c static void ps3_ehci_setup_insnreg(struct ehci_hcd *ehci) ehci 31 drivers/usb/host/ehci-ps3.c writel_be(0x01000020, (void __iomem *)ehci->regs + ehci 36 drivers/usb/host/ehci-ps3.c writel_be(0x00000001, (void __iomem *)ehci->regs + ehci 43 drivers/usb/host/ehci-ps3.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 45 drivers/usb/host/ehci-ps3.c ehci->big_endian_mmio = 1; ehci 46 drivers/usb/host/ehci-ps3.c ehci->caps = hcd->regs; ehci 52 drivers/usb/host/ehci-ps3.c ps3_ehci_setup_insnreg(ehci); ehci 37 drivers/usb/host/ehci-q.c qtd_fill(struct ehci_hcd *ehci, struct ehci_qtd *qtd, dma_addr_t buf, ehci 44 drivers/usb/host/ehci-q.c qtd->hw_buf[0] = cpu_to_hc32(ehci, (u32)addr); ehci 45 drivers/usb/host/ehci-q.c qtd->hw_buf_hi[0] = cpu_to_hc32(ehci, (u32)(addr >> 32)); ehci 56 drivers/usb/host/ehci-q.c qtd->hw_buf[i] = cpu_to_hc32(ehci, (u32)addr); ehci 57 drivers/usb/host/ehci-q.c qtd->hw_buf_hi[i] = cpu_to_hc32(ehci, ehci 70 drivers/usb/host/ehci-q.c qtd->hw_token = cpu_to_hc32(ehci, (count << 16) | token); ehci 79 drivers/usb/host/ehci-q.c qh_update (struct ehci_hcd *ehci, struct ehci_qh *qh, struct ehci_qtd *qtd) ehci 86 drivers/usb/host/ehci-q.c hw->hw_qtd_next = QTD_NEXT(ehci, qtd->qtd_dma); ehci 87 drivers/usb/host/ehci-q.c hw->hw_alt_next = EHCI_LIST_END(ehci); ehci 94 drivers/usb/host/ehci-q.c if (!(hw->hw_info1 & cpu_to_hc32(ehci, QH_TOGGLE_CTL))) { ehci 98 drivers/usb/host/ehci-q.c epnum = (hc32_to_cpup(ehci, &hw->hw_info1) >> 8) & 0x0f; ehci 100 drivers/usb/host/ehci-q.c hw->hw_token &= ~cpu_to_hc32(ehci, QTD_TOGGLE); ehci 105 drivers/usb/host/ehci-q.c hw->hw_token &= cpu_to_hc32(ehci, QTD_TOGGLE | QTD_STS_PING); ehci 113 drivers/usb/host/ehci-q.c qh_refresh (struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 126 drivers/usb/host/ehci-q.c if (qh->hw->hw_token & ACTIVE_BIT(ehci)) { ehci 129 drivers/usb/host/ehci-q.c ehci_warn(ehci, "qh %p should be inactive!\n", qh); ehci 131 drivers/usb/host/ehci-q.c qh_update(ehci, qh, qtd); ehci 138 drivers/usb/host/ehci-q.c static void qh_link_async(struct ehci_hcd *ehci, struct ehci_qh *qh); ehci 143 drivers/usb/host/ehci-q.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 147 drivers/usb/host/ehci-q.c spin_lock_irqsave(&ehci->lock, flags); ehci 150 drivers/usb/host/ehci-q.c && ehci->rh_state == EHCI_RH_RUNNING) ehci 151 drivers/usb/host/ehci-q.c qh_link_async(ehci, qh); ehci 152 drivers/usb/host/ehci-q.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 155 drivers/usb/host/ehci-q.c static void ehci_clear_tt_buffer(struct ehci_hcd *ehci, struct ehci_qh *qh, ehci 173 drivers/usb/host/ehci-q.c if (!ehci_is_TDI(ehci) ehci 175 drivers/usb/host/ehci-q.c ehci_to_hcd(ehci)->self.root_hub) { ehci 188 drivers/usb/host/ehci-q.c struct ehci_hcd *ehci, ehci 237 drivers/usb/host/ehci-q.c ehci_dbg(ehci, "devpath %s ep%d%s 3strikes\n", ehci 251 drivers/usb/host/ehci-q.c ehci_urb_done(struct ehci_hcd *ehci, struct urb *urb, int status) ehci 255 drivers/usb/host/ehci-q.c ehci_to_hcd(ehci)->self.bandwidth_int_reqs--; ehci 259 drivers/usb/host/ehci-q.c INCR(ehci->stats.unlink); ehci 264 drivers/usb/host/ehci-q.c INCR(ehci->stats.complete); ehci 268 drivers/usb/host/ehci-q.c ehci_dbg (ehci, ehci 277 drivers/usb/host/ehci-q.c usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); ehci 278 drivers/usb/host/ehci-q.c usb_hcd_giveback_urb(ehci_to_hcd(ehci), urb, status); ehci 281 drivers/usb/host/ehci-q.c static int qh_schedule (struct ehci_hcd *ehci, struct ehci_qh *qh); ehci 289 drivers/usb/host/ehci-q.c qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 333 drivers/usb/host/ehci-q.c ehci_urb_done(ehci, last->urb, last_status); ehci 336 drivers/usb/host/ehci-q.c ehci_qtd_free (ehci, last); ehci 346 drivers/usb/host/ehci-q.c token = hc32_to_cpu(ehci, qtd->hw_token); ehci 354 drivers/usb/host/ehci-q.c ehci_dbg(ehci, ehci 375 drivers/usb/host/ehci-q.c ehci_dbg(ehci, ehci 387 drivers/usb/host/ehci-q.c qtd->hw_token = cpu_to_hc32(ehci, ehci 390 drivers/usb/host/ehci-q.c hw->hw_token = cpu_to_hc32(ehci, ehci 408 drivers/usb/host/ehci-q.c & EHCI_LIST_END(ehci))) { ehci 415 drivers/usb/host/ehci-q.c && ehci->rh_state >= EHCI_RH_RUNNING)) { ehci 423 drivers/usb/host/ehci-q.c if (ehci->rh_state < EHCI_RH_RUNNING) { ehci 444 drivers/usb/host/ehci-q.c (hw->hw_token & ACTIVE_BIT(ehci))) { ehci 445 drivers/usb/host/ehci-q.c token = hc32_to_cpu(ehci, hw->hw_token); ehci 446 drivers/usb/host/ehci-q.c hw->hw_token &= ~ACTIVE_BIT(ehci); ehci 453 drivers/usb/host/ehci-q.c ehci_clear_tt_buffer(ehci, qh, urb, token); ehci 465 drivers/usb/host/ehci-q.c last_status = qtd_copy_status(ehci, urb, ehci 469 drivers/usb/host/ehci-q.c & EHCI_LIST_END(ehci))) ehci 487 drivers/usb/host/ehci-q.c ehci_clear_tt_buffer(ehci, qh, urb, ehci 511 drivers/usb/host/ehci-q.c ehci_urb_done(ehci, last->urb, last_status); ehci 512 drivers/usb/host/ehci-q.c ehci_qtd_free (ehci, last); ehci 542 drivers/usb/host/ehci-q.c if (stopped != 0 || hw->hw_qtd_next == EHCI_LIST_END(ehci)) ehci 556 drivers/usb/host/ehci-q.c struct ehci_hcd *ehci, ehci 567 drivers/usb/host/ehci-q.c ehci_qtd_free (ehci, qtd); ehci 576 drivers/usb/host/ehci-q.c struct ehci_hcd *ehci, ehci 592 drivers/usb/host/ehci-q.c qtd = ehci_qtd_alloc (ehci, flags); ehci 606 drivers/usb/host/ehci-q.c qtd_fill(ehci, qtd, urb->setup_dma, ehci 613 drivers/usb/host/ehci-q.c qtd = ehci_qtd_alloc (ehci, flags); ehci 617 drivers/usb/host/ehci-q.c qtd_prev->hw_next = QTD_NEXT(ehci, qtd->qtd_dma); ehci 657 drivers/usb/host/ehci-q.c this_qtd_len = qtd_fill(ehci, qtd, buf, this_sg_len, token, ehci 669 drivers/usb/host/ehci-q.c qtd->hw_alt_next = ehci->async->hw->hw_alt_next; ehci 684 drivers/usb/host/ehci-q.c qtd = ehci_qtd_alloc (ehci, flags); ehci 688 drivers/usb/host/ehci-q.c qtd_prev->hw_next = QTD_NEXT(ehci, qtd->qtd_dma); ehci 699 drivers/usb/host/ehci-q.c qtd->hw_alt_next = EHCI_LIST_END(ehci); ehci 720 drivers/usb/host/ehci-q.c qtd = ehci_qtd_alloc (ehci, flags); ehci 724 drivers/usb/host/ehci-q.c qtd_prev->hw_next = QTD_NEXT(ehci, qtd->qtd_dma); ehci 728 drivers/usb/host/ehci-q.c qtd_fill(ehci, qtd, 0, 0, token, 0); ehci 734 drivers/usb/host/ehci-q.c qtd->hw_token |= cpu_to_hc32(ehci, QTD_IOC); ehci 738 drivers/usb/host/ehci-q.c qtd_list_free (ehci, urb, head); ehci 761 drivers/usb/host/ehci-q.c struct ehci_hcd *ehci, ehci 765 drivers/usb/host/ehci-q.c struct ehci_qh *qh = ehci_qh_alloc (ehci, flags); ehci 793 drivers/usb/host/ehci-q.c ehci_dbg(ehci, "bogus qh maxpacket %d\n", maxp); ehci 822 drivers/usb/host/ehci-q.c } else if (urb->interval > ehci->periodic_size << 3) { ehci 823 drivers/usb/host/ehci-q.c urb->interval = ehci->periodic_size << 3; ehci 854 drivers/usb/host/ehci-q.c if (urb->interval > ehci->periodic_size) ehci 855 drivers/usb/host/ehci-q.c urb->interval = ehci->periodic_size; ehci 894 drivers/usb/host/ehci-q.c if (ehci_has_fsl_portno_bug(ehci)) ehci 902 drivers/usb/host/ehci-q.c if (tt && tt->hub != ehci_to_hcd(ehci)->self.root_hub) ehci 932 drivers/usb/host/ehci-q.c ehci_dbg(ehci, "bogus dev %p speed %d\n", urb->dev, ehci 935 drivers/usb/host/ehci-q.c qh_destroy(ehci, qh); ehci 944 drivers/usb/host/ehci-q.c hw->hw_info1 = cpu_to_hc32(ehci, info1); ehci 945 drivers/usb/host/ehci-q.c hw->hw_info2 = cpu_to_hc32(ehci, info2); ehci 953 drivers/usb/host/ehci-q.c static void enable_async(struct ehci_hcd *ehci) ehci 955 drivers/usb/host/ehci-q.c if (ehci->async_count++) ehci 959 drivers/usb/host/ehci-q.c ehci->enabled_hrtimer_events &= ~BIT(EHCI_HRTIMER_DISABLE_ASYNC); ehci 962 drivers/usb/host/ehci-q.c ehci_poll_ASS(ehci); ehci 963 drivers/usb/host/ehci-q.c turn_on_io_watchdog(ehci); ehci 966 drivers/usb/host/ehci-q.c static void disable_async(struct ehci_hcd *ehci) ehci 968 drivers/usb/host/ehci-q.c if (--ehci->async_count) ehci 972 drivers/usb/host/ehci-q.c WARN_ON(ehci->async->qh_next.qh || !list_empty(&ehci->async_unlink) || ehci 973 drivers/usb/host/ehci-q.c !list_empty(&ehci->async_idle)); ehci 976 drivers/usb/host/ehci-q.c ehci_poll_ASS(ehci); ehci 981 drivers/usb/host/ehci-q.c static void qh_link_async (struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 983 drivers/usb/host/ehci-q.c __hc32 dma = QH_NEXT(ehci, qh->qh_dma); ehci 993 drivers/usb/host/ehci-q.c qh_refresh(ehci, qh); ehci 996 drivers/usb/host/ehci-q.c head = ehci->async; ehci 1009 drivers/usb/host/ehci-q.c enable_async(ehci); ehci 1021 drivers/usb/host/ehci-q.c struct ehci_hcd *ehci, ehci 1029 drivers/usb/host/ehci-q.c __hc32 qh_addr_mask = cpu_to_hc32(ehci, 0x7f); ehci 1034 drivers/usb/host/ehci-q.c qh = qh_make (ehci, urb, GFP_ATOMIC); ehci 1068 drivers/usb/host/ehci-q.c qtd->hw_token = HALT_BIT(ehci); ehci 1080 drivers/usb/host/ehci-q.c ehci_qtd_init(ehci, qtd, qtd->qtd_dma); ehci 1087 drivers/usb/host/ehci-q.c qtd->hw_next = QTD_NEXT(ehci, dma); ehci 1103 drivers/usb/host/ehci-q.c struct ehci_hcd *ehci, ehci 1119 drivers/usb/host/ehci-q.c ehci_dbg(ehci, ehci 1128 drivers/usb/host/ehci-q.c spin_lock_irqsave (&ehci->lock, flags); ehci 1129 drivers/usb/host/ehci-q.c if (unlikely(!HCD_HW_ACCESSIBLE(ehci_to_hcd(ehci)))) { ehci 1133 drivers/usb/host/ehci-q.c rc = usb_hcd_link_urb_to_ep(ehci_to_hcd(ehci), urb); ehci 1137 drivers/usb/host/ehci-q.c qh = qh_append_tds(ehci, urb, qtd_list, epnum, &urb->ep->hcpriv); ehci 1139 drivers/usb/host/ehci-q.c usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); ehci 1148 drivers/usb/host/ehci-q.c qh_link_async(ehci, qh); ehci 1150 drivers/usb/host/ehci-q.c spin_unlock_irqrestore (&ehci->lock, flags); ehci 1152 drivers/usb/host/ehci-q.c qtd_list_free (ehci, urb, qtd_list); ehci 1173 drivers/usb/host/ehci-q.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 1186 drivers/usb/host/ehci-q.c qtd = ehci_qtd_alloc(ehci, GFP_KERNEL); ehci 1203 drivers/usb/host/ehci-q.c qtd_fill(ehci, qtd, urb->setup_dma, ehci 1207 drivers/usb/host/ehci-q.c submit_async(ehci, urb, &qtd_list, GFP_ATOMIC); ehci 1222 drivers/usb/host/ehci-q.c qtd_fill(ehci, qtd, buf, len, token, maxpacket); ehci 1228 drivers/usb/host/ehci-q.c qtd->hw_alt_next = EHCI_LIST_END(ehci); ehci 1235 drivers/usb/host/ehci-q.c qtd = ehci_qtd_alloc(ehci, GFP_ATOMIC); ehci 1239 drivers/usb/host/ehci-q.c qtd_prev->hw_next = QTD_NEXT(ehci, qtd->qtd_dma); ehci 1243 drivers/usb/host/ehci-q.c qtd_fill(ehci, qtd, 0, 0, token | QTD_IOC, 0); ehci 1245 drivers/usb/host/ehci-q.c submit_async(ehci, urb, &qtd_list, GFP_KERNEL); ehci 1250 drivers/usb/host/ehci-q.c qtd_list_free(ehci, urb, head); ehci 1257 drivers/usb/host/ehci-q.c static void single_unlink_async(struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 1263 drivers/usb/host/ehci-q.c list_add_tail(&qh->unlink_node, &ehci->async_unlink); ehci 1266 drivers/usb/host/ehci-q.c prev = ehci->async; ehci 1272 drivers/usb/host/ehci-q.c if (ehci->qh_scan_next == qh) ehci 1273 drivers/usb/host/ehci-q.c ehci->qh_scan_next = qh->qh_next.qh; ehci 1276 drivers/usb/host/ehci-q.c static void start_iaa_cycle(struct ehci_hcd *ehci) ehci 1279 drivers/usb/host/ehci-q.c if (unlikely(ehci->rh_state < EHCI_RH_RUNNING)) { ehci 1280 drivers/usb/host/ehci-q.c end_unlink_async(ehci); ehci 1283 drivers/usb/host/ehci-q.c } else if (ehci->rh_state == EHCI_RH_RUNNING && ehci 1284 drivers/usb/host/ehci-q.c !ehci->iaa_in_progress) { ehci 1289 drivers/usb/host/ehci-q.c ehci_writel(ehci, ehci->command | CMD_IAAD, ehci 1290 drivers/usb/host/ehci-q.c &ehci->regs->command); ehci 1291 drivers/usb/host/ehci-q.c ehci_readl(ehci, &ehci->regs->command); ehci 1292 drivers/usb/host/ehci-q.c ehci->iaa_in_progress = true; ehci 1293 drivers/usb/host/ehci-q.c ehci_enable_event(ehci, EHCI_HRTIMER_IAA_WATCHDOG, true); ehci 1297 drivers/usb/host/ehci-q.c static void end_iaa_cycle(struct ehci_hcd *ehci) ehci 1299 drivers/usb/host/ehci-q.c if (ehci->has_synopsys_hc_bug) ehci 1300 drivers/usb/host/ehci-q.c ehci_writel(ehci, (u32) ehci->async->qh_dma, ehci 1301 drivers/usb/host/ehci-q.c &ehci->regs->async_next); ehci 1304 drivers/usb/host/ehci-q.c ehci->iaa_in_progress = false; ehci 1306 drivers/usb/host/ehci-q.c end_unlink_async(ehci); ehci 1311 drivers/usb/host/ehci-q.c static void end_unlink_async(struct ehci_hcd *ehci) ehci 1316 drivers/usb/host/ehci-q.c if (list_empty(&ehci->async_unlink)) ehci 1318 drivers/usb/host/ehci-q.c qh = list_first_entry(&ehci->async_unlink, struct ehci_qh, ehci 1325 drivers/usb/host/ehci-q.c early_exit = ehci->async_unlinking; ehci 1328 drivers/usb/host/ehci-q.c if (ehci->rh_state < EHCI_RH_RUNNING) ehci 1329 drivers/usb/host/ehci-q.c list_splice_tail_init(&ehci->async_unlink, &ehci->async_idle); ehci 1341 drivers/usb/host/ehci-q.c list_move_tail(&qh->unlink_node, &ehci->async_idle); ehci 1368 drivers/usb/host/ehci-q.c else if (qh->hw->hw_token & cpu_to_hc32(ehci, QTD_STS_HALT)) ehci 1377 drivers/usb/host/ehci-q.c if (qh_current != ehci->old_current || ehci 1378 drivers/usb/host/ehci-q.c qh_token != ehci->old_token) { ehci 1379 drivers/usb/host/ehci-q.c ehci->old_current = qh_current; ehci 1380 drivers/usb/host/ehci-q.c ehci->old_token = qh_token; ehci 1381 drivers/usb/host/ehci-q.c ehci_enable_event(ehci, ehci 1389 drivers/usb/host/ehci-q.c ehci->old_current = ~0; /* Prepare for next QH */ ehci 1392 drivers/usb/host/ehci-q.c if (!list_empty(&ehci->async_unlink)) ehci 1393 drivers/usb/host/ehci-q.c start_iaa_cycle(ehci); ehci 1403 drivers/usb/host/ehci-q.c ehci->async_unlinking = true; ehci 1404 drivers/usb/host/ehci-q.c while (!list_empty(&ehci->async_idle)) { ehci 1405 drivers/usb/host/ehci-q.c qh = list_first_entry(&ehci->async_idle, struct ehci_qh, ehci 1413 drivers/usb/host/ehci-q.c qh_completions(ehci, qh); ehci 1415 drivers/usb/host/ehci-q.c ehci->rh_state == EHCI_RH_RUNNING) ehci 1416 drivers/usb/host/ehci-q.c qh_link_async(ehci, qh); ehci 1417 drivers/usb/host/ehci-q.c disable_async(ehci); ehci 1419 drivers/usb/host/ehci-q.c ehci->async_unlinking = false; ehci 1422 drivers/usb/host/ehci-q.c static void start_unlink_async(struct ehci_hcd *ehci, struct ehci_qh *qh); ehci 1424 drivers/usb/host/ehci-q.c static void unlink_empty_async(struct ehci_hcd *ehci) ehci 1431 drivers/usb/host/ehci-q.c for (qh = ehci->async->qh_next.qh; qh; qh = qh->qh_next.qh) { ehci 1435 drivers/usb/host/ehci-q.c if (qh->unlink_cycle != ehci->async_unlink_cycle) ehci 1441 drivers/usb/host/ehci-q.c if (list_empty(&ehci->async_unlink) && qh_to_unlink) { ehci 1443 drivers/usb/host/ehci-q.c start_unlink_async(ehci, qh_to_unlink); ehci 1449 drivers/usb/host/ehci-q.c ehci_enable_event(ehci, EHCI_HRTIMER_ASYNC_UNLINKS, true); ehci 1450 drivers/usb/host/ehci-q.c ++ehci->async_unlink_cycle; ehci 1457 drivers/usb/host/ehci-q.c static void unlink_empty_async_suspended(struct ehci_hcd *ehci) ehci 1461 drivers/usb/host/ehci-q.c while (ehci->async->qh_next.qh) { ehci 1462 drivers/usb/host/ehci-q.c qh = ehci->async->qh_next.qh; ehci 1464 drivers/usb/host/ehci-q.c single_unlink_async(ehci, qh); ehci 1473 drivers/usb/host/ehci-q.c static void start_unlink_async(struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 1479 drivers/usb/host/ehci-q.c single_unlink_async(ehci, qh); ehci 1480 drivers/usb/host/ehci-q.c start_iaa_cycle(ehci); ehci 1485 drivers/usb/host/ehci-q.c static void scan_async (struct ehci_hcd *ehci) ehci 1490 drivers/usb/host/ehci-q.c ehci->qh_scan_next = ehci->async->qh_next.qh; ehci 1491 drivers/usb/host/ehci-q.c while (ehci->qh_scan_next) { ehci 1492 drivers/usb/host/ehci-q.c qh = ehci->qh_scan_next; ehci 1493 drivers/usb/host/ehci-q.c ehci->qh_scan_next = qh->qh_next.qh; ehci 1506 drivers/usb/host/ehci-q.c temp = qh_completions(ehci, qh); ehci 1508 drivers/usb/host/ehci-q.c start_unlink_async(ehci, qh); ehci 1511 drivers/usb/host/ehci-q.c qh->unlink_cycle = ehci->async_unlink_cycle; ehci 1523 drivers/usb/host/ehci-q.c if (check_unlinks_later && ehci->rh_state == EHCI_RH_RUNNING && ehci 1524 drivers/usb/host/ehci-q.c !(ehci->enabled_hrtimer_events & ehci 1526 drivers/usb/host/ehci-q.c ehci_enable_event(ehci, EHCI_HRTIMER_ASYNC_UNLINKS, true); ehci 1527 drivers/usb/host/ehci-q.c ++ehci->async_unlink_cycle; ehci 32 drivers/usb/host/ehci-sched.c periodic_next_shadow(struct ehci_hcd *ehci, union ehci_shadow *periodic, ehci 35 drivers/usb/host/ehci-sched.c switch (hc32_to_cpu(ehci, tag)) { ehci 49 drivers/usb/host/ehci-sched.c shadow_next_periodic(struct ehci_hcd *ehci, union ehci_shadow *periodic, ehci 52 drivers/usb/host/ehci-sched.c switch (hc32_to_cpu(ehci, tag)) { ehci 63 drivers/usb/host/ehci-sched.c static void periodic_unlink(struct ehci_hcd *ehci, unsigned frame, void *ptr) ehci 65 drivers/usb/host/ehci-sched.c union ehci_shadow *prev_p = &ehci->pshadow[frame]; ehci 66 drivers/usb/host/ehci-sched.c __hc32 *hw_p = &ehci->periodic[frame]; ehci 71 drivers/usb/host/ehci-sched.c prev_p = periodic_next_shadow(ehci, prev_p, ehci 72 drivers/usb/host/ehci-sched.c Q_NEXT_TYPE(ehci, *hw_p)); ehci 73 drivers/usb/host/ehci-sched.c hw_p = shadow_next_periodic(ehci, &here, ehci 74 drivers/usb/host/ehci-sched.c Q_NEXT_TYPE(ehci, *hw_p)); ehci 84 drivers/usb/host/ehci-sched.c *prev_p = *periodic_next_shadow(ehci, &here, ehci 85 drivers/usb/host/ehci-sched.c Q_NEXT_TYPE(ehci, *hw_p)); ehci 87 drivers/usb/host/ehci-sched.c if (!ehci->use_dummy_qh || ehci 88 drivers/usb/host/ehci-sched.c *shadow_next_periodic(ehci, &here, Q_NEXT_TYPE(ehci, *hw_p)) ehci 89 drivers/usb/host/ehci-sched.c != EHCI_LIST_END(ehci)) ehci 90 drivers/usb/host/ehci-sched.c *hw_p = *shadow_next_periodic(ehci, &here, ehci 91 drivers/usb/host/ehci-sched.c Q_NEXT_TYPE(ehci, *hw_p)); ehci 93 drivers/usb/host/ehci-sched.c *hw_p = cpu_to_hc32(ehci, ehci->dummy->qh_dma); ehci 137 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci = ehci 148 drivers/usb/host/ehci-sched.c list_add_tail(&tt->tt_list, &ehci->tt_list); ehci 194 drivers/usb/host/ehci-sched.c static void bandwidth_dbg(struct ehci_hcd *ehci, int sign, char *type, ehci 206 drivers/usb/host/ehci-sched.c static void reserve_release_intr_bandwidth(struct ehci_hcd *ehci, ehci 220 drivers/usb/host/ehci-sched.c bandwidth_dbg(ehci, sign, "intr", &qh->ps); ehci 231 drivers/usb/host/ehci-sched.c ehci->bandwidth[i] += usecs; ehci 240 drivers/usb/host/ehci-sched.c ehci->bandwidth[i+j] += c_usecs; ehci 318 drivers/usb/host/ehci-sched.c static inline unsigned char tt_start_uframe(struct ehci_hcd *ehci, __hc32 mask) ehci 320 drivers/usb/host/ehci-sched.c unsigned char smask = hc32_to_cpu(ehci, mask) & QH_SMASK; ehci 323 drivers/usb/host/ehci-sched.c ehci_err(ehci, "invalid empty smask!\n"); ehci 368 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 391 drivers/usb/host/ehci-sched.c tt_usecs[i] = ehci->tt_budget[uf]; ehci 428 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 442 drivers/usb/host/ehci-sched.c for (; frame < ehci->periodic_size; frame += period) { ehci 447 drivers/usb/host/ehci-sched.c here = ehci->pshadow[frame]; ehci 448 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, ehci->periodic[frame]); ehci 450 drivers/usb/host/ehci-sched.c switch (hc32_to_cpu(ehci, type)) { ehci 452 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, here.itd->hw_next); ehci 460 drivers/usb/host/ehci-sched.c mask = hc32_to_cpu(ehci, ehci 467 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, hw->hw_next); ehci 474 drivers/usb/host/ehci-sched.c mask = hc32_to_cpu(ehci, here.sitd ehci 481 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, here.sitd->hw_next); ehci 486 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, ehci 504 drivers/usb/host/ehci-sched.c static void enable_periodic(struct ehci_hcd *ehci) ehci 506 drivers/usb/host/ehci-sched.c if (ehci->periodic_count++) ehci 510 drivers/usb/host/ehci-sched.c ehci->enabled_hrtimer_events &= ~BIT(EHCI_HRTIMER_DISABLE_PERIODIC); ehci 513 drivers/usb/host/ehci-sched.c ehci_poll_PSS(ehci); ehci 514 drivers/usb/host/ehci-sched.c turn_on_io_watchdog(ehci); ehci 517 drivers/usb/host/ehci-sched.c static void disable_periodic(struct ehci_hcd *ehci) ehci 519 drivers/usb/host/ehci-sched.c if (--ehci->periodic_count) ehci 523 drivers/usb/host/ehci-sched.c ehci_poll_PSS(ehci); ehci 534 drivers/usb/host/ehci-sched.c static void qh_link_periodic(struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 541 drivers/usb/host/ehci-sched.c period, hc32_to_cpup(ehci, &qh->hw->hw_info2) ehci 549 drivers/usb/host/ehci-sched.c for (i = qh->ps.phase; i < ehci->periodic_size; i += period) { ehci 550 drivers/usb/host/ehci-sched.c union ehci_shadow *prev = &ehci->pshadow[i]; ehci 551 drivers/usb/host/ehci-sched.c __hc32 *hw_p = &ehci->periodic[i]; ehci 557 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, *hw_p); ehci 558 drivers/usb/host/ehci-sched.c if (type == cpu_to_hc32(ehci, Q_TYPE_QH)) ehci 560 drivers/usb/host/ehci-sched.c prev = periodic_next_shadow(ehci, prev, type); ehci 561 drivers/usb/host/ehci-sched.c hw_p = shadow_next_periodic(ehci, &here, type); ehci 582 drivers/usb/host/ehci-sched.c *hw_p = QH_NEXT(ehci, qh->qh_dma); ehci 590 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_allocated += qh->ps.bw_period ehci 594 drivers/usb/host/ehci-sched.c list_add(&qh->intr_node, &ehci->intr_qh_list); ehci 597 drivers/usb/host/ehci-sched.c ++ehci->intr_count; ehci 598 drivers/usb/host/ehci-sched.c enable_periodic(ehci); ehci 601 drivers/usb/host/ehci-sched.c static void qh_unlink_periodic(struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 624 drivers/usb/host/ehci-sched.c for (i = qh->ps.phase; i < ehci->periodic_size; i += period) ehci 625 drivers/usb/host/ehci-sched.c periodic_unlink(ehci, i, qh); ehci 628 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_allocated -= qh->ps.bw_period ehci 635 drivers/usb/host/ehci-sched.c hc32_to_cpup(ehci, &qh->hw->hw_info2) & (QH_CMASK | QH_SMASK), ehci 642 drivers/usb/host/ehci-sched.c if (ehci->qh_scan_next == qh) ehci 643 drivers/usb/host/ehci-sched.c ehci->qh_scan_next = list_entry(qh->intr_node.next, ehci 648 drivers/usb/host/ehci-sched.c static void cancel_unlink_wait_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 662 drivers/usb/host/ehci-sched.c static void start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 669 drivers/usb/host/ehci-sched.c cancel_unlink_wait_intr(ehci, qh); ehci 671 drivers/usb/host/ehci-sched.c qh_unlink_periodic(ehci, qh); ehci 681 drivers/usb/host/ehci-sched.c qh->unlink_cycle = ehci->intr_unlink_cycle; ehci 684 drivers/usb/host/ehci-sched.c list_add_tail(&qh->unlink_node, &ehci->intr_unlink); ehci 686 drivers/usb/host/ehci-sched.c if (ehci->intr_unlinking) ehci 688 drivers/usb/host/ehci-sched.c else if (ehci->rh_state < EHCI_RH_RUNNING) ehci 689 drivers/usb/host/ehci-sched.c ehci_handle_intr_unlinks(ehci); ehci 690 drivers/usb/host/ehci-sched.c else if (ehci->intr_unlink.next == &qh->unlink_node) { ehci 691 drivers/usb/host/ehci-sched.c ehci_enable_event(ehci, EHCI_HRTIMER_UNLINK_INTR, true); ehci 692 drivers/usb/host/ehci-sched.c ++ehci->intr_unlink_cycle; ehci 701 drivers/usb/host/ehci-sched.c static void start_unlink_intr_wait(struct ehci_hcd *ehci, ehci 704 drivers/usb/host/ehci-sched.c qh->unlink_cycle = ehci->intr_unlink_wait_cycle; ehci 707 drivers/usb/host/ehci-sched.c list_add_tail(&qh->unlink_node, &ehci->intr_unlink_wait); ehci 709 drivers/usb/host/ehci-sched.c if (ehci->rh_state < EHCI_RH_RUNNING) ehci 710 drivers/usb/host/ehci-sched.c ehci_handle_start_intr_unlinks(ehci); ehci 711 drivers/usb/host/ehci-sched.c else if (ehci->intr_unlink_wait.next == &qh->unlink_node) { ehci 712 drivers/usb/host/ehci-sched.c ehci_enable_event(ehci, EHCI_HRTIMER_START_UNLINK_INTR, true); ehci 713 drivers/usb/host/ehci-sched.c ++ehci->intr_unlink_wait_cycle; ehci 717 drivers/usb/host/ehci-sched.c static void end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 723 drivers/usb/host/ehci-sched.c hw->hw_next = EHCI_LIST_END(ehci); ehci 726 drivers/usb/host/ehci-sched.c qh_completions(ehci, qh); ehci 729 drivers/usb/host/ehci-sched.c if (!list_empty(&qh->qtd_list) && ehci->rh_state == EHCI_RH_RUNNING) { ehci 730 drivers/usb/host/ehci-sched.c rc = qh_schedule(ehci, qh); ehci 732 drivers/usb/host/ehci-sched.c qh_refresh(ehci, qh); ehci 733 drivers/usb/host/ehci-sched.c qh_link_periodic(ehci, qh); ehci 743 drivers/usb/host/ehci-sched.c ehci_err(ehci, "can't reschedule qh %p, err %d\n", ehci 749 drivers/usb/host/ehci-sched.c --ehci->intr_count; ehci 750 drivers/usb/host/ehci-sched.c disable_periodic(ehci); ehci 756 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 769 drivers/usb/host/ehci-sched.c usecs = ehci->uframe_periodic_max - usecs; ehci 773 drivers/usb/host/ehci-sched.c if (ehci->bandwidth[uframe] > usecs) ehci 782 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 796 drivers/usb/host/ehci-sched.c if (!check_period(ehci, frame, uframe, qh->ps.bw_uperiod, qh->ps.usecs)) ehci 805 drivers/usb/host/ehci-sched.c if (tt_available(ehci, &qh->ps, tt, frame, uframe)) { ehci 810 drivers/usb/host/ehci-sched.c if (!check_period(ehci, frame, i, ehci 832 drivers/usb/host/ehci-sched.c if (tt_no_collision(ehci, qh->ps.bw_period, qh->ps.udev, frame, mask)) { ehci 833 drivers/usb/host/ehci-sched.c if (!check_period(ehci, frame, uframe + qh->gap_uf + 1, ehci 836 drivers/usb/host/ehci-sched.c if (!check_period(ehci, frame, uframe + qh->gap_uf, ehci 849 drivers/usb/host/ehci-sched.c static int qh_schedule(struct ehci_hcd *ehci, struct ehci_qh *qh) ehci 857 drivers/usb/host/ehci-sched.c hw->hw_next = EHCI_LIST_END(ehci); ehci 861 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "reused qh %p schedule\n", qh); ehci 872 drivers/usb/host/ehci-sched.c compute_tt_budget(ehci->tt_budget, tt); ehci 883 drivers/usb/host/ehci-sched.c frame = ++ehci->random_frame & (qh->ps.bw_period - 1); ehci 885 drivers/usb/host/ehci-sched.c status = check_intr_schedule(ehci, ehci 894 drivers/usb/host/ehci-sched.c status = check_intr_schedule(ehci, 0, 0, qh, &c_mask, tt); ehci 900 drivers/usb/host/ehci-sched.c qh->ps.phase = (qh->ps.period ? ehci->random_frame & ehci 909 drivers/usb/host/ehci-sched.c hw->hw_info2 &= cpu_to_hc32(ehci, ~(QH_CMASK | QH_SMASK)); ehci 910 drivers/usb/host/ehci-sched.c hw->hw_info2 |= cpu_to_hc32(ehci, qh->ps.cs_mask); ehci 911 drivers/usb/host/ehci-sched.c reserve_release_intr_bandwidth(ehci, qh, 1); ehci 918 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 932 drivers/usb/host/ehci-sched.c spin_lock_irqsave(&ehci->lock, flags); ehci 934 drivers/usb/host/ehci-sched.c if (unlikely(!HCD_HW_ACCESSIBLE(ehci_to_hcd(ehci)))) { ehci 938 drivers/usb/host/ehci-sched.c status = usb_hcd_link_urb_to_ep(ehci_to_hcd(ehci), urb); ehci 944 drivers/usb/host/ehci-sched.c qh = qh_append_tds(ehci, urb, &empty, epnum, &urb->ep->hcpriv); ehci 950 drivers/usb/host/ehci-sched.c status = qh_schedule(ehci, qh); ehci 956 drivers/usb/host/ehci-sched.c qh = qh_append_tds(ehci, urb, qtd_list, epnum, &urb->ep->hcpriv); ehci 961 drivers/usb/host/ehci-sched.c qh_refresh(ehci, qh); ehci 962 drivers/usb/host/ehci-sched.c qh_link_periodic(ehci, qh); ehci 965 drivers/usb/host/ehci-sched.c cancel_unlink_wait_intr(ehci, qh); ehci 969 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_int_reqs++; ehci 973 drivers/usb/host/ehci-sched.c usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); ehci 975 drivers/usb/host/ehci-sched.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 977 drivers/usb/host/ehci-sched.c qtd_list_free(ehci, urb, qtd_list); ehci 982 drivers/usb/host/ehci-sched.c static void scan_intr(struct ehci_hcd *ehci) ehci 986 drivers/usb/host/ehci-sched.c list_for_each_entry_safe(qh, ehci->qh_scan_next, &ehci->intr_qh_list, ehci 1000 drivers/usb/host/ehci-sched.c temp = qh_completions(ehci, qh); ehci 1002 drivers/usb/host/ehci-sched.c start_unlink_intr(ehci, qh); ehci 1005 drivers/usb/host/ehci-sched.c start_unlink_intr_wait(ehci, qh); ehci 1031 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 1062 drivers/usb/host/ehci-sched.c stream->buf0 = cpu_to_hc32(ehci, (epnum << 8) | dev->devnum); ehci 1063 drivers/usb/host/ehci-sched.c stream->buf1 = cpu_to_hc32(ehci, buf1); ehci 1064 drivers/usb/host/ehci-sched.c stream->buf2 = cpu_to_hc32(ehci, multi); ehci 1089 drivers/usb/host/ehci-sched.c if (!ehci_is_TDI(ehci) ehci 1091 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.root_hub)) ehci 1128 drivers/usb/host/ehci-sched.c stream->address = cpu_to_hc32(ehci, addr); ehci 1139 drivers/usb/host/ehci-sched.c iso_stream_find(struct ehci_hcd *ehci, struct urb *urb) ehci 1152 drivers/usb/host/ehci-sched.c spin_lock_irqsave(&ehci->lock, flags); ehci 1159 drivers/usb/host/ehci-sched.c iso_stream_init(ehci, stream, urb); ehci 1164 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "dev %s ep%d%s, not iso??\n", ehci 1170 drivers/usb/host/ehci-sched.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1194 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 1224 drivers/usb/host/ehci-sched.c uframe->transaction = cpu_to_hc32(ehci, trans); ehci 1250 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 1266 drivers/usb/host/ehci-sched.c itd_sched_init(ehci, sched, stream, urb); ehci 1274 drivers/usb/host/ehci-sched.c spin_lock_irqsave(&ehci->lock, flags); ehci 1284 drivers/usb/host/ehci-sched.c if (itd->frame == ehci->now_frame) ehci 1290 drivers/usb/host/ehci-sched.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1291 drivers/usb/host/ehci-sched.c itd = dma_pool_alloc(ehci->itd_pool, mem_flags, ehci 1293 drivers/usb/host/ehci-sched.c spin_lock_irqsave(&ehci->lock, flags); ehci 1296 drivers/usb/host/ehci-sched.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1306 drivers/usb/host/ehci-sched.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1316 drivers/usb/host/ehci-sched.c static void reserve_release_iso_bandwidth(struct ehci_hcd *ehci, ehci 1331 drivers/usb/host/ehci-sched.c bandwidth_dbg(ehci, sign, "iso", &stream->ps); ehci 1342 drivers/usb/host/ehci-sched.c ehci->bandwidth[i] += usecs; ehci 1354 drivers/usb/host/ehci-sched.c ehci->bandwidth[i+j] += usecs; ehci 1356 drivers/usb/host/ehci-sched.c ehci->bandwidth[i+j] += c_usecs; ehci 1374 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 1382 drivers/usb/host/ehci-sched.c usecs = ehci->uframe_periodic_max - stream->ps.usecs; ehci 1386 drivers/usb/host/ehci-sched.c if (ehci->bandwidth[uframe] > usecs) ehci 1394 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 1423 drivers/usb/host/ehci-sched.c if (!tt_available(ehci, &stream->ps, tt, frame, uf)) ehci 1429 drivers/usb/host/ehci-sched.c if (!tt_no_collision(ehci, stream->ps.bw_period, ehci 1440 drivers/usb/host/ehci-sched.c max_used = ehci->uframe_periodic_max - stream->ps.usecs; ehci 1442 drivers/usb/host/ehci-sched.c if (ehci->bandwidth[uf] > max_used) ehci 1448 drivers/usb/host/ehci-sched.c max_used = ehci->uframe_periodic_max - ehci 1455 drivers/usb/host/ehci-sched.c if (ehci->bandwidth[uf+i] > max_used) ehci 1464 drivers/usb/host/ehci-sched.c stream->splits = cpu_to_hc32(ehci, stream->ps.cs_mask); ehci 1481 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 1489 drivers/usb/host/ehci-sched.c unsigned mod = ehci->periodic_size << 3; ehci 1501 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci), urb->ep))) { ehci 1512 drivers/usb/host/ehci-sched.c compute_tt_budget(ehci->tt_budget, tt); ehci 1514 drivers/usb/host/ehci-sched.c start = ((-(++ehci->random_frame)) << 3) & (period - 1); ehci 1527 drivers/usb/host/ehci-sched.c if (itd_slot_ok(ehci, stream, start)) ehci 1532 drivers/usb/host/ehci-sched.c if (sitd_slot_ok(ehci, stream, start, ehci 1540 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "iso sched full %p", urb); ehci 1549 drivers/usb/host/ehci-sched.c reserve_release_iso_bandwidth(ehci, stream, 1); ehci 1561 drivers/usb/host/ehci-sched.c now = ehci_read_frame_index(ehci) & (mod - 1); ehci 1564 drivers/usb/host/ehci-sched.c if (ehci->i_thresh) ehci 1565 drivers/usb/host/ehci-sched.c next = now + ehci->i_thresh; /* uframe cache */ ehci 1570 drivers/usb/host/ehci-sched.c if (ehci->isoc_count == 0) ehci 1571 drivers/usb/host/ehci-sched.c ehci->last_iso_frame = now >> 3; ehci 1577 drivers/usb/host/ehci-sched.c base = ehci->last_iso_frame << 3; ehci 1594 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "request %p would overflow (%u-%u < %u mod %u)\n", ehci 1623 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "iso underrun %p (%u+%u < %u) [%u]\n", ehci 1650 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "request %p would overflow (%u+%u >= %u)\n", ehci 1674 drivers/usb/host/ehci-sched.c itd_init(struct ehci_hcd *ehci, struct ehci_iso_stream *stream, ehci 1680 drivers/usb/host/ehci-sched.c itd->hw_next = EHCI_LIST_END(ehci); ehci 1693 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 1709 drivers/usb/host/ehci-sched.c itd->hw_transaction[uframe] |= cpu_to_hc32(ehci, pg << 12); ehci 1710 drivers/usb/host/ehci-sched.c itd->hw_bufp[pg] |= cpu_to_hc32(ehci, uf->bufp & ~(u32)0); ehci 1711 drivers/usb/host/ehci-sched.c itd->hw_bufp_hi[pg] |= cpu_to_hc32(ehci, (u32)(uf->bufp >> 32)); ehci 1718 drivers/usb/host/ehci-sched.c itd->hw_bufp[pg] |= cpu_to_hc32(ehci, bufp & ~(u32)0); ehci 1719 drivers/usb/host/ehci-sched.c itd->hw_bufp_hi[pg] |= cpu_to_hc32(ehci, (u32)(bufp >> 32)); ehci 1724 drivers/usb/host/ehci-sched.c itd_link(struct ehci_hcd *ehci, unsigned frame, struct ehci_itd *itd) ehci 1726 drivers/usb/host/ehci-sched.c union ehci_shadow *prev = &ehci->pshadow[frame]; ehci 1727 drivers/usb/host/ehci-sched.c __hc32 *hw_p = &ehci->periodic[frame]; ehci 1733 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, *hw_p); ehci 1734 drivers/usb/host/ehci-sched.c if (type == cpu_to_hc32(ehci, Q_TYPE_QH)) ehci 1736 drivers/usb/host/ehci-sched.c prev = periodic_next_shadow(ehci, prev, type); ehci 1737 drivers/usb/host/ehci-sched.c hw_p = shadow_next_periodic(ehci, &here, type); ehci 1746 drivers/usb/host/ehci-sched.c *hw_p = cpu_to_hc32(ehci, itd->itd_dma | Q_TYPE_ITD); ehci 1751 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 1765 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_allocated ehci 1768 drivers/usb/host/ehci-sched.c if (ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs == 0) { ehci 1769 drivers/usb/host/ehci-sched.c if (ehci->amd_pll_fix == 1) ehci 1773 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs++; ehci 1789 drivers/usb/host/ehci-sched.c itd_init(ehci, stream, itd); ehci 1795 drivers/usb/host/ehci-sched.c itd_patch(ehci, itd, iso_sched, packet, uframe); ehci 1804 drivers/usb/host/ehci-sched.c itd_link(ehci, frame & (ehci->periodic_size - 1), itd); ehci 1814 drivers/usb/host/ehci-sched.c ++ehci->isoc_count; ehci 1815 drivers/usb/host/ehci-sched.c enable_periodic(ehci); ehci 1830 drivers/usb/host/ehci-sched.c static bool itd_complete(struct ehci_hcd *ehci, struct ehci_itd *itd) ehci 1847 drivers/usb/host/ehci-sched.c t = hc32_to_cpup(ehci, &itd->hw_transaction[uframe]); ehci 1888 drivers/usb/host/ehci-sched.c ehci_urb_done(ehci, urb, 0); ehci 1892 drivers/usb/host/ehci-sched.c --ehci->isoc_count; ehci 1893 drivers/usb/host/ehci-sched.c disable_periodic(ehci); ehci 1895 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs--; ehci 1896 drivers/usb/host/ehci-sched.c if (ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs == 0) { ehci 1897 drivers/usb/host/ehci-sched.c if (ehci->amd_pll_fix == 1) ehci 1902 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_allocated ehci 1914 drivers/usb/host/ehci-sched.c &ehci->cached_itd_list); ehci 1915 drivers/usb/host/ehci-sched.c start_free_itds(ehci); ehci 1923 drivers/usb/host/ehci-sched.c static int itd_submit(struct ehci_hcd *ehci, struct urb *urb, ehci 1931 drivers/usb/host/ehci-sched.c stream = iso_stream_find(ehci, urb); ehci 1933 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "can't get iso stream\n"); ehci 1937 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "can't change iso interval %d --> %d\n", ehci 1943 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, ehci 1954 drivers/usb/host/ehci-sched.c status = itd_urb_transaction(stream, ehci, urb, mem_flags); ehci 1956 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "can't init itds\n"); ehci 1961 drivers/usb/host/ehci-sched.c spin_lock_irqsave(&ehci->lock, flags); ehci 1962 drivers/usb/host/ehci-sched.c if (unlikely(!HCD_HW_ACCESSIBLE(ehci_to_hcd(ehci)))) { ehci 1966 drivers/usb/host/ehci-sched.c status = usb_hcd_link_urb_to_ep(ehci_to_hcd(ehci), urb); ehci 1969 drivers/usb/host/ehci-sched.c status = iso_stream_schedule(ehci, urb, stream); ehci 1971 drivers/usb/host/ehci-sched.c itd_link_urb(ehci, urb, ehci->periodic_size << 3, stream); ehci 1974 drivers/usb/host/ehci-sched.c ehci_urb_done(ehci, urb, 0); ehci 1976 drivers/usb/host/ehci-sched.c usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); ehci 1979 drivers/usb/host/ehci-sched.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 1993 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 2022 drivers/usb/host/ehci-sched.c packet->transaction = cpu_to_hc32(ehci, trans); ehci 2043 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 2058 drivers/usb/host/ehci-sched.c sitd_sched_init(ehci, iso_sched, stream, urb); ehci 2061 drivers/usb/host/ehci-sched.c spin_lock_irqsave(&ehci->lock, flags); ehci 2076 drivers/usb/host/ehci-sched.c if (sitd->frame == ehci->now_frame) ehci 2082 drivers/usb/host/ehci-sched.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 2083 drivers/usb/host/ehci-sched.c sitd = dma_pool_alloc(ehci->sitd_pool, mem_flags, ehci 2085 drivers/usb/host/ehci-sched.c spin_lock_irqsave(&ehci->lock, flags); ehci 2088 drivers/usb/host/ehci-sched.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 2103 drivers/usb/host/ehci-sched.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 2111 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 2121 drivers/usb/host/ehci-sched.c sitd->hw_next = EHCI_LIST_END(ehci); ehci 2125 drivers/usb/host/ehci-sched.c sitd->hw_backpointer = EHCI_LIST_END(ehci); ehci 2128 drivers/usb/host/ehci-sched.c sitd->hw_buf[0] = cpu_to_hc32(ehci, bufp); ehci 2129 drivers/usb/host/ehci-sched.c sitd->hw_buf_hi[0] = cpu_to_hc32(ehci, bufp >> 32); ehci 2131 drivers/usb/host/ehci-sched.c sitd->hw_buf[1] = cpu_to_hc32(ehci, uf->buf1); ehci 2134 drivers/usb/host/ehci-sched.c sitd->hw_buf_hi[1] = cpu_to_hc32(ehci, bufp >> 32); ehci 2139 drivers/usb/host/ehci-sched.c sitd_link(struct ehci_hcd *ehci, unsigned frame, struct ehci_sitd *sitd) ehci 2142 drivers/usb/host/ehci-sched.c sitd->sitd_next = ehci->pshadow[frame]; ehci 2143 drivers/usb/host/ehci-sched.c sitd->hw_next = ehci->periodic[frame]; ehci 2144 drivers/usb/host/ehci-sched.c ehci->pshadow[frame].sitd = sitd; ehci 2147 drivers/usb/host/ehci-sched.c ehci->periodic[frame] = cpu_to_hc32(ehci, sitd->sitd_dma | Q_TYPE_SITD); ehci 2152 drivers/usb/host/ehci-sched.c struct ehci_hcd *ehci, ehci 2167 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_allocated ehci 2170 drivers/usb/host/ehci-sched.c if (ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs == 0) { ehci 2171 drivers/usb/host/ehci-sched.c if (ehci->amd_pll_fix == 1) ehci 2175 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs++; ehci 2193 drivers/usb/host/ehci-sched.c sitd_patch(ehci, stream, sitd, sched, packet); ehci 2194 drivers/usb/host/ehci-sched.c sitd_link(ehci, (next_uframe >> 3) & (ehci->periodic_size - 1), ehci 2205 drivers/usb/host/ehci-sched.c ++ehci->isoc_count; ehci 2206 drivers/usb/host/ehci-sched.c enable_periodic(ehci); ehci 2224 drivers/usb/host/ehci-sched.c static bool sitd_complete(struct ehci_hcd *ehci, struct ehci_sitd *sitd) ehci 2235 drivers/usb/host/ehci-sched.c t = hc32_to_cpup(ehci, &sitd->hw_results); ehci 2268 drivers/usb/host/ehci-sched.c ehci_urb_done(ehci, urb, 0); ehci 2272 drivers/usb/host/ehci-sched.c --ehci->isoc_count; ehci 2273 drivers/usb/host/ehci-sched.c disable_periodic(ehci); ehci 2275 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs--; ehci 2276 drivers/usb/host/ehci-sched.c if (ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs == 0) { ehci 2277 drivers/usb/host/ehci-sched.c if (ehci->amd_pll_fix == 1) ehci 2282 drivers/usb/host/ehci-sched.c ehci_to_hcd(ehci)->self.bandwidth_allocated ehci 2294 drivers/usb/host/ehci-sched.c &ehci->cached_sitd_list); ehci 2295 drivers/usb/host/ehci-sched.c start_free_itds(ehci); ehci 2302 drivers/usb/host/ehci-sched.c static int sitd_submit(struct ehci_hcd *ehci, struct urb *urb, ehci 2310 drivers/usb/host/ehci-sched.c stream = iso_stream_find(ehci, urb); ehci 2312 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "can't get iso stream\n"); ehci 2316 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "can't change iso interval %d --> %d\n", ehci 2322 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, ehci 2331 drivers/usb/host/ehci-sched.c status = sitd_urb_transaction(stream, ehci, urb, mem_flags); ehci 2333 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "can't init sitds\n"); ehci 2338 drivers/usb/host/ehci-sched.c spin_lock_irqsave(&ehci->lock, flags); ehci 2339 drivers/usb/host/ehci-sched.c if (unlikely(!HCD_HW_ACCESSIBLE(ehci_to_hcd(ehci)))) { ehci 2343 drivers/usb/host/ehci-sched.c status = usb_hcd_link_urb_to_ep(ehci_to_hcd(ehci), urb); ehci 2346 drivers/usb/host/ehci-sched.c status = iso_stream_schedule(ehci, urb, stream); ehci 2348 drivers/usb/host/ehci-sched.c sitd_link_urb(ehci, urb, ehci->periodic_size << 3, stream); ehci 2351 drivers/usb/host/ehci-sched.c ehci_urb_done(ehci, urb, 0); ehci 2353 drivers/usb/host/ehci-sched.c usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); ehci 2356 drivers/usb/host/ehci-sched.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 2363 drivers/usb/host/ehci-sched.c static void scan_isoc(struct ehci_hcd *ehci) ehci 2366 drivers/usb/host/ehci-sched.c unsigned fmask = ehci->periodic_size - 1; ehci 2376 drivers/usb/host/ehci-sched.c if (ehci->rh_state >= EHCI_RH_RUNNING) { ehci 2377 drivers/usb/host/ehci-sched.c uf = ehci_read_frame_index(ehci); ehci 2381 drivers/usb/host/ehci-sched.c now_frame = (ehci->last_iso_frame - 1) & fmask; ehci 2384 drivers/usb/host/ehci-sched.c ehci->now_frame = now_frame; ehci 2386 drivers/usb/host/ehci-sched.c frame = ehci->last_iso_frame; ehci 2390 drivers/usb/host/ehci-sched.c q_p = &ehci->pshadow[frame]; ehci 2391 drivers/usb/host/ehci-sched.c hw_p = &ehci->periodic[frame]; ehci 2393 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, *hw_p); ehci 2397 drivers/usb/host/ehci-sched.c switch (hc32_to_cpu(ehci, type)) { ehci 2409 drivers/usb/host/ehci-sched.c ITD_ACTIVE(ehci)) ehci 2415 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, ehci 2429 drivers/usb/host/ehci-sched.c if (!ehci->use_dummy_qh || ehci 2430 drivers/usb/host/ehci-sched.c q.itd->hw_next != EHCI_LIST_END(ehci)) ehci 2433 drivers/usb/host/ehci-sched.c *hw_p = cpu_to_hc32(ehci, ehci->dummy->qh_dma); ehci 2434 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, q.itd->hw_next); ehci 2436 drivers/usb/host/ehci-sched.c modified = itd_complete(ehci, q.itd); ehci 2449 drivers/usb/host/ehci-sched.c && (q.sitd->hw_results & SITD_ACTIVE(ehci))) { ehci 2453 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, q.sitd->hw_next); ehci 2464 drivers/usb/host/ehci-sched.c if (!ehci->use_dummy_qh || ehci 2465 drivers/usb/host/ehci-sched.c q.sitd->hw_next != EHCI_LIST_END(ehci)) ehci 2468 drivers/usb/host/ehci-sched.c *hw_p = cpu_to_hc32(ehci, ehci->dummy->qh_dma); ehci 2469 drivers/usb/host/ehci-sched.c type = Q_NEXT_TYPE(ehci, q.sitd->hw_next); ehci 2471 drivers/usb/host/ehci-sched.c modified = sitd_complete(ehci, q.sitd); ehci 2475 drivers/usb/host/ehci-sched.c ehci_dbg(ehci, "corrupt type %d frame %d shadow %p\n", ehci 2487 drivers/usb/host/ehci-sched.c if (unlikely(modified && ehci->isoc_count > 0)) ehci 2496 drivers/usb/host/ehci-sched.c ehci->last_iso_frame = frame; ehci 20 drivers/usb/host/ehci-sh.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 22 drivers/usb/host/ehci-sh.c ehci->caps = hcd->regs; ehci 54 drivers/usb/host/ehci-st.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 61 drivers/usb/host/ehci-st.c ehci->caps = hcd->regs + pdata->caps_offset; ehci 14 drivers/usb/host/ehci-sysfs.c struct ehci_hcd *ehci; ehci 19 drivers/usb/host/ehci-sysfs.c ehci = hcd_to_ehci(dev_get_drvdata(dev)); ehci 20 drivers/usb/host/ehci-sysfs.c nports = HCS_N_PORTS(ehci->hcs_params); ehci 23 drivers/usb/host/ehci-sysfs.c if (test_bit(index, &ehci->companion_ports)) { ehci 41 drivers/usb/host/ehci-sysfs.c struct ehci_hcd *ehci; ehci 44 drivers/usb/host/ehci-sysfs.c ehci = hcd_to_ehci(dev_get_drvdata(dev)); ehci 52 drivers/usb/host/ehci-sysfs.c if (portnum <= 0 || portnum > HCS_N_PORTS(ehci->hcs_params)) ehci 56 drivers/usb/host/ehci-sysfs.c set_bit(portnum, &ehci->companion_ports); ehci 58 drivers/usb/host/ehci-sysfs.c clear_bit(portnum, &ehci->companion_ports); ehci 59 drivers/usb/host/ehci-sysfs.c set_owner(ehci, portnum, new_owner); ehci 72 drivers/usb/host/ehci-sysfs.c struct ehci_hcd *ehci; ehci 75 drivers/usb/host/ehci-sysfs.c ehci = hcd_to_ehci(dev_get_drvdata(dev)); ehci 76 drivers/usb/host/ehci-sysfs.c n = scnprintf(buf, PAGE_SIZE, "%d\n", ehci->uframe_periodic_max); ehci 85 drivers/usb/host/ehci-sysfs.c struct ehci_hcd *ehci; ehci 91 drivers/usb/host/ehci-sysfs.c ehci = hcd_to_ehci(dev_get_drvdata(dev)); ehci 96 drivers/usb/host/ehci-sysfs.c ehci_info(ehci, "rejecting invalid request for " ehci 107 drivers/usb/host/ehci-sysfs.c spin_lock_irqsave (&ehci->lock, flags); ehci 113 drivers/usb/host/ehci-sysfs.c if (uframe_periodic_max < ehci->uframe_periodic_max) { ehci 118 drivers/usb/host/ehci-sysfs.c ehci->bandwidth[uframe]); ehci 121 drivers/usb/host/ehci-sysfs.c ehci_info(ehci, ehci 132 drivers/usb/host/ehci-sysfs.c ehci_info(ehci, "setting max periodic bandwidth to %u%% " ehci 137 drivers/usb/host/ehci-sysfs.c ehci_warn(ehci, "max periodic bandwidth set is non-standard\n"); ehci 139 drivers/usb/host/ehci-sysfs.c ehci->uframe_periodic_max = uframe_periodic_max; ehci 143 drivers/usb/host/ehci-sysfs.c spin_unlock_irqrestore (&ehci->lock, flags); ehci 149 drivers/usb/host/ehci-sysfs.c static inline int create_sysfs_files(struct ehci_hcd *ehci) ehci 151 drivers/usb/host/ehci-sysfs.c struct device *controller = ehci_to_hcd(ehci)->self.controller; ehci 155 drivers/usb/host/ehci-sysfs.c if (!ehci_is_TDI(ehci)) ehci 165 drivers/usb/host/ehci-sysfs.c static inline void remove_sysfs_files(struct ehci_hcd *ehci) ehci 167 drivers/usb/host/ehci-sysfs.c struct device *controller = ehci_to_hcd(ehci)->self.controller; ehci 170 drivers/usb/host/ehci-sysfs.c if (!ehci_is_TDI(ehci)) ehci 106 drivers/usb/host/ehci-tegra.c struct ehci_hcd *ehci, ehci 116 drivers/usb/host/ehci-tegra.c spin_lock_irqsave(&ehci->lock, flags); ehci 117 drivers/usb/host/ehci-tegra.c saved_usbintr = ehci_readl(ehci, &ehci->regs->intr_enable); ehci 119 drivers/usb/host/ehci-tegra.c ehci_writel(ehci, 0, &ehci->regs->intr_enable); ehci 120 drivers/usb/host/ehci-tegra.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 127 drivers/usb/host/ehci-tegra.c temp = ehci_readl(ehci, portsc_reg); ehci 129 drivers/usb/host/ehci-tegra.c ehci_writel(ehci, temp, portsc_reg); ehci 132 drivers/usb/host/ehci-tegra.c ehci_writel(ehci, temp, portsc_reg); ehci 143 drivers/usb/host/ehci-tegra.c temp = ehci_readl(ehci, portsc_reg); ehci 156 drivers/usb/host/ehci-tegra.c ehci_writel(ehci, PORT_CSC, portsc_reg); ehci 162 drivers/usb/host/ehci-tegra.c temp = ehci_readl(ehci, &ehci->regs->status); ehci 163 drivers/usb/host/ehci-tegra.c ehci_writel(ehci, temp, &ehci->regs->status); ehci 166 drivers/usb/host/ehci-tegra.c ehci_writel(ehci, saved_usbintr, &ehci->regs->intr_enable); ehci 179 drivers/usb/host/ehci-tegra.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 180 drivers/usb/host/ehci-tegra.c struct tegra_ehci_hcd *tegra = (struct tegra_ehci_hcd *)ehci->priv; ehci 186 drivers/usb/host/ehci-tegra.c status_reg = &ehci->regs->port_status[(wIndex & 0xff) - 1]; ehci 188 drivers/usb/host/ehci-tegra.c spin_lock_irqsave(&ehci->lock, flags); ehci 191 drivers/usb/host/ehci-tegra.c temp = ehci_readl(ehci, status_reg); ehci 200 drivers/usb/host/ehci-tegra.c temp = ehci_readl(ehci, status_reg); ehci 208 drivers/usb/host/ehci-tegra.c ehci_writel(ehci, temp | PORT_SUSPEND, status_reg); ehci 214 drivers/usb/host/ehci-tegra.c if (ehci_handshake(ehci, status_reg, PORT_SUSPEND, ehci 218 drivers/usb/host/ehci-tegra.c set_bit((wIndex & 0xff) - 1, &ehci->suspended_ports); ehci 225 drivers/usb/host/ehci-tegra.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 226 drivers/usb/host/ehci-tegra.c return tegra_ehci_internal_port_reset(ehci, status_reg); ehci 238 drivers/usb/host/ehci-tegra.c temp = ehci_readl(ehci, status_reg); ehci 250 drivers/usb/host/ehci-tegra.c ehci->reset_done[wIndex-1] = jiffies + msecs_to_jiffies(25); ehci 254 drivers/usb/host/ehci-tegra.c ehci_writel(ehci, temp | PORT_RESUME, status_reg); ehci 255 drivers/usb/host/ehci-tegra.c set_bit(wIndex-1, &ehci->resuming_ports); ehci 257 drivers/usb/host/ehci-tegra.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 259 drivers/usb/host/ehci-tegra.c spin_lock_irqsave(&ehci->lock, flags); ehci 262 drivers/usb/host/ehci-tegra.c if (ehci_handshake(ehci, status_reg, PORT_RESUME, 0, 2000)) ehci 264 drivers/usb/host/ehci-tegra.c if (ehci_handshake(ehci, status_reg, PORT_SUSPEND, 0, 2000)) ehci 267 drivers/usb/host/ehci-tegra.c ehci->reset_done[wIndex-1] = 0; ehci 268 drivers/usb/host/ehci-tegra.c clear_bit(wIndex-1, &ehci->resuming_ports); ehci 274 drivers/usb/host/ehci-tegra.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 280 drivers/usb/host/ehci-tegra.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 389 drivers/usb/host/ehci-tegra.c struct ehci_hcd *ehci; ehci 417 drivers/usb/host/ehci-tegra.c ehci = hcd_to_ehci(hcd); ehci 418 drivers/usb/host/ehci-tegra.c tegra = (struct tegra_ehci_hcd *)ehci->priv; ehci 466 drivers/usb/host/ehci-tegra.c ehci->caps = hcd->regs + 0x100; ehci 467 drivers/usb/host/ehci-tegra.c ehci->has_hostpc = soc_config->has_hostpc; ehci 559 drivers/usb/host/ehci-tegra.c struct ehci_hcd *ehci = hcd_to_ehci(hcd); ehci 573 drivers/usb/host/ehci-tegra.c txfifothresh = ehci->has_hostpc ? 0x10 : 10; ehci 574 drivers/usb/host/ehci-tegra.c ehci_writel(ehci, txfifothresh << 16, &ehci->regs->txfill_tuning); ehci 11 drivers/usb/host/ehci-timer.c static void ehci_set_command_bit(struct ehci_hcd *ehci, u32 bit) ehci 13 drivers/usb/host/ehci-timer.c ehci->command |= bit; ehci 14 drivers/usb/host/ehci-timer.c ehci_writel(ehci, ehci->command, &ehci->regs->command); ehci 17 drivers/usb/host/ehci-timer.c ehci_readl(ehci, &ehci->regs->command); ehci 21 drivers/usb/host/ehci-timer.c static void ehci_clear_command_bit(struct ehci_hcd *ehci, u32 bit) ehci 23 drivers/usb/host/ehci-timer.c ehci->command &= ~bit; ehci 24 drivers/usb/host/ehci-timer.c ehci_writel(ehci, ehci->command, &ehci->regs->command); ehci 27 drivers/usb/host/ehci-timer.c ehci_readl(ehci, &ehci->regs->command); ehci 76 drivers/usb/host/ehci-timer.c static void ehci_enable_event(struct ehci_hcd *ehci, unsigned event, ehci 79 drivers/usb/host/ehci-timer.c ktime_t *timeout = &ehci->hr_timeouts[event]; ehci 83 drivers/usb/host/ehci-timer.c ehci->enabled_hrtimer_events |= (1 << event); ehci 86 drivers/usb/host/ehci-timer.c if (event < ehci->next_hrtimer_event) { ehci 87 drivers/usb/host/ehci-timer.c ehci->next_hrtimer_event = event; ehci 88 drivers/usb/host/ehci-timer.c hrtimer_start_range_ns(&ehci->hrtimer, *timeout, ehci 95 drivers/usb/host/ehci-timer.c static void ehci_poll_ASS(struct ehci_hcd *ehci) ehci 100 drivers/usb/host/ehci-timer.c if (ehci->rh_state != EHCI_RH_RUNNING) ehci 103 drivers/usb/host/ehci-timer.c want = (ehci->command & CMD_ASE) ? STS_ASS : 0; ehci 104 drivers/usb/host/ehci-timer.c actual = ehci_readl(ehci, &ehci->regs->status) & STS_ASS; ehci 109 drivers/usb/host/ehci-timer.c if (ehci->ASS_poll_count++ < 2) { ehci 110 drivers/usb/host/ehci-timer.c ehci_enable_event(ehci, EHCI_HRTIMER_POLL_ASS, true); ehci 113 drivers/usb/host/ehci-timer.c ehci_dbg(ehci, "Waited too long for the async schedule status (%x/%x), giving up\n", ehci 116 drivers/usb/host/ehci-timer.c ehci->ASS_poll_count = 0; ehci 120 drivers/usb/host/ehci-timer.c if (ehci->async_count > 0) ehci 121 drivers/usb/host/ehci-timer.c ehci_set_command_bit(ehci, CMD_ASE); ehci 124 drivers/usb/host/ehci-timer.c if (ehci->async_count == 0) { ehci 127 drivers/usb/host/ehci-timer.c ehci_enable_event(ehci, EHCI_HRTIMER_DISABLE_ASYNC, ehci 134 drivers/usb/host/ehci-timer.c static void ehci_disable_ASE(struct ehci_hcd *ehci) ehci 136 drivers/usb/host/ehci-timer.c ehci_clear_command_bit(ehci, CMD_ASE); ehci 141 drivers/usb/host/ehci-timer.c static void ehci_poll_PSS(struct ehci_hcd *ehci) ehci 146 drivers/usb/host/ehci-timer.c if (ehci->rh_state != EHCI_RH_RUNNING) ehci 149 drivers/usb/host/ehci-timer.c want = (ehci->command & CMD_PSE) ? STS_PSS : 0; ehci 150 drivers/usb/host/ehci-timer.c actual = ehci_readl(ehci, &ehci->regs->status) & STS_PSS; ehci 155 drivers/usb/host/ehci-timer.c if (ehci->PSS_poll_count++ < 2) { ehci 156 drivers/usb/host/ehci-timer.c ehci_enable_event(ehci, EHCI_HRTIMER_POLL_PSS, true); ehci 159 drivers/usb/host/ehci-timer.c ehci_dbg(ehci, "Waited too long for the periodic schedule status (%x/%x), giving up\n", ehci 162 drivers/usb/host/ehci-timer.c ehci->PSS_poll_count = 0; ehci 166 drivers/usb/host/ehci-timer.c if (ehci->periodic_count > 0) ehci 167 drivers/usb/host/ehci-timer.c ehci_set_command_bit(ehci, CMD_PSE); ehci 170 drivers/usb/host/ehci-timer.c if (ehci->periodic_count == 0) { ehci 173 drivers/usb/host/ehci-timer.c ehci_enable_event(ehci, EHCI_HRTIMER_DISABLE_PERIODIC, ehci 180 drivers/usb/host/ehci-timer.c static void ehci_disable_PSE(struct ehci_hcd *ehci) ehci 182 drivers/usb/host/ehci-timer.c ehci_clear_command_bit(ehci, CMD_PSE); ehci 187 drivers/usb/host/ehci-timer.c static void ehci_handle_controller_death(struct ehci_hcd *ehci) ehci 189 drivers/usb/host/ehci-timer.c if (!(ehci_readl(ehci, &ehci->regs->status) & STS_HALT)) { ehci 192 drivers/usb/host/ehci-timer.c if (ehci->died_poll_count++ < 5) { ehci 194 drivers/usb/host/ehci-timer.c ehci_enable_event(ehci, EHCI_HRTIMER_POLL_DEAD, true); ehci 197 drivers/usb/host/ehci-timer.c ehci_warn(ehci, "Waited too long for the controller to stop, giving up\n"); ehci 201 drivers/usb/host/ehci-timer.c ehci->rh_state = EHCI_RH_HALTED; ehci 202 drivers/usb/host/ehci-timer.c ehci_writel(ehci, 0, &ehci->regs->configured_flag); ehci 203 drivers/usb/host/ehci-timer.c ehci_writel(ehci, 0, &ehci->regs->intr_enable); ehci 204 drivers/usb/host/ehci-timer.c ehci_work(ehci); ehci 205 drivers/usb/host/ehci-timer.c end_unlink_async(ehci); ehci 211 drivers/usb/host/ehci-timer.c static void ehci_handle_start_intr_unlinks(struct ehci_hcd *ehci) ehci 213 drivers/usb/host/ehci-timer.c bool stopped = (ehci->rh_state < EHCI_RH_RUNNING); ehci 222 drivers/usb/host/ehci-timer.c while (!list_empty(&ehci->intr_unlink_wait)) { ehci 225 drivers/usb/host/ehci-timer.c qh = list_first_entry(&ehci->intr_unlink_wait, ehci 228 drivers/usb/host/ehci-timer.c ehci->intr_unlink_wait_cycle)) ehci 232 drivers/usb/host/ehci-timer.c start_unlink_intr(ehci, qh); ehci 236 drivers/usb/host/ehci-timer.c if (!list_empty(&ehci->intr_unlink_wait)) { ehci 237 drivers/usb/host/ehci-timer.c ehci_enable_event(ehci, EHCI_HRTIMER_START_UNLINK_INTR, true); ehci 238 drivers/usb/host/ehci-timer.c ++ehci->intr_unlink_wait_cycle; ehci 243 drivers/usb/host/ehci-timer.c static void ehci_handle_intr_unlinks(struct ehci_hcd *ehci) ehci 245 drivers/usb/host/ehci-timer.c bool stopped = (ehci->rh_state < EHCI_RH_RUNNING); ehci 254 drivers/usb/host/ehci-timer.c ehci->intr_unlinking = true; ehci 255 drivers/usb/host/ehci-timer.c while (!list_empty(&ehci->intr_unlink)) { ehci 258 drivers/usb/host/ehci-timer.c qh = list_first_entry(&ehci->intr_unlink, struct ehci_qh, ehci 260 drivers/usb/host/ehci-timer.c if (!stopped && qh->unlink_cycle == ehci->intr_unlink_cycle) ehci 263 drivers/usb/host/ehci-timer.c end_unlink_intr(ehci, qh); ehci 267 drivers/usb/host/ehci-timer.c if (!list_empty(&ehci->intr_unlink)) { ehci 268 drivers/usb/host/ehci-timer.c ehci_enable_event(ehci, EHCI_HRTIMER_UNLINK_INTR, true); ehci 269 drivers/usb/host/ehci-timer.c ++ehci->intr_unlink_cycle; ehci 271 drivers/usb/host/ehci-timer.c ehci->intr_unlinking = false; ehci 276 drivers/usb/host/ehci-timer.c static void start_free_itds(struct ehci_hcd *ehci) ehci 278 drivers/usb/host/ehci-timer.c if (!(ehci->enabled_hrtimer_events & BIT(EHCI_HRTIMER_FREE_ITDS))) { ehci 279 drivers/usb/host/ehci-timer.c ehci->last_itd_to_free = list_entry( ehci 280 drivers/usb/host/ehci-timer.c ehci->cached_itd_list.prev, ehci 282 drivers/usb/host/ehci-timer.c ehci->last_sitd_to_free = list_entry( ehci 283 drivers/usb/host/ehci-timer.c ehci->cached_sitd_list.prev, ehci 285 drivers/usb/host/ehci-timer.c ehci_enable_event(ehci, EHCI_HRTIMER_FREE_ITDS, true); ehci 290 drivers/usb/host/ehci-timer.c static void end_free_itds(struct ehci_hcd *ehci) ehci 295 drivers/usb/host/ehci-timer.c if (ehci->rh_state < EHCI_RH_RUNNING) { ehci 296 drivers/usb/host/ehci-timer.c ehci->last_itd_to_free = NULL; ehci 297 drivers/usb/host/ehci-timer.c ehci->last_sitd_to_free = NULL; ehci 300 drivers/usb/host/ehci-timer.c list_for_each_entry_safe(itd, n, &ehci->cached_itd_list, itd_list) { ehci 302 drivers/usb/host/ehci-timer.c dma_pool_free(ehci->itd_pool, itd, itd->itd_dma); ehci 303 drivers/usb/host/ehci-timer.c if (itd == ehci->last_itd_to_free) ehci 306 drivers/usb/host/ehci-timer.c list_for_each_entry_safe(sitd, sn, &ehci->cached_sitd_list, sitd_list) { ehci 308 drivers/usb/host/ehci-timer.c dma_pool_free(ehci->sitd_pool, sitd, sitd->sitd_dma); ehci 309 drivers/usb/host/ehci-timer.c if (sitd == ehci->last_sitd_to_free) ehci 313 drivers/usb/host/ehci-timer.c if (!list_empty(&ehci->cached_itd_list) || ehci 314 drivers/usb/host/ehci-timer.c !list_empty(&ehci->cached_sitd_list)) ehci 315 drivers/usb/host/ehci-timer.c start_free_itds(ehci); ehci 320 drivers/usb/host/ehci-timer.c static void ehci_iaa_watchdog(struct ehci_hcd *ehci) ehci 330 drivers/usb/host/ehci-timer.c if (!ehci->iaa_in_progress || ehci->rh_state != EHCI_RH_RUNNING) ehci 339 drivers/usb/host/ehci-timer.c cmd = ehci_readl(ehci, &ehci->regs->command); ehci 348 drivers/usb/host/ehci-timer.c status = ehci_readl(ehci, &ehci->regs->status); ehci 350 drivers/usb/host/ehci-timer.c INCR(ehci->stats.lost_iaa); ehci 351 drivers/usb/host/ehci-timer.c ehci_writel(ehci, STS_IAA, &ehci->regs->status); ehci 354 drivers/usb/host/ehci-timer.c ehci_dbg(ehci, "IAA watchdog: status %x cmd %x\n", status, cmd); ehci 355 drivers/usb/host/ehci-timer.c end_iaa_cycle(ehci); ehci 360 drivers/usb/host/ehci-timer.c static void turn_on_io_watchdog(struct ehci_hcd *ehci) ehci 363 drivers/usb/host/ehci-timer.c if (ehci->rh_state != EHCI_RH_RUNNING || ehci 364 drivers/usb/host/ehci-timer.c (ehci->enabled_hrtimer_events & ehci 372 drivers/usb/host/ehci-timer.c if (ehci->isoc_count > 0 || (ehci->need_io_watchdog && ehci 373 drivers/usb/host/ehci-timer.c ehci->async_count + ehci->intr_count > 0)) ehci 374 drivers/usb/host/ehci-timer.c ehci_enable_event(ehci, EHCI_HRTIMER_IO_WATCHDOG, true); ehci 400 drivers/usb/host/ehci-timer.c struct ehci_hcd *ehci = container_of(t, struct ehci_hcd, hrtimer); ehci 406 drivers/usb/host/ehci-timer.c spin_lock_irqsave(&ehci->lock, flags); ehci 408 drivers/usb/host/ehci-timer.c events = ehci->enabled_hrtimer_events; ehci 409 drivers/usb/host/ehci-timer.c ehci->enabled_hrtimer_events = 0; ehci 410 drivers/usb/host/ehci-timer.c ehci->next_hrtimer_event = EHCI_HRTIMER_NO_EVENT; ehci 418 drivers/usb/host/ehci-timer.c if (ktime_compare(now, ehci->hr_timeouts[e]) >= 0) ehci 419 drivers/usb/host/ehci-timer.c event_handlers[e](ehci); ehci 421 drivers/usb/host/ehci-timer.c ehci_enable_event(ehci, e, false); ehci 424 drivers/usb/host/ehci-timer.c spin_unlock_irqrestore(&ehci->lock, flags); ehci 120 drivers/usb/host/ehci-xilinx-of.c struct ehci_hcd *ehci; ehci 157 drivers/usb/host/ehci-xilinx-of.c ehci = hcd_to_ehci(hcd); ehci 162 drivers/usb/host/ehci-xilinx-of.c ehci->big_endian_mmio = 1; ehci 163 drivers/usb/host/ehci-xilinx-of.c ehci->big_endian_desc = 1; ehci 169 drivers/usb/host/ehci-xilinx-of.c ehci_dbg(ehci, "USB host controller supports FS devices\n"); ehci 172 drivers/usb/host/ehci-xilinx-of.c ehci_dbg(ehci, ehci 179 drivers/usb/host/ehci-xilinx-of.c ehci->caps = hcd->regs + 0x100; ehci 266 drivers/usb/host/ehci.h static inline struct usb_hcd *ehci_to_hcd(struct ehci_hcd *ehci) ehci 268 drivers/usb/host/ehci.h return container_of((void *) ehci, struct usb_hcd, hcd_priv); ehci 277 drivers/usb/host/ehci.h #define QTD_NEXT(ehci, dma) cpu_to_hc32(ehci, (u32)dma) ehci 306 drivers/usb/host/ehci.h #define ACTIVE_BIT(ehci) cpu_to_hc32(ehci, QTD_STS_ACTIVE) ehci 307 drivers/usb/host/ehci.h #define HALT_BIT(ehci) cpu_to_hc32(ehci, QTD_STS_HALT) ehci 308 drivers/usb/host/ehci.h #define STATUS_BIT(ehci) cpu_to_hc32(ehci, QTD_STS_STS) ehci 321 drivers/usb/host/ehci.h #define QTD_MASK(ehci) cpu_to_hc32(ehci, ~0x1f) ehci 328 drivers/usb/host/ehci.h #define Q_NEXT_TYPE(ehci, dma) ((dma) & cpu_to_hc32(ehci, 3 << 1)) ehci 344 drivers/usb/host/ehci.h #define QH_NEXT(ehci, dma) \ ehci 345 drivers/usb/host/ehci.h (cpu_to_hc32(ehci, (((u32) dma) & ~0x01f) | Q_TYPE_QH)) ehci 348 drivers/usb/host/ehci.h #define EHCI_LIST_END(ehci) cpu_to_hc32(ehci, 1) /* "null pointer" to hw */ ehci 519 drivers/usb/host/ehci.h #define ITD_ACTIVE(ehci) cpu_to_hc32(ehci, EHCI_ISOC_ACTIVE) ehci 564 drivers/usb/host/ehci.h #define SITD_ACTIVE(ehci) cpu_to_hc32(ehci, SITD_STS_ACTIVE) ehci 634 drivers/usb/host/ehci.h #define ehci_prepare_ports_for_controller_suspend(ehci, do_wakeup) \ ehci 635 drivers/usb/host/ehci.h ehci_adjust_port_wakeup_flags(ehci, true, do_wakeup) ehci 637 drivers/usb/host/ehci.h #define ehci_prepare_ports_for_controller_resume(ehci) \ ehci 638 drivers/usb/host/ehci.h ehci_adjust_port_wakeup_flags(ehci, false, false) ehci 655 drivers/usb/host/ehci.h ehci_port_speed(struct ehci_hcd *ehci, unsigned int portsc) ehci 657 drivers/usb/host/ehci.h if (ehci_is_TDI(ehci)) { ehci 658 drivers/usb/host/ehci.h switch ((portsc >> (ehci->has_hostpc ? 25 : 26)) & 3) { ehci 675 drivers/usb/host/ehci.h #define ehci_port_speed(ehci, portsc) USB_PORT_STAT_HIGH_SPEED ehci 738 drivers/usb/host/ehci.h static inline unsigned int ehci_readl(const struct ehci_hcd *ehci, ehci 742 drivers/usb/host/ehci.h return ehci_big_endian_mmio(ehci) ? ehci 762 drivers/usb/host/ehci.h static inline void ehci_writel(const struct ehci_hcd *ehci, ehci 766 drivers/usb/host/ehci.h ehci_big_endian_mmio(ehci) ? ehci 770 drivers/usb/host/ehci.h if (ehci->imx28_write_fix) ehci 783 drivers/usb/host/ehci.h static inline void set_ohci_hcfs(struct ehci_hcd *ehci, int operational) ehci 787 drivers/usb/host/ehci.h hc_control = (readl_be(ehci->ohci_hcctrl_reg) & ~OHCI_CTRL_HCFS); ehci 793 drivers/usb/host/ehci.h writel_be(hc_control, ehci->ohci_hcctrl_reg); ehci 794 drivers/usb/host/ehci.h (void) readl_be(ehci->ohci_hcctrl_reg); ehci 797 drivers/usb/host/ehci.h static inline void set_ohci_hcfs(struct ehci_hcd *ehci, int operational) ehci 814 drivers/usb/host/ehci.h static inline __hc32 cpu_to_hc32(const struct ehci_hcd *ehci, const u32 x) ehci 816 drivers/usb/host/ehci.h return ehci_big_endian_desc(ehci) ehci 822 drivers/usb/host/ehci.h static inline u32 hc32_to_cpu(const struct ehci_hcd *ehci, const __hc32 x) ehci 824 drivers/usb/host/ehci.h return ehci_big_endian_desc(ehci) ehci 829 drivers/usb/host/ehci.h static inline u32 hc32_to_cpup(const struct ehci_hcd *ehci, const __hc32 *x) ehci 831 drivers/usb/host/ehci.h return ehci_big_endian_desc(ehci) ehci 839 drivers/usb/host/ehci.h static inline __hc32 cpu_to_hc32(const struct ehci_hcd *ehci, const u32 x) ehci 845 drivers/usb/host/ehci.h static inline u32 hc32_to_cpu(const struct ehci_hcd *ehci, const __hc32 x) ehci 850 drivers/usb/host/ehci.h static inline u32 hc32_to_cpup(const struct ehci_hcd *ehci, const __hc32 *x) ehci 859 drivers/usb/host/ehci.h #define ehci_dbg(ehci, fmt, args...) \ ehci 860 drivers/usb/host/ehci.h dev_dbg(ehci_to_hcd(ehci)->self.controller, fmt, ## args) ehci 861 drivers/usb/host/ehci.h #define ehci_err(ehci, fmt, args...) \ ehci 862 drivers/usb/host/ehci.h dev_err(ehci_to_hcd(ehci)->self.controller, fmt, ## args) ehci 863 drivers/usb/host/ehci.h #define ehci_info(ehci, fmt, args...) \ ehci 864 drivers/usb/host/ehci.h dev_info(ehci_to_hcd(ehci)->self.controller, fmt, ## args) ehci 865 drivers/usb/host/ehci.h #define ehci_warn(ehci, fmt, args...) \ ehci 866 drivers/usb/host/ehci.h dev_warn(ehci_to_hcd(ehci)->self.controller, fmt, ## args) ehci 882 drivers/usb/host/ehci.h extern int ehci_handshake(struct ehci_hcd *ehci, void __iomem *ptr, ehci 884 drivers/usb/host/ehci.h extern int ehci_reset(struct ehci_hcd *ehci); ehci 888 drivers/usb/host/ehci.h extern void ehci_adjust_port_wakeup_flags(struct ehci_hcd *ehci, ehci 36 include/linux/usb/ehci_def.h #define HC_LENGTH(ehci, p) (0x00ff&((p) >> /* bits 7:0 / offset 00h */ \ ehci 37 include/linux/usb/ehci_def.h (ehci_big_endian_capbase(ehci) ? 24 : 0))) ehci 38 include/linux/usb/ehci_def.h #define HC_VERSION(ehci, p) (0xffff&((p) >> /* bits 31:16 / offset 02h */ \ ehci 39 include/linux/usb/ehci_def.h (ehci_big_endian_capbase(ehci) ? 0 : 16)))