Lines Matching refs:cs
22 add_arcofi_timer(struct IsdnCardState *cs) { in add_arcofi_timer() argument
23 if (test_and_set_bit(FLG_ARCOFI_TIMER, &cs->HW_Flags)) { in add_arcofi_timer()
24 del_timer(&cs->dc.isac.arcofitimer); in add_arcofi_timer()
26 cs->dc.isac.arcofitimer.expires = jiffies + ((ARCOFI_TIMER_VALUE * HZ) / 1000); in add_arcofi_timer()
27 add_timer(&cs->dc.isac.arcofitimer); in add_arcofi_timer()
31 send_arcofi(struct IsdnCardState *cs) { in send_arcofi() argument
32 add_arcofi_timer(cs); in send_arcofi()
33 cs->dc.isac.mon_txp = 0; in send_arcofi()
34 cs->dc.isac.mon_txc = cs->dc.isac.arcofi_list->len; in send_arcofi()
35 memcpy(cs->dc.isac.mon_tx, cs->dc.isac.arcofi_list->msg, cs->dc.isac.mon_txc); in send_arcofi()
36 switch (cs->dc.isac.arcofi_bc) { in send_arcofi()
38 case 1: cs->dc.isac.mon_tx[1] |= 0x40; in send_arcofi()
42 cs->dc.isac.mocr &= 0x0f; in send_arcofi()
43 cs->dc.isac.mocr |= 0xa0; in send_arcofi()
44 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in send_arcofi()
45 (void) cs->readisac(cs, ISAC_MOSR); in send_arcofi()
46 cs->writeisac(cs, ISAC_MOX1, cs->dc.isac.mon_tx[cs->dc.isac.mon_txp++]); in send_arcofi()
47 cs->dc.isac.mocr |= 0x10; in send_arcofi()
48 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in send_arcofi()
52 arcofi_fsm(struct IsdnCardState *cs, int event, void *data) { in arcofi_fsm() argument
53 if (cs->debug & L1_DEB_MONITOR) { in arcofi_fsm()
54 debugl1(cs, "arcofi state %d event %d", cs->dc.isac.arcofi_state, event); in arcofi_fsm()
57 cs->dc.isac.arcofi_state = ARCOFI_NOP; in arcofi_fsm()
58 test_and_set_bit(FLG_ARCOFI_ERROR, &cs->HW_Flags); in arcofi_fsm()
59 wake_up(&cs->dc.isac.arcofi_wait); in arcofi_fsm()
62 switch (cs->dc.isac.arcofi_state) { in arcofi_fsm()
65 cs->dc.isac.arcofi_list = data; in arcofi_fsm()
66 cs->dc.isac.arcofi_state = ARCOFI_TRANSMIT; in arcofi_fsm()
67 send_arcofi(cs); in arcofi_fsm()
72 if (cs->dc.isac.arcofi_list->receive) { in arcofi_fsm()
73 add_arcofi_timer(cs); in arcofi_fsm()
74 cs->dc.isac.arcofi_state = ARCOFI_RECEIVE; in arcofi_fsm()
76 if (cs->dc.isac.arcofi_list->next) { in arcofi_fsm()
77 cs->dc.isac.arcofi_list = in arcofi_fsm()
78 cs->dc.isac.arcofi_list->next; in arcofi_fsm()
79 send_arcofi(cs); in arcofi_fsm()
81 if (test_and_clear_bit(FLG_ARCOFI_TIMER, &cs->HW_Flags)) { in arcofi_fsm()
82 del_timer(&cs->dc.isac.arcofitimer); in arcofi_fsm()
84 cs->dc.isac.arcofi_state = ARCOFI_NOP; in arcofi_fsm()
85 wake_up(&cs->dc.isac.arcofi_wait); in arcofi_fsm()
92 if (cs->dc.isac.arcofi_list->next) { in arcofi_fsm()
93 cs->dc.isac.arcofi_list = in arcofi_fsm()
94 cs->dc.isac.arcofi_list->next; in arcofi_fsm()
95 cs->dc.isac.arcofi_state = ARCOFI_TRANSMIT; in arcofi_fsm()
96 send_arcofi(cs); in arcofi_fsm()
98 if (test_and_clear_bit(FLG_ARCOFI_TIMER, &cs->HW_Flags)) { in arcofi_fsm()
99 del_timer(&cs->dc.isac.arcofitimer); in arcofi_fsm()
101 cs->dc.isac.arcofi_state = ARCOFI_NOP; in arcofi_fsm()
102 wake_up(&cs->dc.isac.arcofi_wait); in arcofi_fsm()
107 debugl1(cs, "Arcofi unknown state %x", cs->dc.isac.arcofi_state); in arcofi_fsm()
115 struct IsdnCardState *cs = from_timer(cs, t, dc.isac.arcofitimer); in arcofi_timer() local
116 arcofi_fsm(cs, ARCOFI_TIMEOUT, NULL); in arcofi_timer()
120 clear_arcofi(struct IsdnCardState *cs) { in clear_arcofi() argument
121 if (test_and_clear_bit(FLG_ARCOFI_TIMER, &cs->HW_Flags)) { in clear_arcofi()
122 del_timer(&cs->dc.isac.arcofitimer); in clear_arcofi()
127 init_arcofi(struct IsdnCardState *cs) { in init_arcofi() argument
128 timer_setup(&cs->dc.isac.arcofitimer, arcofi_timer, 0); in init_arcofi()
129 init_waitqueue_head(&cs->dc.isac.arcofi_wait); in init_arcofi()
130 test_and_set_bit(HW_ARCOFI, &cs->HW_Flags); in init_arcofi()