• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/isdn/hisax/

Lines Matching defs:bcs

40 modehscx(struct BCState *bcs, int mode, int bc)
42 struct IsdnCardState *cs = bcs->cs;
43 int hscx = bcs->hw.hscx.hscx;
48 bcs->mode = mode;
49 bcs->channel = bc;
67 test_bit(HW_IOM1, &cs->HW_Flags) ? 0x7 : bcs->hw.hscx.tsaxr0);
69 test_bit(HW_IOM1, &cs->HW_Flags) ? 0x7 : bcs->hw.hscx.tsaxr0);
71 cs->BC_Write_Reg(cs, hscx, HSCX_TSAX, bcs->hw.hscx.tsaxr1);
72 cs->BC_Write_Reg(cs, hscx, HSCX_TSAR, bcs->hw.hscx.tsaxr1);
97 struct BCState *bcs = st->l1.bcs;
103 spin_lock_irqsave(&bcs->cs->lock, flags);
104 if (bcs->tx_skb) {
105 skb_queue_tail(&bcs->squeue, skb);
107 bcs->tx_skb = skb;
108 test_and_set_bit(BC_FLG_BUSY, &bcs->Flag);
109 bcs->hw.hscx.count = 0;
110 bcs->cs->BC_Send_Data(bcs);
112 spin_unlock_irqrestore(&bcs->cs->lock, flags);
115 spin_lock_irqsave(&bcs->cs->lock, flags);
116 if (bcs->tx_skb) {
119 test_and_set_bit(BC_FLG_BUSY, &bcs->Flag);
120 bcs->tx_skb = skb;
121 bcs->hw.hscx.count = 0;
122 bcs->cs->BC_Send_Data(bcs);
124 spin_unlock_irqrestore(&bcs->cs->lock, flags);
127 if (!bcs->tx_skb) {
134 spin_lock_irqsave(&bcs->cs->lock, flags);
135 test_and_set_bit(BC_FLG_ACTIV, &bcs->Flag);
136 modehscx(bcs, st->l1.mode, st->l1.bc);
137 spin_unlock_irqrestore(&bcs->cs->lock, flags);
144 spin_lock_irqsave(&bcs->cs->lock, flags);
145 test_and_clear_bit(BC_FLG_ACTIV, &bcs->Flag);
146 test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag);
147 modehscx(bcs, 0, st->l1.bc);
148 spin_unlock_irqrestore(&bcs->cs->lock, flags);
155 close_hscxstate(struct BCState *bcs)
157 modehscx(bcs, 0, bcs->channel);
158 if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
159 kfree(bcs->hw.hscx.rcvbuf);
160 bcs->hw.hscx.rcvbuf = NULL;
161 kfree(bcs->blog);
162 bcs->blog = NULL;
163 skb_queue_purge(&bcs->rqueue);
164 skb_queue_purge(&bcs->squeue);
165 if (bcs->tx_skb) {
166 dev_kfree_skb_any(bcs->tx_skb);
167 bcs->tx_skb = NULL;
168 test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag);
174 open_hscxstate(struct IsdnCardState *cs, struct BCState *bcs)
176 if (!test_and_set_bit(BC_FLG_INIT, &bcs->Flag)) {
177 if (!(bcs->hw.hscx.rcvbuf = kmalloc(HSCX_BUFMAX, GFP_ATOMIC))) {
180 test_and_clear_bit(BC_FLG_INIT, &bcs->Flag);
183 if (!(bcs->blog = kmalloc(MAX_BLOG_SPACE, GFP_ATOMIC))) {
185 "HiSax: No memory for bcs->blog\n");
186 test_and_clear_bit(BC_FLG_INIT, &bcs->Flag);
187 kfree(bcs->hw.hscx.rcvbuf);
188 bcs->hw.hscx.rcvbuf = NULL;
191 skb_queue_head_init(&bcs->rqueue);
192 skb_queue_head_init(&bcs->squeue);
194 bcs->tx_skb = NULL;
195 test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag);
196 bcs->event = 0;
197 bcs->hw.hscx.rcvidx = 0;
198 bcs->tx_cnt = 0;
203 setstack_hscx(struct PStack *st, struct BCState *bcs)
205 bcs->channel = st->l1.bc;
206 if (open_hscxstate(st->l1.hardware, bcs))
208 st->l1.bcs = bcs;
211 bcs->st = st;
245 cs->bcs[0].BC_SetStack = setstack_hscx;
246 cs->bcs[1].BC_SetStack = setstack_hscx;
247 cs->bcs[0].BC_Close = close_hscxstate;
248 cs->bcs[1].BC_Close = close_hscxstate;
249 cs->bcs[0].hw.hscx.hscx = 0;
250 cs->bcs[1].hw.hscx.hscx = 1;
251 cs->bcs[0].hw.hscx.tsaxr0 = 0x2f;
252 cs->bcs[0].hw.hscx.tsaxr1 = 3;
253 cs->bcs[1].hw.hscx.tsaxr0 = 0x2f;
254 cs->bcs[1].hw.hscx.tsaxr1 = 3;
255 modehscx(cs->bcs, 0, 0);
256 modehscx(cs->bcs + 1, 0, 0);