Commit 01ecd156 authored by Li Jun's avatar Li Jun Committed by Greg Kroah-Hartman

usb: chipidea: otg: remove unnecessary B_SESS_VLD timer

Since BSV irq is enabled for B-device all the time, so B_SESS_VLD timer
is not required, and also no need to check BSV status when B_ASE0_BRST
timer timeout.
Signed-off-by: default avatarLi Jun <jun.li@freescale.com>
Signed-off-by: default avatarPeter Chen <peter.chen@freescale.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 963719c8
...@@ -320,17 +320,6 @@ static void a_wait_vfall_tmout_func(void *ptr, unsigned long indicator) ...@@ -320,17 +320,6 @@ static void a_wait_vfall_tmout_func(void *ptr, unsigned long indicator)
ci_otg_queue_work(ci); ci_otg_queue_work(ci);
} }
static void b_ase0_brst_tmout_func(void *ptr, unsigned long indicator)
{
struct ci_hdrc *ci = (struct ci_hdrc *)ptr;
set_tmout(ci, indicator);
if (!hw_read_otgsc(ci, OTGSC_BSV))
ci->fsm.b_sess_vld = 0;
ci_otg_queue_work(ci);
}
static void b_ssend_srp_tmout_func(void *ptr, unsigned long indicator) static void b_ssend_srp_tmout_func(void *ptr, unsigned long indicator)
{ {
struct ci_hdrc *ci = (struct ci_hdrc *)ptr; struct ci_hdrc *ci = (struct ci_hdrc *)ptr;
...@@ -342,18 +331,6 @@ static void b_ssend_srp_tmout_func(void *ptr, unsigned long indicator) ...@@ -342,18 +331,6 @@ static void b_ssend_srp_tmout_func(void *ptr, unsigned long indicator)
ci_otg_queue_work(ci); ci_otg_queue_work(ci);
} }
static void b_sess_vld_tmout_func(void *ptr, unsigned long indicator)
{
struct ci_hdrc *ci = (struct ci_hdrc *)ptr;
/* Check if A detached */
if (!(hw_read_otgsc(ci, OTGSC_BSV))) {
ci->fsm.b_sess_vld = 0;
ci_otg_add_timer(ci, B_SSEND_SRP);
ci_otg_queue_work(ci);
}
}
static void b_data_pulse_end(void *ptr, unsigned long indicator) static void b_data_pulse_end(void *ptr, unsigned long indicator)
{ {
struct ci_hdrc *ci = (struct ci_hdrc *)ptr; struct ci_hdrc *ci = (struct ci_hdrc *)ptr;
...@@ -405,7 +382,7 @@ static int ci_otg_init_timers(struct ci_hdrc *ci) ...@@ -405,7 +382,7 @@ static int ci_otg_init_timers(struct ci_hdrc *ci)
return -ENOMEM; return -ENOMEM;
ci->fsm_timer->timer_list[B_ASE0_BRST] = ci->fsm_timer->timer_list[B_ASE0_BRST] =
otg_timer_initializer(ci, &b_ase0_brst_tmout_func, TB_ASE0_BRST, otg_timer_initializer(ci, &set_tmout_and_fsm, TB_ASE0_BRST,
(unsigned long)&fsm->b_ase0_brst_tmout); (unsigned long)&fsm->b_ase0_brst_tmout);
if (ci->fsm_timer->timer_list[B_ASE0_BRST] == NULL) if (ci->fsm_timer->timer_list[B_ASE0_BRST] == NULL)
return -ENOMEM; return -ENOMEM;
...@@ -433,11 +410,6 @@ static int ci_otg_init_timers(struct ci_hdrc *ci) ...@@ -433,11 +410,6 @@ static int ci_otg_init_timers(struct ci_hdrc *ci)
if (ci->fsm_timer->timer_list[B_DATA_PLS] == NULL) if (ci->fsm_timer->timer_list[B_DATA_PLS] == NULL)
return -ENOMEM; return -ENOMEM;
ci->fsm_timer->timer_list[B_SESS_VLD] = otg_timer_initializer(ci,
&b_sess_vld_tmout_func, TB_SESS_VLD, 0);
if (ci->fsm_timer->timer_list[B_SESS_VLD] == NULL)
return -ENOMEM;
return 0; return 0;
} }
...@@ -671,7 +643,6 @@ static void ci_otg_fsm_event(struct ci_hdrc *ci) ...@@ -671,7 +643,6 @@ static void ci_otg_fsm_event(struct ci_hdrc *ci)
fsm->a_conn = 0; fsm->a_conn = 0;
fsm->b_bus_req = 0; fsm->b_bus_req = 0;
ci_otg_queue_work(ci); ci_otg_queue_work(ci);
ci_otg_add_timer(ci, B_SESS_VLD);
} }
break; break;
case OTG_STATE_A_PERIPHERAL: case OTG_STATE_A_PERIPHERAL:
......
...@@ -62,8 +62,6 @@ ...@@ -62,8 +62,6 @@
/* SSEND time before SRP */ /* SSEND time before SRP */
#define TB_SSEND_SRP (1500) /* minimum 1.5 sec, section:5.1.2 */ #define TB_SSEND_SRP (1500) /* minimum 1.5 sec, section:5.1.2 */
#define TB_SESS_VLD (1000)
enum ci_otg_fsm_timer_index { enum ci_otg_fsm_timer_index {
/* /*
* CI specific timers, start from the end * CI specific timers, start from the end
...@@ -71,7 +69,6 @@ enum ci_otg_fsm_timer_index { ...@@ -71,7 +69,6 @@ enum ci_otg_fsm_timer_index {
*/ */
B_DATA_PLS = NUM_OTG_FSM_TIMERS, B_DATA_PLS = NUM_OTG_FSM_TIMERS,
B_SSEND_SRP, B_SSEND_SRP,
B_SESS_VLD,
NUM_CI_OTG_FSM_TIMERS, NUM_CI_OTG_FSM_TIMERS,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment