Lines Matching refs:bch

55 	struct bchannel		bch;
109 card->bc[0].bch.debug = debug;
110 card->bc[1].bch.debug = debug;
190 struct tiger_hw *card = bc->bch.hw;
194 bc->bch.nr, fill, cnt, idx, card->send.idx);
195 if (bc->bch.nr & 2) {
213 struct tiger_hw *card = bc->bch.hw;
216 bc->bch.nr, bc->bch.state, protocol);
219 if (bc->bch.state == ISDN_P_NONE)
222 bc->bch.state = protocol;
224 if ((card->bc[0].bch.state == ISDN_P_NONE) &&
225 (card->bc[1].bch.state == ISDN_P_NONE)) {
230 test_and_clear_bit(FLG_HDLC, &bc->bch.Flags);
231 test_and_clear_bit(FLG_TRANSPARENT, &bc->bch.Flags);
237 test_and_set_bit(FLG_TRANSPARENT, &bc->bch.Flags);
238 bc->bch.state = protocol;
251 test_and_set_bit(FLG_HDLC, &bc->bch.Flags);
252 bc->bch.state = protocol;
378 struct tiger_hw *card = bc->bch.hw;
386 bc->bch.nr, idx);
389 if (!bc->bch.rx_skb) {
390 bc->bch.rx_skb = mI_alloc_skb(bc->bch.maxlen, GFP_ATOMIC);
391 if (!bc->bch.rx_skb) {
393 card->name, bc->bch.nr);
398 if (test_bit(FLG_TRANSPARENT, &bc->bch.Flags)) {
399 if ((bc->bch.rx_skb->len + cnt) > bc->bch.maxlen) {
401 bc->bch.nr, bc->bch.rx_skb->len + cnt);
402 skb_trim(bc->bch.rx_skb, 0);
405 p = skb_put(bc->bch.rx_skb, cnt);
411 if (bc->bch.nr & 2)
419 if (test_bit(FLG_HDLC, &bc->bch.Flags)) {
421 bc->bch.rx_skb->data, bc->bch.maxlen);
423 p = skb_put(bc->bch.rx_skb, stat);
426 card->name, bc->bch.nr);
429 card->name, bc->bch.nr);
432 card->name, bc->bch.nr, bc->bch.maxlen);
439 bc->bch.nr, card->name, stat);
443 recv_Bchannel(&bc->bch, 0);
445 if (test_bit(FLG_HDLC, &bc->bch.Flags)) {
448 if (!bc->bch.rx_skb) {
449 bc->bch.rx_skb = mI_alloc_skb(bc->bch.maxlen,
451 if (!bc->bch.rx_skb) {
453 card->name, bc->bch.nr);
477 if (test_bit(FLG_ACTIVE, &card->bc[0].bch.Flags))
479 if (test_bit(FLG_ACTIVE, &card->bc[1].bch.Flags))
501 __func__, bc->bch.nr, bc->free, bc->idx, card->send.idx);
509 struct tiger_hw *card = bc->bch.hw;
517 __func__, bc->bch.nr, bc->free, bc->txstate,
524 bc->bch.nr, count);
527 m = (bc->bch.nr & 1) ? 0xffffff00 : 0xffff00ff;
533 v |= (bc->bch.nr & 1) ? (u32)(p[i]) : ((u32)(p[i])) << 8;
538 bc->bch.nr, card->name, count);
546 struct tiger_hw *card = bc->bch.hw;
553 count = bc->bch.tx_skb->len - bc->bch.tx_idx;
557 __func__, bc->bch.nr, count, bc->free, bc->bch.tx_idx,
558 bc->bch.tx_skb->len, bc->txstate, bc->idx, card->send.idx);
561 p = bc->bch.tx_skb->data + bc->bch.tx_idx;
562 if (test_bit(FLG_HDLC, &bc->bch.Flags)) {
566 bc->bch.nr, i, count);
567 bc->bch.tx_idx += i;
573 bc->bch.tx_idx += count;
576 m = (bc->bch.nr & 1) ? 0xffffff00 : 0xffff00ff;
582 v |= (bc->bch.nr & 1) ? (u32)(p[i]) : ((u32)(p[i])) << 8;
587 bc->bch.nr, card->name, count);
598 if (bc->bch.tx_skb && bc->bch.tx_idx < bc->bch.tx_skb->len)
601 if (bc->bch.tx_skb) {
603 if (test_bit(FLG_TRANSPARENT, &bc->bch.Flags))
604 confirm_Bsend(&bc->bch);
605 dev_kfree_skb(bc->bch.tx_skb);
607 if (get_next_bframe(&bc->bch))
624 bc->bch.nr, bc->txstate);
631 if (test_bit(FLG_HDLC, &bc->bch.Flags)) {
636 bc->bch.nr, bc->free, bc->idx, card->send.idx);
660 if (test_bit(FLG_ACTIVE, &card->bc[i].bch.Flags))
731 struct bchannel *bch = container_of(ch, struct bchannel, ch);
732 struct tiger_ch *bc = container_of(bch, struct tiger_ch, bch);
733 struct tiger_hw *card = bch->hw;
741 ret = bchannel_senddata(bch, skb);
747 if (!test_bit(FLG_TRANSPARENT, &bch->Flags))
754 if (!test_and_set_bit(FLG_ACTIVE, &bch->Flags))
765 mISDN_clear_bchannel(bch);
782 struct tiger_hw *card = bc->bch.hw;
801 struct bchannel *bch = container_of(ch, struct bchannel, ch);
802 struct tiger_ch *bc = container_of(bch, struct tiger_ch, bch);
803 struct tiger_hw *card = bch->hw;
810 test_and_clear_bit(FLG_OPEN, &bch->Flags);
811 if (test_bit(FLG_ACTIVE, &bch->Flags)) {
813 mISDN_freebchannel(bch);
814 test_and_clear_bit(FLG_TX_BUSY, &bch->Flags);
815 test_and_clear_bit(FLG_ACTIVE, &bch->Flags);
861 struct bchannel *bch;
867 bch = &card->bc[rq->adr.channel - 1].bch;
868 if (test_and_set_bit(FLG_OPEN, &bch->Flags))
870 test_and_clear_bit(FLG_FILLEMPTY, &bch->Flags);
871 bch->ch.protocol = rq->protocol;
872 rq->ch = &bch->ch;
973 mISDN_freebchannel(&card->bc[i].bch);
1028 card->bc[i].bch.nr = i + 1;
1030 mISDN_initbchannel(&card->bc[i].bch, MAX_DATA_MEM);
1031 card->bc[i].bch.hw = card;
1032 card->bc[i].bch.ch.send = nj_l2l1B;
1033 card->bc[i].bch.ch.ctrl = nj_bctrl;
1034 card->bc[i].bch.ch.nr = i + 1;
1035 list_add(&card->bc[i].bch.ch.list,
1037 card->bc[i].bch.hw = card;