Lines Matching refs:devctl

476 	u8 devctl;  in musb_set_host()  local
481 devctl = musb_read_devctl(musb); in musb_set_host()
482 if (!(devctl & MUSB_DEVCTL_BDEVICE)) { in musb_set_host()
483 trace_musb_state(musb, devctl, "Already in host mode"); in musb_set_host()
487 devctl |= MUSB_DEVCTL_SESSION; in musb_set_host()
488 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl); in musb_set_host()
490 error = readx_poll_timeout(musb_read_devctl, musb, devctl, in musb_set_host()
491 !(devctl & MUSB_DEVCTL_BDEVICE), 5000, in musb_set_host()
495 __func__, devctl); in musb_set_host()
500 devctl = musb_read_devctl(musb); in musb_set_host()
501 trace_musb_state(musb, devctl, "Host mode set"); in musb_set_host()
523 u8 devctl; in musb_set_peripheral() local
528 devctl = musb_read_devctl(musb); in musb_set_peripheral()
529 if (devctl & MUSB_DEVCTL_BDEVICE) { in musb_set_peripheral()
530 trace_musb_state(musb, devctl, "Already in peripheral mode"); in musb_set_peripheral()
534 devctl &= ~MUSB_DEVCTL_SESSION; in musb_set_peripheral()
535 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl); in musb_set_peripheral()
537 error = readx_poll_timeout(musb_read_devctl, musb, devctl, in musb_set_peripheral()
538 devctl & MUSB_DEVCTL_BDEVICE, 5000, in musb_set_peripheral()
542 __func__, devctl); in musb_set_peripheral()
547 devctl = musb_read_devctl(musb); in musb_set_peripheral()
548 trace_musb_state(musb, devctl, "Peripheral mode set"); in musb_set_peripheral()
668 static void musb_handle_intr_resume(struct musb *musb, u8 devctl) in musb_handle_intr_resume() argument
673 if (devctl & MUSB_DEVCTL_HM) { in musb_handle_intr_resume()
710 if ((devctl & MUSB_DEVCTL_VBUS) in musb_handle_intr_resume()
731 static irqreturn_t musb_handle_intr_sessreq(struct musb *musb, u8 devctl) in musb_handle_intr_sessreq() argument
735 if ((devctl & MUSB_DEVCTL_VBUS) == MUSB_DEVCTL_VBUS in musb_handle_intr_sessreq()
736 && (devctl & MUSB_DEVCTL_BDEVICE)) { in musb_handle_intr_sessreq()
760 static void musb_handle_intr_vbuserr(struct musb *musb, u8 devctl) in musb_handle_intr_vbuserr() argument
795 devctl |= MUSB_DEVCTL_SESSION; in musb_handle_intr_vbuserr()
796 musb_writeb(mbase, MUSB_DEVCTL, devctl); in musb_handle_intr_vbuserr()
810 devctl, in musb_handle_intr_vbuserr()
812 switch (devctl & MUSB_DEVCTL_VBUS) { in musb_handle_intr_vbuserr()
831 static void musb_handle_intr_suspend(struct musb *musb, u8 devctl) in musb_handle_intr_suspend() argument
834 usb_otg_state_string(musb->xceiv->otg->state), devctl); in musb_handle_intr_suspend()
888 static void musb_handle_intr_connect(struct musb *musb, u8 devctl, u8 int_usb) in musb_handle_intr_connect() argument
908 if (devctl & MUSB_DEVCTL_LSDEV) in musb_handle_intr_connect()
930 if ((devctl & MUSB_DEVCTL_VBUS) in musb_handle_intr_connect()
942 usb_otg_state_string(musb->xceiv->otg->state), devctl); in musb_handle_intr_connect()
945 static void musb_handle_intr_disconnect(struct musb *musb, u8 devctl) in musb_handle_intr_disconnect() argument
949 MUSB_MODE(musb), devctl); in musb_handle_intr_disconnect()
1056 u8 devctl) in musb_stage0_irq() argument
1060 musb_dbg(musb, "<== DevCtl=%02x, int_usb=0x%x", devctl, int_usb); in musb_stage0_irq()
1067 musb_handle_intr_resume(musb, devctl); in musb_stage0_irq()
1073 if (musb_handle_intr_sessreq(musb, devctl)) in musb_stage0_irq()
1079 musb_handle_intr_vbuserr(musb, devctl); in musb_stage0_irq()
1084 musb_handle_intr_suspend(musb, devctl); in musb_stage0_irq()
1089 musb_handle_intr_connect(musb, devctl, int_usb); in musb_stage0_irq()
1094 musb_handle_intr_disconnect(musb, devctl); in musb_stage0_irq()
1191 u8 devctl = musb_readb(regs, MUSB_DEVCTL); in musb_start() local
1194 musb_dbg(musb, "<== devctl %02x", devctl); in musb_start()
1210 devctl = musb_readb(regs, MUSB_DEVCTL); in musb_start()
1211 devctl &= ~MUSB_DEVCTL_SESSION; in musb_start()
1220 (devctl & MUSB_DEVCTL_VBUS) == MUSB_DEVCTL_VBUS) { in musb_start()
1223 devctl |= MUSB_DEVCTL_SESSION; in musb_start()
1227 musb_writeb(regs, MUSB_DEVCTL, devctl); in musb_start()
1731 u8 devctl; in musb_interrupt() local
1736 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in musb_interrupt()
1761 retval |= musb_stage0_irq(musb, musb->int_usb, devctl); in musb_interrupt()
1926 u8 devctl; in vbus_show() local
1934 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in vbus_show()
1935 if ((devctl & MUSB_DEVCTL_VBUS) in vbus_show()
1988 static bool musb_state_needs_recheck(struct musb *musb, u8 devctl, in musb_state_needs_recheck() argument
1992 trace_musb_state(musb, devctl, desc); in musb_state_needs_recheck()
2013 u8 devctl, s; in musb_pm_runtime_check_session() local
2016 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in musb_pm_runtime_check_session()
2021 switch (devctl & ~s) { in musb_pm_runtime_check_session()
2023 musb_state_needs_recheck(musb, devctl, in musb_pm_runtime_check_session()
2027 if (musb_state_needs_recheck(musb, devctl, in musb_pm_runtime_check_session()
2032 if (musb_state_needs_recheck(musb, devctl, in musb_pm_runtime_check_session()
2037 trace_musb_state(musb, devctl, "Allow PM on possible host mode disconnect"); in musb_pm_runtime_check_session()
2047 s = devctl & MUSB_DEVCTL_SESSION; in musb_pm_runtime_check_session()
2053 trace_musb_state(musb, devctl, "Block PM on active session"); in musb_pm_runtime_check_session()
2065 if (devctl & MUSB_DEVCTL_BDEVICE) in musb_pm_runtime_check_session()
2069 trace_musb_state(musb, devctl, "Allow PM with no session"); in musb_pm_runtime_check_session()
2104 u8 devctl; in musb_recover_from_babble() local
2121 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in musb_recover_from_babble()
2122 devctl &= ~MUSB_DEVCTL_SESSION; in musb_recover_from_babble()
2123 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl); in musb_recover_from_babble()
2682 musb->context.devctl = musb_readb(musb_base, MUSB_DEVCTL); in musb_save_context()
2756 if (musb->context.devctl & MUSB_DEVCTL_SESSION) in musb_restore_context()
2757 musb_writeb(musb_base, MUSB_DEVCTL, musb->context.devctl); in musb_restore_context()
2859 u8 devctl; in musb_resume() local
2874 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in musb_resume()
2876 if ((devctl & mask) != (musb->context.devctl & mask)) in musb_resume()
2885 devctl |= MUSB_DEVCTL_SESSION; in musb_resume()
2886 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl); in musb_resume()