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()
666 static void musb_handle_intr_resume(struct musb *musb, u8 devctl) in musb_handle_intr_resume() argument
670 if (devctl & MUSB_DEVCTL_HM) { in musb_handle_intr_resume()
707 if ((devctl & MUSB_DEVCTL_VBUS) in musb_handle_intr_resume()
728 static irqreturn_t musb_handle_intr_sessreq(struct musb *musb, u8 devctl) in musb_handle_intr_sessreq() argument
732 if ((devctl & MUSB_DEVCTL_VBUS) == MUSB_DEVCTL_VBUS in musb_handle_intr_sessreq()
733 && (devctl & MUSB_DEVCTL_BDEVICE)) { in musb_handle_intr_sessreq()
756 static void musb_handle_intr_vbuserr(struct musb *musb, u8 devctl) in musb_handle_intr_vbuserr() argument
791 devctl |= MUSB_DEVCTL_SESSION; in musb_handle_intr_vbuserr()
792 musb_writeb(mbase, MUSB_DEVCTL, devctl); in musb_handle_intr_vbuserr()
806 devctl, in musb_handle_intr_vbuserr()
808 switch (devctl & MUSB_DEVCTL_VBUS) { in musb_handle_intr_vbuserr()
827 static void musb_handle_intr_suspend(struct musb *musb, u8 devctl) in musb_handle_intr_suspend() argument
830 musb_otg_state_string(musb), devctl); in musb_handle_intr_suspend()
884 static void musb_handle_intr_connect(struct musb *musb, u8 devctl, u8 int_usb) in musb_handle_intr_connect() argument
904 if (devctl & MUSB_DEVCTL_LSDEV) in musb_handle_intr_connect()
926 if ((devctl & MUSB_DEVCTL_VBUS) in musb_handle_intr_connect()
938 musb_otg_state_string(musb), devctl); in musb_handle_intr_connect()
941 static void musb_handle_intr_disconnect(struct musb *musb, u8 devctl) in musb_handle_intr_disconnect() argument
945 MUSB_MODE(musb), devctl); in musb_handle_intr_disconnect()
1051 u8 devctl) in musb_stage0_irq() argument
1055 musb_dbg(musb, "<== DevCtl=%02x, int_usb=0x%x", devctl, int_usb); in musb_stage0_irq()
1062 musb_handle_intr_resume(musb, devctl); in musb_stage0_irq()
1068 if (musb_handle_intr_sessreq(musb, devctl)) in musb_stage0_irq()
1074 musb_handle_intr_vbuserr(musb, devctl); in musb_stage0_irq()
1079 musb_handle_intr_suspend(musb, devctl); in musb_stage0_irq()
1084 musb_handle_intr_connect(musb, devctl, int_usb); in musb_stage0_irq()
1089 musb_handle_intr_disconnect(musb, devctl); in musb_stage0_irq()
1186 u8 devctl = musb_readb(regs, MUSB_DEVCTL); in musb_start() local
1189 musb_dbg(musb, "<== devctl %02x", devctl); in musb_start()
1205 devctl = musb_readb(regs, MUSB_DEVCTL); in musb_start()
1206 devctl &= ~MUSB_DEVCTL_SESSION; in musb_start()
1215 (devctl & MUSB_DEVCTL_VBUS) == MUSB_DEVCTL_VBUS) { in musb_start()
1218 devctl |= MUSB_DEVCTL_SESSION; in musb_start()
1222 musb_writeb(regs, MUSB_DEVCTL, devctl); in musb_start()
1726 u8 devctl; in musb_interrupt() local
1731 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in musb_interrupt()
1756 retval |= musb_stage0_irq(musb, musb->int_usb, devctl); in musb_interrupt()
1921 u8 devctl; in vbus_show() local
1929 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in vbus_show()
1930 if ((devctl & MUSB_DEVCTL_VBUS) in vbus_show()
1983 static bool musb_state_needs_recheck(struct musb *musb, u8 devctl, in musb_state_needs_recheck() argument
1987 trace_musb_state(musb, devctl, desc); in musb_state_needs_recheck()
2008 u8 devctl, s; in musb_pm_runtime_check_session() local
2011 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in musb_pm_runtime_check_session()
2016 switch (devctl & ~s) { in musb_pm_runtime_check_session()
2018 musb_state_needs_recheck(musb, devctl, in musb_pm_runtime_check_session()
2022 if (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 trace_musb_state(musb, devctl, "Allow PM on possible host mode disconnect"); in musb_pm_runtime_check_session()
2042 s = devctl & MUSB_DEVCTL_SESSION; in musb_pm_runtime_check_session()
2048 trace_musb_state(musb, devctl, "Block PM on active session"); in musb_pm_runtime_check_session()
2060 if (devctl & MUSB_DEVCTL_BDEVICE) in musb_pm_runtime_check_session()
2064 trace_musb_state(musb, devctl, "Allow PM with no session"); in musb_pm_runtime_check_session()
2099 u8 devctl; in musb_recover_from_babble() local
2116 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in musb_recover_from_babble()
2117 devctl &= ~MUSB_DEVCTL_SESSION; in musb_recover_from_babble()
2118 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl); in musb_recover_from_babble()
2675 musb->context.devctl = musb_readb(musb_base, MUSB_DEVCTL); in musb_save_context()
2749 if (musb->context.devctl & MUSB_DEVCTL_SESSION) in musb_restore_context()
2750 musb_writeb(musb_base, MUSB_DEVCTL, musb->context.devctl); in musb_restore_context()
2852 u8 devctl; in musb_resume() local
2867 devctl = musb_readb(musb->mregs, MUSB_DEVCTL); in musb_resume()
2869 if ((devctl & mask) != (musb->context.devctl & mask)) in musb_resume()
2878 devctl |= MUSB_DEVCTL_SESSION; in musb_resume()
2879 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl); in musb_resume()