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()
533 static int ci_otg_start_gadget(struct otg_fsm *fsm, int on) in ci_otg_start_gadget() argument
535 struct ci_hdrc *ci = container_of(fsm, struct ci_hdrc, fsm); in ci_otg_start_gadget()
562 if (ci->fsm.id && !(ci->driver) && in ci_otg_fsm_work()
563 ci->fsm.otg->state < OTG_STATE_A_IDLE) in ci_otg_fsm_work()
567 if (otg_statemachine(&ci->fsm)) { in ci_otg_fsm_work()
568 if (ci->fsm.otg->state == OTG_STATE_A_IDLE) { in ci_otg_fsm_work()
577 if ((ci->fsm.id) || (ci->id_event) || in ci_otg_fsm_work()
578 (ci->fsm.power_up)) { in ci_otg_fsm_work()
589 } else if (ci->fsm.otg->state == OTG_STATE_B_IDLE) { in ci_otg_fsm_work()
590 if (ci->fsm.b_sess_vld) { in ci_otg_fsm_work()
591 ci->fsm.power_up = 0; in ci_otg_fsm_work()
598 } else if (ci->fsm.otg->state == OTG_STATE_A_HOST) { in ci_otg_fsm_work()
615 struct otg_fsm *fsm = &ci->fsm; in ci_otg_fsm_event() local
621 switch (ci->fsm.otg->state) { in ci_otg_fsm_event()
624 fsm->b_conn = 1; in ci_otg_fsm_event()
625 fsm->a_bus_req = 1; in ci_otg_fsm_event()
631 fsm->b_sess_vld = 1; in ci_otg_fsm_event()
637 fsm->a_bus_suspend = 1; in ci_otg_fsm_event()
640 if (fsm->a_bus_suspend == 1) in ci_otg_fsm_event()
641 fsm->a_bus_suspend = 0; in ci_otg_fsm_event()
646 fsm->a_conn = 0; in ci_otg_fsm_event()
647 fsm->b_bus_req = 0; in ci_otg_fsm_event()
653 fsm->b_bus_suspend = 1; in ci_otg_fsm_event()
666 if (fsm->b_bus_suspend == 1) { in ci_otg_fsm_event()
668 fsm->b_bus_suspend = 0; in ci_otg_fsm_event()
674 fsm->b_conn = 0; in ci_otg_fsm_event()
686 fsm->b_conn = 0; in ci_otg_fsm_event()
692 fsm->a_conn = 1; in ci_otg_fsm_event()
711 struct otg_fsm *fsm = &ci->fsm; in ci_otg_fsm_irq() local
715 fsm->id = (otgsc & OTGSC_ID) ? 1 : 0; in ci_otg_fsm_irq()
720 fsm->a_srp_det = 1; in ci_otg_fsm_irq()
721 fsm->a_bus_drop = 0; in ci_otg_fsm_irq()
724 if (fsm->id == 0) { in ci_otg_fsm_irq()
725 fsm->a_bus_drop = 0; in ci_otg_fsm_irq()
726 fsm->a_bus_req = 1; in ci_otg_fsm_irq()
732 fsm->b_sess_vld = 1; in ci_otg_fsm_irq()
735 fsm->b_ssend_srp = 0; in ci_otg_fsm_irq()
737 fsm->b_sess_vld = 0; in ci_otg_fsm_irq()
738 if (fsm->id) in ci_otg_fsm_irq()
744 fsm->a_vbus_vld = 1; in ci_otg_fsm_irq()
746 fsm->a_vbus_vld = 0; in ci_otg_fsm_irq()
747 fsm->b_conn = 0; in ci_otg_fsm_irq()
774 ci->fsm.otg = &ci->otg; in ci_hdrc_otg_fsm_init()
775 ci->fsm.power_up = 1; in ci_hdrc_otg_fsm_init()
776 ci->fsm.id = hw_read_otgsc(ci, OTGSC_ID) ? 1 : 0; in ci_hdrc_otg_fsm_init()
777 ci->fsm.otg->state = OTG_STATE_UNDEFINED; in ci_hdrc_otg_fsm_init()
778 ci->fsm.ops = &ci_otg_ops; in ci_hdrc_otg_fsm_init()
780 mutex_init(&ci->fsm.lock); in ci_hdrc_otg_fsm_init()
800 if (ci->fsm.id) { in ci_hdrc_otg_fsm_init()
801 ci->fsm.b_ssend_srp = in ci_hdrc_otg_fsm_init()
803 ci->fsm.b_sess_vld = in ci_hdrc_otg_fsm_init()