• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/isdn/hardware/mISDN/

Lines Matching defs:dch

82 	struct dchannel		dch;
97 card->dch.debug = debug;
202 schedule_event(&card->dch, FLG_PHCHANGE);
206 W6692_ph_bh(struct dchannel *dch)
208 struct w6692_hw *card = dch->hw;
212 dch->state = 0;
213 l1_event(dch->l1, HW_RESET_IND);
216 dch->state = 3;
217 l1_event(dch->l1, HW_DEACT_CNF);
220 dch->state = 3;
221 l1_event(dch->l1, HW_DEACT_IND);
224 dch->state = 4;
225 l1_event(dch->l1, HW_POWERUP_IND);
228 if (dch->state <= 5) {
229 dch->state = 5;
230 l1_event(dch->l1, ANYSIGNAL);
232 dch->state = 8;
233 l1_event(dch->l1, LOSTFRAMING);
237 dch->state = 6;
238 l1_event(dch->l1, INFO2);
241 dch->state = 7;
242 l1_event(dch->l1, INFO4_P8);
245 dch->state = 7;
246 l1_event(dch->l1, INFO4_P10);
249 pr_debug("%s: TE unknown state %02x dch state %02x\n",
250 card->name, card->state, dch->state);
253 pr_debug("%s: TE newstate %02x\n", card->name, dch->state);
259 struct dchannel *dch = &card->dch;
263 if (!dch->rx_skb) {
264 dch->rx_skb = mI_alloc_skb(card->dch.maxlen, GFP_ATOMIC);
265 if (!dch->rx_skb) {
271 if ((dch->rx_skb->len + count) >= dch->maxlen) {
273 dch->rx_skb->len + count);
277 ptr = skb_put(dch->rx_skb, count);
290 struct dchannel *dch = &card->dch;
296 if (!dch->tx_skb)
298 count = dch->tx_skb->len - dch->tx_idx;
305 ptr = dch->tx_skb->data + dch->tx_idx;
306 dch->tx_idx += count;
309 if (test_and_set_bit(FLG_BUSY_TIMER, &dch->Flags)) {
311 del_timer(&dch->timer);
313 init_timer(&dch->timer);
314 dch->timer.expires = jiffies + ((DBUSY_TIMER_VALUE * HZ)/1000);
315 add_timer(&dch->timer);
326 struct dchannel *dch = &card->dch;
328 if (test_and_clear_bit(FLG_BUSY_TIMER, &dch->Flags))
329 del_timer(&dch->timer);
331 if (test_and_clear_bit(FLG_L1_BUSY, &dch->Flags))
332 dchannel_sched_event(dch, D_CLEARBUSY);
334 if (test_bit(FLG_TX_BUSY, &dch->Flags)) {
336 dch->tx_idx = 0;
338 } else if (dch->tx_skb) { /* should not happen */
340 test_and_set_bit(FLG_TX_BUSY, &dch->Flags);
341 dch->tx_idx = 0;
345 if (get_next_dframe(dch))
360 card->dch.err_rx++;
366 card->dch.err_crc++;
372 card->dch.err_rx++;
375 if (card->dch.rx_skb)
376 dev_kfree_skb(card->dch.rx_skb);
377 card->dch.rx_skb = NULL;
384 recv_Dchannel(&card->dch);
390 if (test_and_clear_bit(FLG_BUSY_TIMER, &card->dch.Flags))
391 del_timer(&card->dch.timer);
392 if (card->dch.tx_skb && card->dch.tx_idx < card->dch.tx_skb->len) {
395 if (card->dch.tx_skb)
396 dev_kfree_skb(card->dch.tx_skb);
397 if (get_next_dframe(&card->dch))
405 struct dchannel *dch = &card->dch;
415 dch->err_tx++;
436 dch->state, v1);
765 dbusy_timer_handler(struct dchannel *dch)
767 struct w6692_hw *card = dch->hw;
771 if (test_bit(FLG_BUSY_TIMER, &dch->Flags)) {
778 test_and_set_bit(FLG_L1_BUSY, &dch->Flags);
781 test_and_clear_bit(FLG_BUSY_TIMER, &dch->Flags);
782 if (dch->tx_idx)
783 dch->tx_idx = 0;
798 card->dch.timer.function = (void *)dbusy_timer_handler;
799 card->dch.timer.data = (u_long)&card->dch;
800 init_timer(&card->dch.timer);
1044 struct dchannel *dch = container_of(dev, struct dchannel, dev);
1045 struct w6692_hw *card = container_of(dch, struct w6692_hw, dch);
1054 ret = dchannel_senddata(dch, skb);
1065 ret = l1_event(dch->l1, hh->prim);
1068 test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags);
1069 ret = l1_event(dch->l1, hh->prim);
1079 w6692_l1callback(struct dchannel *dch, u32 cmd)
1081 struct w6692_hw *card = container_of(dch, struct w6692_hw, dch);
1104 skb_queue_purge(&dch->squeue);
1105 if (dch->tx_skb) {
1106 dev_kfree_skb(dch->tx_skb);
1107 dch->tx_skb = NULL;
1109 dch->tx_idx = 0;
1110 if (dch->rx_skb) {
1111 dev_kfree_skb(dch->rx_skb);
1112 dch->rx_skb = NULL;
1114 test_and_clear_bit(FLG_TX_BUSY, &dch->Flags);
1115 if (test_and_clear_bit(FLG_BUSY_TIMER, &dch->Flags))
1116 del_timer(&dch->timer);
1124 test_and_set_bit(FLG_ACTIVE, &dch->Flags);
1125 _queue_data(&dch->dev.D, cmd, MISDN_ID_ANY, 0, NULL,
1129 test_and_clear_bit(FLG_ACTIVE, &dch->Flags);
1130 _queue_data(&dch->dev.D, cmd, MISDN_ID_ANY, 0, NULL,
1145 card->dch.dev.id, __builtin_return_address(1));
1151 rq->ch = &card->dch.dev.D;
1153 if (card->dch.state == 7)
1163 struct dchannel *dch = container_of(dev, struct dchannel, dev);
1164 struct w6692_hw *card = container_of(dch, struct w6692_hw, dch);
1183 dch->dev.id, __builtin_return_address(0));
1242 l1_event(card->dch.l1, CLOSE_CHANNEL);
1243 mISDN_unregister_device(&card->dch.dev);
1247 mISDN_freedchannel(&card->dch);
1269 mISDN_initdchannel(&card->dch, MAX_DFRAME_LEN_L1, W6692_ph_bh);
1270 card->dch.dev.Dprotocols = (1 << ISDN_P_TE_S0);
1271 card->dch.dev.D.send = w6692_l2l1D;
1272 card->dch.dev.D.ctrl = w6692_dctrl;
1273 card->dch.dev.Bprotocols = (1 << (ISDN_P_B_RAW & ISDN_P_B_MASK)) |
1275 card->dch.hw = card;
1276 card->dch.dev.nrbchan = 2;
1284 set_channelmap(i + 1, card->dch.dev.channelmap);
1285 list_add(&card->bc[i].bch.ch.list, &card->dch.dev.bchannels);
1290 err = mISDN_register_device(&card->dch.dev, &card->pdev->dev,
1297 err = create_l1(&card->dch, w6692_l1callback);
1306 mISDN_unregister_device(&card->dch.dev);
1312 mISDN_freedchannel(&card->dch);