Lines Matching refs:ehci
173 void ms_ehci_stoprun_setting(MS_U8 bOption, struct ehci_hcd *ehci);
2165 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in dbg_timeout_async() local
2171 hw_next = hcd_reg_readl ((U32)&ehci->op_regs->asynclistaddr); in dbg_timeout_async()
2174 hw_next = (U32)ehci->stAsync; in dbg_timeout_async()
2194 qh = ehci->stAsync->qh_next.qh; in dbg_timeout_async()
2232 static void ms_ehci_work(struct ehci_hcd *ehci, struct stPtRegs *regs);
2315 struct ehci_hcd *ehci = hcd_to_ehci (pHcd); in ms_ehci_init() local
2318 osapi_spin_lock_init (&ehci->tHcdLock); in ms_ehci_init()
2320 ehci->u32MoreCSC = false; in ms_ehci_init()
2321 ehci->ehci_port_not_change_cnt = 0; in ms_ehci_init()
2323 ehci->cap_regs = (struct ehci_cap_regs *) pHcd->uhc_regs; in ms_ehci_init()
2324 ehci->op_regs = (struct ehci_op_regs *) ( (U32)pHcd->uhc_regs + in ms_ehci_init()
2325 (U32)hcd_reg_readb ((U32)&ehci->cap_regs->caplength)); in ms_ehci_init()
2327 ehci->hcs_params = hcd_reg_readl ((U32)&ehci->cap_regs->hcsparams); in ms_ehci_init()
2329 return ms_ehci_halt (ehci); in ms_ehci_init()
2344 struct ehci_hcd *ehci = hcd_to_ehci (hcd); in ms_ehci_begin() local
2353 ehci->u32PeriodicSize = DEFAULT_I_TDPS; in ms_ehci_begin()
2354 if ((iRetval = ms_ehci_mem_init (ehci, SLAB_KERNEL)) < 0) in ms_ehci_begin()
2357 u32HccParams = hcd_reg_readl ((U32)&ehci->cap_regs->hcc_params); in ms_ehci_begin()
2359 ehci->u32IThresh = 8; in ms_ehci_begin()
2361 ehci->u32IThresh = 2 + HCC_ISO_THRES (u32HccParams); in ms_ehci_begin()
2363 ehci->stReclaim = 0; in ms_ehci_begin()
2364 ehci->iNextUframe = -1; in ms_ehci_begin()
2366 if ((iRetval = ms_ehci_reset (ehci)) != 0) in ms_ehci_begin()
2368 ms_ehci_mem_cleanup (ehci); in ms_ehci_begin()
2372 hcd_reg_writel (INTR_MASK, (U32)&ehci->op_regs->usbintr); in ms_ehci_begin()
2373 u32Temp=hcd_reg_readl((U32)&ehci->op_regs->bus_control); in ms_ehci_begin()
2377 hcd_reg_writel(u32Temp,(U32)&ehci->op_regs->bus_control); //set intr high active in ms_ehci_begin()
2378 hcd_reg_writel (ehci->tPeriodicDma, (U32)&ehci->op_regs->periodiclistbase); in ms_ehci_begin()
2380 ehci->stAsync->qh_next.qh = 0; in ms_ehci_begin()
2381 ehci->stAsync->hw_next_qh = QH_NEXT (ehci->stAsync->qh_dma_addr); in ms_ehci_begin()
2382 ehci->stAsync->hw_ep_state1 = QH_H_BIT; in ms_ehci_begin()
2383 ehci->stAsync->hw_token = QTD_STS_HALT; in ms_ehci_begin()
2384 ehci->stAsync->hw_next_qtd = EHCI_LIST_END; in ms_ehci_begin()
2385 ehci->stAsync->qh_status = QH_STS_LINKED; in ms_ehci_begin()
2386 ehci->stAsync->hw_alt_next_qtd = (U32)(ehci->stAsync->pDummyQtd->qtd_dma_addr); in ms_ehci_begin()
2387 ms_debug_msg("qh dma addr: %p\n", (void *)ehci->stAsync->qh_dma_addr); in ms_ehci_begin()
2388 hcd_reg_writel ((U32)ehci->stAsync->qh_dma_addr, (U32)&ehci->op_regs->asynclistaddr); in ms_ehci_begin()
2392 hcd_reg_writel (0, (U32)&ehci->op_regs->ctrldssegment); in ms_ehci_begin()
2395 u32Temp = hcd_reg_readl ((U32)&ehci->op_regs->usbcmd) & 0x0fff; in ms_ehci_begin()
2421 case 0: ehci->u32PeriodicSize = 1024; break; in ms_ehci_begin()
2422 case 1: ehci->u32PeriodicSize = 512; break; in ms_ehci_begin()
2423 case 2: ehci->u32PeriodicSize = 256; break; in ms_ehci_begin()
2431 hcd_reg_writel (u32Temp, (U32)&ehci->op_regs->usbcmd); in ms_ehci_begin()
2435 ms_init_timer (&ehci->stWatchdog); in ms_ehci_begin()
2436 ehci->stWatchdog.function = ms_ehci_watchdog; in ms_ehci_begin()
2437 ehci->stWatchdog.data = (U32) ehci; in ms_ehci_begin()
2439 ms_init_timer (&ehci->stiaa_Watchdog); in ms_ehci_begin()
2440 ehci->stiaa_Watchdog.function = ms_ehci_iaa_watchdog; in ms_ehci_begin()
2441 ehci->stiaa_Watchdog.data = (U32) ehci; in ms_ehci_begin()
2448 ms_ehci_mem_cleanup (ehci); in ms_ehci_begin()
2453 ehci->hcd.state = HCD_STATE_RUNNING; in ms_ehci_begin()
2454 u32Temp = hcd_reg_readl ((U32)&ehci->op_regs->usbcmd); /* unblock posted write */ in ms_ehci_begin()
2456 u32Temp = hcd_reg_readw ((U32)&ehci->cap_regs->hciversion); in ms_ehci_begin()
2464 ms_ehci_quiesce(ehci); in ms_ehci_begin()
2465 ms_ehci_reset (ehci); in ms_ehci_begin()
2486 struct ehci_hcd *ehci = hcd_to_ehci (hcd); in ms_ehci_end() local
2490 ms_del_timer_sync (&ehci->stWatchdog); in ms_ehci_end()
2491 ms_del_timer_sync (&ehci->stiaa_Watchdog); in ms_ehci_end()
2493 osapi_spin_lock_irq (&ehci->tHcdLock); in ms_ehci_end()
2495 ms_ehci_quiesce(ehci); in ms_ehci_end()
2497 ms_ehci_reset (ehci); in ms_ehci_end()
2501 if (ehci->stAsync) // patch from Linux 3.1.10 in ms_ehci_end()
2502 ms_ehci_work(ehci, NULL); in ms_ehci_end()
2503 osapi_spin_unlock_irq (&ehci->tHcdLock); in ms_ehci_end()
2504 ms_ehci_mem_cleanup (ehci); in ms_ehci_end()
2508 ehci->stats.u32Normal, ehci->stats.u32Error, ehci->stats.u32Reclaim, in ms_ehci_end()
2509 ehci->stats.u32LostIAA); in ms_ehci_end()
2511 ehci->stats.u32Complete, ehci->stats.u32Unlink); in ms_ehci_end()
2518 struct ehci_hcd *ehci = hcd_to_ehci (hcd); in ms_ehci_get_frame_idx() local
2520 return (hcd_reg_readl ((U32)&ehci->op_regs->frindex) >> 3) % ehci->u32PeriodicSize; in ms_ehci_get_frame_idx()
2527 struct ehci_hcd *ehci = hcd_to_ehci (hcd); in ms_ehci_suspend() local
2533 iPorts = HCS_N_PORTS (ehci->hcs_params); in ms_ehci_suspend()
2536 ms_ehci_quiesce(ehci); in ms_ehci_suspend()
2538 …hcd_reg_writel(hcd_reg_readl ((U32)&ehci->op_regs->usbcmd) & ~USBCMD_RUN, (U32)&ehci->op_regs->usb… in ms_ehci_suspend()
2539 while((hcd_reg_readl((U32)&ehci->op_regs->usbsts)&USBSTS_HALT) == 0); in ms_ehci_suspend()
2543 int temp = hcd_reg_readl ((U32)&ehci->op_regs->portsc [i]); in ms_ehci_suspend()
2549 hcd_reg_writel (temp, (U32)&ehci->op_regs->portsc [i]); in ms_ehci_suspend()
2557 struct ehci_hcd *ehci = hcd_to_ehci (hcd); in ms_ehci_resume() local
2564 iPorts = HCS_N_PORTS (ehci->hcs_params); in ms_ehci_resume()
2568 int temp = hcd_reg_readl ((U32)&ehci->op_regs->portsc [i]); in ms_ehci_resume()
2574 hcd_reg_writel (temp, (U32)&ehci->op_regs->portsc [i]); in ms_ehci_resume()
2575 /*U32Tmp = */hcd_reg_readl ((U32)&ehci->op_regs->usbcmd); /* unblock posted writes */ in ms_ehci_resume()
2578 hcd_reg_writel (temp, (U32)&ehci->op_regs->portsc [i]); in ms_ehci_resume()
2580 /*U32Tmp = */hcd_reg_readl ((U32)&ehci->op_regs->usbcmd); /* unblock posted writes */ in ms_ehci_resume()
3106 void ms_ehci_stoprun_setting(MS_U8 bOption, struct ehci_hcd *ehci) in ms_ehci_stoprun_setting() argument
3113 temp = hcd_reg_readl((U32)&ehci->op_regs->usbcmd); in ms_ehci_stoprun_setting()
3120 hcd_reg_writel(temp, (U32)&ehci->op_regs->usbcmd); in ms_ehci_stoprun_setting()
3123 temp = hcd_reg_readl((U32)&ehci->op_regs->usbcmd); in ms_ehci_stoprun_setting()
3125 ehci->hcd.state = HCD_STATE_RUNNING; in ms_ehci_stoprun_setting()
3129 temp = hcd_reg_readl((U32)&ehci->op_regs->usbcmd); in ms_ehci_stoprun_setting()
3134 hcd_reg_writel(temp, (U32)&ehci->op_regs->usbcmd); in ms_ehci_stoprun_setting()
3136 temp = hcd_reg_readl((U32)&ehci->op_regs->usbcmd); in ms_ehci_stoprun_setting()
3138 ehci->hcd.state = HCD_STATE_HALT; in ms_ehci_stoprun_setting()
3228 struct ehci_hcd *ehci, in ms_qh_urb_transaction_EHSET() argument
3242 pQtd = ms_ehci_qtd_alloc (ehci, iFlags); in ms_qh_urb_transaction_EHSET()
3303 pQtd->hw_alt_next_qtd = ehci->stAsync->hw_alt_next_qtd; in ms_qh_urb_transaction_EHSET()
3312 pQtd = ms_ehci_qtd_alloc (ehci, iFlags); in ms_qh_urb_transaction_EHSET()
3342 pQtd = ms_ehci_qtd_alloc (ehci, iFlags); in ms_qh_urb_transaction_EHSET()
3361 ms_qtd_register_free (ehci, head); in ms_qh_urb_transaction_EHSET()
3367 struct ehci_hcd *ehci, in ms_submit_async_EHSET() argument
3373 return ms_submit_async(ehci, urb, qtd_list); in ms_submit_async_EHSET()