Lines Matching refs:fsm
43 t = scnprintf(next, size, "%d\n", ci->fsm.a_bus_req); in get_a_bus_req()
59 mutex_lock(&ci->fsm.lock); in set_a_bus_req()
61 ci->fsm.a_bus_req = 0; in set_a_bus_req()
64 if (ci->fsm.a_bus_drop) { in set_a_bus_req()
65 mutex_unlock(&ci->fsm.lock); in set_a_bus_req()
68 ci->fsm.a_bus_req = 1; in set_a_bus_req()
72 mutex_unlock(&ci->fsm.lock); in set_a_bus_req()
87 t = scnprintf(next, size, "%d\n", ci->fsm.a_bus_drop); in get_a_bus_drop()
103 mutex_lock(&ci->fsm.lock); in set_a_bus_drop()
105 ci->fsm.a_bus_drop = 0; in set_a_bus_drop()
107 ci->fsm.a_bus_drop = 1; in set_a_bus_drop()
108 ci->fsm.a_bus_req = 0; in set_a_bus_drop()
112 mutex_unlock(&ci->fsm.lock); in set_a_bus_drop()
128 t = scnprintf(next, size, "%d\n", ci->fsm.b_bus_req); in get_b_bus_req()
144 mutex_lock(&ci->fsm.lock); in set_b_bus_req()
146 ci->fsm.b_bus_req = 0; in set_b_bus_req()
148 ci->fsm.b_bus_req = 1; in set_b_bus_req()
151 mutex_unlock(&ci->fsm.lock); in set_b_bus_req()
166 mutex_lock(&ci->fsm.lock); in set_a_clr_err()
168 ci->fsm.a_clr_err = 1; in set_a_clr_err()
171 mutex_unlock(&ci->fsm.lock); in set_a_clr_err()
278 ci->fsm.a_wait_vrise_tmout = 1; in a_wait_vrise_tmout()
284 ci->fsm.a_wait_vfall_tmout = 1; in a_wait_vfall_tmout()
290 ci->fsm.a_wait_bcon_tmout = 1; in a_wait_bcon_tmout()
296 ci->fsm.a_aidl_bdis_tmout = 1; in a_aidl_bdis_tmout()
302 ci->fsm.b_ase0_brst_tmout = 1; in b_ase0_brst_tmout()
308 ci->fsm.a_bidl_adis_tmout = 1; in a_bidl_adis_tmout()
314 ci->fsm.b_se0_srp = 1; in b_se0_srp_tmout()
320 ci->fsm.b_srp_done = 1; in b_srp_fail_tmout()
326 ci->fsm.b_srp_done = 1; in b_data_pls_tmout()
327 ci->fsm.b_bus_req = 0; in b_data_pls_tmout()
328 if (ci->fsm.power_up) in b_data_pls_tmout()
329 ci->fsm.power_up = 0; in b_data_pls_tmout()
337 ci->fsm.b_ssend_srp = 1; in b_ssend_srp_tmout()
339 if (ci->fsm.otg->state == OTG_STATE_B_IDLE) in b_ssend_srp_tmout()
419 static void ci_otg_fsm_add_timer(struct otg_fsm *fsm, enum otg_fsm_timer t) in ci_otg_fsm_add_timer() argument
421 struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm); in ci_otg_fsm_add_timer()
428 static void ci_otg_fsm_del_timer(struct otg_fsm *fsm, enum otg_fsm_timer t) in ci_otg_fsm_del_timer() argument
430 struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm); in ci_otg_fsm_del_timer()
441 static void ci_otg_drv_vbus(struct otg_fsm *fsm, int on) in ci_otg_drv_vbus() argument
444 struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm); in ci_otg_drv_vbus()
462 fsm->a_srp_det = 0; in ci_otg_drv_vbus()
463 fsm->power_up = 0; in ci_otg_drv_vbus()
468 fsm->a_bus_drop = 1; in ci_otg_drv_vbus()
469 fsm->a_bus_req = 0; in ci_otg_drv_vbus()
476 static void ci_otg_loc_conn(struct otg_fsm *fsm, int on) in ci_otg_loc_conn() argument
478 struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm); in ci_otg_loc_conn()
492 static void ci_otg_loc_sof(struct otg_fsm *fsm, int on) in ci_otg_loc_sof() argument
494 struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm); in ci_otg_loc_sof()
508 static void ci_otg_start_pulse(struct otg_fsm *fsm) in ci_otg_start_pulse() argument
510 struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm); in ci_otg_start_pulse()
519 static int ci_otg_start_host(struct otg_fsm *fsm, int on) in ci_otg_start_host() argument
521 struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm); in ci_otg_start_host()
534 static int ci_otg_start_gadget(struct otg_fsm *fsm, int on) in ci_otg_start_gadget() argument
536 struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm); in ci_otg_start_gadget()
563 if (ci->fsm.id && !(ci->driver) && in ci_otg_fsm_work()
564 ci->fsm.otg->state < OTG_STATE_A_IDLE) in ci_otg_fsm_work()
568 if (otg_statemachine(&ci->fsm)) { in ci_otg_fsm_work()
569 if (ci->fsm.otg->state == OTG_STATE_A_IDLE) { in ci_otg_fsm_work()
578 if ((ci->fsm.id) || (ci->id_event) || in ci_otg_fsm_work()
579 (ci->fsm.power_up)) { in ci_otg_fsm_work()
590 } else if (ci->fsm.otg->state == OTG_STATE_B_IDLE) { in ci_otg_fsm_work()
591 if (ci->fsm.b_sess_vld) { in ci_otg_fsm_work()
592 ci->fsm.power_up = 0; in ci_otg_fsm_work()
599 } else if (ci->fsm.otg->state == OTG_STATE_A_HOST) { in ci_otg_fsm_work()
616 struct otg_fsm *fsm = &ci->fsm; in ci_otg_fsm_event() local
622 switch (ci->fsm.otg->state) { in ci_otg_fsm_event()
625 fsm->b_conn = 1; in ci_otg_fsm_event()
626 fsm->a_bus_req = 1; in ci_otg_fsm_event()
632 fsm->b_sess_vld = 1; in ci_otg_fsm_event()
638 fsm->a_bus_suspend = 1; in ci_otg_fsm_event()
641 if (fsm->a_bus_suspend == 1) in ci_otg_fsm_event()
642 fsm->a_bus_suspend = 0; in ci_otg_fsm_event()
647 fsm->a_conn = 0; in ci_otg_fsm_event()
648 fsm->b_bus_req = 0; in ci_otg_fsm_event()
654 fsm->b_bus_suspend = 1; in ci_otg_fsm_event()
667 if (fsm->b_bus_suspend == 1) { in ci_otg_fsm_event()
669 fsm->b_bus_suspend = 0; in ci_otg_fsm_event()
675 fsm->b_conn = 0; in ci_otg_fsm_event()
687 fsm->b_conn = 0; in ci_otg_fsm_event()
693 fsm->a_conn = 1; in ci_otg_fsm_event()
712 struct otg_fsm *fsm = &ci->fsm; in ci_otg_fsm_irq() local
716 fsm->id = (otgsc & OTGSC_ID) ? 1 : 0; in ci_otg_fsm_irq()
721 fsm->a_srp_det = 1; in ci_otg_fsm_irq()
722 fsm->a_bus_drop = 0; in ci_otg_fsm_irq()
725 if (fsm->id == 0) { in ci_otg_fsm_irq()
726 fsm->a_bus_drop = 0; in ci_otg_fsm_irq()
727 fsm->a_bus_req = 1; in ci_otg_fsm_irq()
733 fsm->b_sess_vld = 1; in ci_otg_fsm_irq()
736 fsm->b_ssend_srp = 0; in ci_otg_fsm_irq()
738 fsm->b_sess_vld = 0; in ci_otg_fsm_irq()
739 if (fsm->id) in ci_otg_fsm_irq()
745 fsm->a_vbus_vld = 1; in ci_otg_fsm_irq()
747 fsm->a_vbus_vld = 0; in ci_otg_fsm_irq()
748 fsm->b_conn = 0; in ci_otg_fsm_irq()
775 ci->fsm.otg = &ci->otg; in ci_hdrc_otg_fsm_init()
776 ci->fsm.power_up = 1; in ci_hdrc_otg_fsm_init()
777 ci->fsm.id = hw_read_otgsc(ci, OTGSC_ID) ? 1 : 0; in ci_hdrc_otg_fsm_init()
778 ci->fsm.otg->state = OTG_STATE_UNDEFINED; in ci_hdrc_otg_fsm_init()
779 ci->fsm.ops = &ci_otg_ops; in ci_hdrc_otg_fsm_init()
781 mutex_init(&ci->fsm.lock); in ci_hdrc_otg_fsm_init()
801 if (ci->fsm.id) { in ci_hdrc_otg_fsm_init()
802 ci->fsm.b_ssend_srp = in ci_hdrc_otg_fsm_init()
804 ci->fsm.b_sess_vld = in ci_hdrc_otg_fsm_init()