Home
last modified time | relevance | path

Searched refs:ehci (Results 1 – 16 of 16) sorted by relevance

/drivers/usb/host/
Dehci-hcd.c130 static int handshake (struct ehci_hcd *ehci, void __iomem *ptr, in handshake() argument
136 result = ehci_readl(ehci, ptr); in handshake()
149 static int ehci_halt (struct ehci_hcd *ehci) in ehci_halt() argument
151 u32 temp = ehci_readl(ehci, &ehci->regs->status); in ehci_halt()
154 ehci_writel(ehci, 0, &ehci->regs->intr_enable); in ehci_halt()
159 temp = ehci_readl(ehci, &ehci->regs->command); in ehci_halt()
161 ehci_writel(ehci, temp, &ehci->regs->command); in ehci_halt()
162 return handshake (ehci, &ehci->regs->status, in ehci_halt()
166 static int handshake_on_error_set_halt(struct ehci_hcd *ehci, void __iomem *ptr, in handshake_on_error_set_halt() argument
171 error = handshake(ehci, ptr, mask, done, usec); in handshake_on_error_set_halt()
[all …]
Dehci-hub.c47 static void ehci_handover_companion_ports(struct ehci_hcd *ehci) in ehci_handover_companion_ports() argument
53 struct usb_hcd *hcd = ehci_to_hcd(ehci); in ehci_handover_companion_ports()
55 if (!ehci->owned_ports) in ehci_handover_companion_ports()
61 port = HCS_N_PORTS(ehci->hcs_params); in ehci_handover_companion_ports()
63 if (test_bit(port, &ehci->owned_ports)) { in ehci_handover_companion_ports()
64 reg = &ehci->regs->port_status[port]; in ehci_handover_companion_ports()
65 status = ehci_readl(ehci, reg) & ~PORT_RWC_BITS; in ehci_handover_companion_ports()
69 clear_bit(port, &ehci->owned_ports); in ehci_handover_companion_ports()
70 else if (test_bit(port, &ehci->companion_ports)) in ehci_handover_companion_ports()
71 ehci_writel(ehci, status & ~PORT_PE, reg); in ehci_handover_companion_ports()
[all …]
Dehci-mem.c38 static inline void ehci_qtd_init(struct ehci_hcd *ehci, struct ehci_qtd *qtd, in ehci_qtd_init() argument
44 qtd->hw_next = EHCI_LIST_END(ehci); in ehci_qtd_init()
45 qtd->hw_alt_next = EHCI_LIST_END(ehci); in ehci_qtd_init()
49 static struct ehci_qtd *ehci_qtd_alloc (struct ehci_hcd *ehci, gfp_t flags) in ehci_qtd_alloc() argument
54 qtd = dma_pool_alloc (ehci->qtd_pool, flags, &dma); in ehci_qtd_alloc()
56 ehci_qtd_init(ehci, qtd, dma); in ehci_qtd_alloc()
61 static inline void ehci_qtd_free (struct ehci_hcd *ehci, struct ehci_qtd *qtd) in ehci_qtd_free() argument
63 dma_pool_free (ehci->qtd_pool, qtd, qtd->qtd_dma); in ehci_qtd_free()
69 struct ehci_hcd *ehci = qh->ehci; in qh_destroy() local
73 ehci_dbg (ehci, "unused qh not empty!\n"); in qh_destroy()
[all …]
Dehci-pci.c28 static int ehci_pci_reinit(struct ehci_hcd *ehci, struct pci_dev *pdev) in ehci_pci_reinit() argument
40 ehci->debug = ehci_to_hcd(ehci)->regs + temp; in ehci_pci_reinit()
41 temp = ehci_readl(ehci, &ehci->debug->control); in ehci_pci_reinit()
42 ehci_info(ehci, "debug port %d%s\n", in ehci_pci_reinit()
43 HCS_DEBUG_PORT(ehci->hcs_params), in ehci_pci_reinit()
48 ehci->debug = NULL; in ehci_pci_reinit()
59 ehci_dbg(ehci, "MWI active\n"); in ehci_pci_reinit()
67 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_pci_setup() local
79 ehci->big_endian_mmio = 1; in ehci_pci_setup()
81 ehci_warn(ehci, in ehci_pci_setup()
[all …]
Dehci-sched.c47 periodic_next_shadow(struct ehci_hcd *ehci, union ehci_shadow *periodic, in periodic_next_shadow() argument
50 switch (hc32_to_cpu(ehci, tag)) { in periodic_next_shadow()
64 static void periodic_unlink (struct ehci_hcd *ehci, unsigned frame, void *ptr) in periodic_unlink() argument
66 union ehci_shadow *prev_p = &ehci->pshadow[frame]; in periodic_unlink()
67 __hc32 *hw_p = &ehci->periodic[frame]; in periodic_unlink()
72 prev_p = periodic_next_shadow(ehci, prev_p, in periodic_unlink()
73 Q_NEXT_TYPE(ehci, *hw_p)); in periodic_unlink()
84 *prev_p = *periodic_next_shadow(ehci, &here, in periodic_unlink()
85 Q_NEXT_TYPE(ehci, *hw_p)); in periodic_unlink()
91 periodic_usecs (struct ehci_hcd *ehci, unsigned frame, unsigned uframe) in periodic_usecs() argument
[all …]
Dehci-dbg.c21 #define ehci_dbg(ehci, fmt, args...) \ argument
22 dev_dbg (ehci_to_hcd(ehci)->self.controller , fmt , ## args )
23 #define ehci_err(ehci, fmt, args...) \ argument
24 dev_err (ehci_to_hcd(ehci)->self.controller , fmt , ## args )
25 #define ehci_info(ehci, fmt, args...) \ argument
26 dev_info (ehci_to_hcd(ehci)->self.controller , fmt , ## args )
27 #define ehci_warn(ehci, fmt, args...) \ argument
28 dev_warn (ehci_to_hcd(ehci)->self.controller , fmt , ## args )
35 # define ehci_vdbg(ehci, fmt, args...) do { } while (0) argument
44 static void dbg_hcs_params (struct ehci_hcd *ehci, char *label) in dbg_hcs_params() argument
[all …]
Dehci-q.c46 qtd_fill(struct ehci_hcd *ehci, struct ehci_qtd *qtd, dma_addr_t buf, in qtd_fill() argument
53 qtd->hw_buf[0] = cpu_to_hc32(ehci, (u32)addr); in qtd_fill()
54 qtd->hw_buf_hi[0] = cpu_to_hc32(ehci, (u32)(addr >> 32)); in qtd_fill()
65 qtd->hw_buf[i] = cpu_to_hc32(ehci, (u32)addr); in qtd_fill()
66 qtd->hw_buf_hi[i] = cpu_to_hc32(ehci, in qtd_fill()
79 qtd->hw_token = cpu_to_hc32(ehci, (count << 16) | token); in qtd_fill()
88 qh_update (struct ehci_hcd *ehci, struct ehci_qh *qh, struct ehci_qtd *qtd) in qh_update() argument
93 qh->hw_qtd_next = QTD_NEXT(ehci, qtd->qtd_dma); in qh_update()
94 qh->hw_alt_next = EHCI_LIST_END(ehci); in qh_update()
101 if (!(qh->hw_info1 & cpu_to_hc32(ehci, 1 << 14))) { in qh_update()
[all …]
Dehci.h162 static inline struct usb_hcd *ehci_to_hcd (struct ehci_hcd *ehci) in ehci_to_hcd() argument
164 return container_of ((void *) ehci, struct usb_hcd, hcd_priv); in ehci_to_hcd()
169 iaa_watchdog_start(struct ehci_hcd *ehci) in iaa_watchdog_start() argument
171 WARN_ON(timer_pending(&ehci->iaa_watchdog)); in iaa_watchdog_start()
172 mod_timer(&ehci->iaa_watchdog, in iaa_watchdog_start()
176 static inline void iaa_watchdog_done(struct ehci_hcd *ehci) in iaa_watchdog_done() argument
178 del_timer(&ehci->iaa_watchdog); in iaa_watchdog_done()
188 timer_action_done (struct ehci_hcd *ehci, enum ehci_timer_action action) in timer_action_done() argument
190 clear_bit (action, &ehci->actions); in timer_action_done()
194 timer_action (struct ehci_hcd *ehci, enum ehci_timer_action action) in timer_action() argument
[all …]
Dehci-au1xxx.c120 struct ehci_hcd *ehci; in ehci_hcd_au1xxx_drv_probe() local
162 ehci = hcd_to_ehci(hcd); in ehci_hcd_au1xxx_drv_probe()
163 ehci->caps = hcd->regs; in ehci_hcd_au1xxx_drv_probe()
164 ehci->regs = hcd->regs + HC_LENGTH(readl(&ehci->caps->hc_capbase)); in ehci_hcd_au1xxx_drv_probe()
166 ehci->hcs_params = readl(&ehci->caps->hcs_params); in ehci_hcd_au1xxx_drv_probe()
203 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_hcd_au1xxx_drv_suspend() local
210 if (time_before(jiffies, ehci->next_statechange)) in ehci_hcd_au1xxx_drv_suspend()
221 spin_lock_irqsave(&ehci->lock, flags); in ehci_hcd_au1xxx_drv_suspend()
226 ehci_writel(ehci, 0, &ehci->regs->intr_enable); in ehci_hcd_au1xxx_drv_suspend()
227 (void)ehci_readl(ehci, &ehci->regs->intr_enable); in ehci_hcd_au1xxx_drv_suspend()
[all …]
Dehci-ppc-of.c23 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_ppc_of_setup() local
26 retval = ehci_halt(ehci); in ehci_ppc_of_setup()
34 ehci->sbrn = 0x20; in ehci_ppc_of_setup()
35 return ehci_reset(ehci); in ehci_ppc_of_setup()
110 struct ehci_hcd *ehci = NULL; in ehci_hcd_ppc_of_probe() local
153 ehci = hcd_to_ehci(hcd); in ehci_hcd_ppc_of_probe()
158 ehci->ohci_hcctrl_reg = ioremap(res.start + in ehci_hcd_ppc_of_probe()
162 if (!ehci->ohci_hcctrl_reg) { in ehci_hcd_ppc_of_probe()
165 ehci->has_amcc_usb23 = 1; in ehci_hcd_ppc_of_probe()
170 ehci->big_endian_mmio = 1; in ehci_hcd_ppc_of_probe()
[all …]
Dehci-fsl.c158 static void mpc83xx_setup_phy(struct ehci_hcd *ehci, in mpc83xx_setup_phy() argument
179 ehci_writel(ehci, portsc, &ehci->regs->port_status[port_offset]); in mpc83xx_setup_phy()
184 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in mpc83xx_usb_setup() local
212 mpc83xx_setup_phy(ehci, pdata->phy_mode, 0); in mpc83xx_usb_setup()
223 ehci->has_fsl_port_bug = 1; in mpc83xx_usb_setup()
226 mpc83xx_setup_phy(ehci, pdata->phy_mode, 0); in mpc83xx_usb_setup()
228 mpc83xx_setup_phy(ehci, pdata->phy_mode, 1); in mpc83xx_usb_setup()
232 ehci_writel(ehci, 0x00000003, non_ehci + FSL_SOC_USB_USBMODE); in mpc83xx_usb_setup()
244 static int ehci_fsl_reinit(struct ehci_hcd *ehci) in ehci_fsl_reinit() argument
246 mpc83xx_usb_setup(ehci_to_hcd(ehci)); in ehci_fsl_reinit()
[all …]
Dehci-ixp4xx.c18 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ixp4xx_ehci_init() local
21 ehci->big_endian_desc = 1; in ixp4xx_ehci_init()
22 ehci->big_endian_mmio = 1; in ixp4xx_ehci_init()
24 ehci->caps = hcd->regs + 0x100; in ixp4xx_ehci_init()
25 ehci->regs = hcd->regs + 0x100 in ixp4xx_ehci_init()
26 + HC_LENGTH(ehci_readl(ehci, &ehci->caps->hc_capbase)); in ixp4xx_ehci_init()
27 ehci->hcs_params = ehci_readl(ehci, &ehci->caps->hcs_params); in ixp4xx_ehci_init()
30 ehci_reset(ehci); in ixp4xx_ehci_init()
36 ehci_port_power(ehci, 0); in ixp4xx_ehci_init()
Dehci-orion.c105 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_orion_setup() local
108 retval = ehci_halt(ehci); in ehci_orion_setup()
121 ehci_reset(ehci); in ehci_orion_setup()
122 ehci_port_power(ehci, 0); in ehci_orion_setup()
195 struct ehci_hcd *ehci; in ehci_orion_drv_probe() local
247 ehci = hcd_to_ehci(hcd); in ehci_orion_drv_probe()
248 ehci->caps = hcd->regs + 0x100; in ehci_orion_drv_probe()
249 ehci->regs = hcd->regs + 0x100 + in ehci_orion_drv_probe()
250 HC_LENGTH(ehci_readl(ehci, &ehci->caps->hc_capbase)); in ehci_orion_drv_probe()
251 ehci->hcs_params = ehci_readl(ehci, &ehci->caps->hcs_params); in ehci_orion_drv_probe()
[all …]
Dehci-ps3.c27 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ps3_ehci_hc_reset() local
29 ehci->big_endian_mmio = 1; in ps3_ehci_hc_reset()
31 ehci->caps = hcd->regs; in ps3_ehci_hc_reset()
32 ehci->regs = hcd->regs + HC_LENGTH(ehci_readl(ehci, in ps3_ehci_hc_reset()
33 &ehci->caps->hc_capbase)); in ps3_ehci_hc_reset()
35 dbg_hcs_params(ehci, "reset"); in ps3_ehci_hc_reset()
36 dbg_hcc_params(ehci, "reset"); in ps3_ehci_hc_reset()
38 ehci->hcs_params = ehci_readl(ehci, &ehci->caps->hcs_params); in ps3_ehci_hc_reset()
40 result = ehci_halt(ehci); in ps3_ehci_hc_reset()
50 ehci_reset(ehci); in ps3_ehci_hc_reset()
DMakefile20 obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o
DKconfig40 You may want to read <file:Documentation/usb/ehci.txt>.
43 module will be called ehci-hcd.