/drivers/usb/host/ |
D | ehci-hcd.c | 130 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 …]
|
D | ehci-hub.c | 47 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 …]
|
D | ehci-mem.c | 38 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 …]
|
D | ehci-pci.c | 28 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 …]
|
D | ehci-sched.c | 47 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 …]
|
D | ehci-dbg.c | 21 #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 …]
|
D | ehci-q.c | 46 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 …]
|
D | ehci.h | 162 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 …]
|
D | ehci-au1xxx.c | 120 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 …]
|
D | ehci-ppc-of.c | 23 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 …]
|
D | ehci-fsl.c | 158 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 …]
|
D | ehci-ixp4xx.c | 18 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()
|
D | ehci-orion.c | 105 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 …]
|
D | ehci-ps3.c | 27 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()
|
D | Makefile | 20 obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o
|
D | Kconfig | 40 You may want to read <file:Documentation/usb/ehci.txt>. 43 module will be called ehci-hcd.
|