• Home
  • Raw
  • Download

Lines Matching refs:ehci

120 	struct ehci_hcd	*ehci,  in tegra_ehci_internal_port_reset()  argument
130 spin_lock_irqsave(&ehci->lock, flags); in tegra_ehci_internal_port_reset()
131 saved_usbintr = ehci_readl(ehci, &ehci->regs->intr_enable); in tegra_ehci_internal_port_reset()
133 ehci_writel(ehci, 0, &ehci->regs->intr_enable); in tegra_ehci_internal_port_reset()
134 spin_unlock_irqrestore(&ehci->lock, flags); in tegra_ehci_internal_port_reset()
141 temp = ehci_readl(ehci, portsc_reg); in tegra_ehci_internal_port_reset()
143 ehci_writel(ehci, temp, portsc_reg); in tegra_ehci_internal_port_reset()
146 ehci_writel(ehci, temp, portsc_reg); in tegra_ehci_internal_port_reset()
157 temp = ehci_readl(ehci, portsc_reg); in tegra_ehci_internal_port_reset()
170 ehci_writel(ehci, PORT_CSC, portsc_reg); in tegra_ehci_internal_port_reset()
176 temp = ehci_readl(ehci, &ehci->regs->status); in tegra_ehci_internal_port_reset()
177 ehci_writel(ehci, temp, &ehci->regs->status); in tegra_ehci_internal_port_reset()
180 ehci_writel(ehci, saved_usbintr, &ehci->regs->intr_enable); in tegra_ehci_internal_port_reset()
193 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in tegra_ehci_hub_control() local
194 struct tegra_ehci_hcd *tegra = (struct tegra_ehci_hcd *)ehci->priv; in tegra_ehci_hub_control()
200 status_reg = &ehci->regs->port_status[(wIndex & 0xff) - 1]; in tegra_ehci_hub_control()
202 spin_lock_irqsave(&ehci->lock, flags); in tegra_ehci_hub_control()
205 temp = ehci_readl(ehci, status_reg); in tegra_ehci_hub_control()
214 temp = ehci_readl(ehci, status_reg); in tegra_ehci_hub_control()
222 ehci_writel(ehci, temp | PORT_SUSPEND, status_reg); in tegra_ehci_hub_control()
228 if (ehci_handshake(ehci, status_reg, PORT_SUSPEND, in tegra_ehci_hub_control()
232 set_bit((wIndex & 0xff) - 1, &ehci->suspended_ports); in tegra_ehci_hub_control()
239 spin_unlock_irqrestore(&ehci->lock, flags); in tegra_ehci_hub_control()
240 return tegra_ehci_internal_port_reset(ehci, status_reg); in tegra_ehci_hub_control()
252 temp = ehci_readl(ehci, status_reg); in tegra_ehci_hub_control()
264 ehci->reset_done[wIndex-1] = jiffies + msecs_to_jiffies(25); in tegra_ehci_hub_control()
268 ehci_writel(ehci, temp | PORT_RESUME, status_reg); in tegra_ehci_hub_control()
269 set_bit(wIndex-1, &ehci->resuming_ports); in tegra_ehci_hub_control()
271 spin_unlock_irqrestore(&ehci->lock, flags); in tegra_ehci_hub_control()
273 spin_lock_irqsave(&ehci->lock, flags); in tegra_ehci_hub_control()
276 if (ehci_handshake(ehci, status_reg, PORT_RESUME, 0, 2000)) in tegra_ehci_hub_control()
278 if (ehci_handshake(ehci, status_reg, PORT_SUSPEND, 0, 2000)) in tegra_ehci_hub_control()
281 ehci->reset_done[wIndex-1] = 0; in tegra_ehci_hub_control()
282 clear_bit(wIndex-1, &ehci->resuming_ports); in tegra_ehci_hub_control()
288 spin_unlock_irqrestore(&ehci->lock, flags); in tegra_ehci_hub_control()
294 spin_unlock_irqrestore(&ehci->lock, flags); in tegra_ehci_hub_control()
403 struct ehci_hcd *ehci; in tegra_ehci_probe() local
431 ehci = hcd_to_ehci(hcd); in tegra_ehci_probe()
432 tegra = (struct tegra_ehci_hcd *)ehci->priv; in tegra_ehci_probe()
477 ehci->caps = hcd->regs + 0x100; in tegra_ehci_probe()
478 ehci->has_hostpc = soc_config->has_hostpc; in tegra_ehci_probe()
567 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in tegra_ehci_reset() local
581 txfifothresh = ehci->has_hostpc ? 0x10 : 10; in tegra_ehci_reset()
582 ehci_writel(ehci, txfifothresh << 16, &ehci->regs->txfill_tuning); in tegra_ehci_reset()