Lines Matching refs:bch

55 	struct bchannel		bch;  member
109 card->bc[0].bch.debug = debug; in _set_debug()
110 card->bc[1].bch.debug = debug; in _set_debug()
190 struct tiger_hw *card = bc->bch.hw; in fill_mem()
194 bc->bch.nr, fill, cnt, idx, card->send.idx); in fill_mem()
195 if (bc->bch.nr & 2) { in fill_mem()
213 struct tiger_hw *card = bc->bch.hw; in mode_tiger()
216 bc->bch.nr, bc->bch.state, protocol); in mode_tiger()
219 if (bc->bch.state == ISDN_P_NONE) in mode_tiger()
222 bc->bch.state = protocol; in mode_tiger()
224 if ((card->bc[0].bch.state == ISDN_P_NONE) && in mode_tiger()
225 (card->bc[1].bch.state == ISDN_P_NONE)) { in mode_tiger()
230 test_and_clear_bit(FLG_HDLC, &bc->bch.Flags); in mode_tiger()
231 test_and_clear_bit(FLG_TRANSPARENT, &bc->bch.Flags); in mode_tiger()
237 test_and_set_bit(FLG_TRANSPARENT, &bc->bch.Flags); in mode_tiger()
238 bc->bch.state = protocol; in mode_tiger()
251 test_and_set_bit(FLG_HDLC, &bc->bch.Flags); in mode_tiger()
252 bc->bch.state = protocol; in mode_tiger()
378 struct tiger_hw *card = bc->bch.hw; in read_dma()
386 bc->bch.nr, idx); in read_dma()
389 if (test_bit(FLG_RX_OFF, &bc->bch.Flags)) { in read_dma()
390 bc->bch.dropcnt += cnt; in read_dma()
393 stat = bchannel_get_rxbuf(&bc->bch, cnt); in read_dma()
397 card->name, bc->bch.nr, cnt); in read_dma()
400 if (test_bit(FLG_TRANSPARENT, &bc->bch.Flags)) in read_dma()
401 p = skb_put(bc->bch.rx_skb, cnt); in read_dma()
407 if (bc->bch.nr & 2) in read_dma()
414 if (test_bit(FLG_TRANSPARENT, &bc->bch.Flags)) { in read_dma()
415 recv_Bchannel(&bc->bch, 0, false); in read_dma()
422 bc->bch.rx_skb->data, bc->bch.maxlen); in read_dma()
424 p = skb_put(bc->bch.rx_skb, stat); in read_dma()
427 "B%1d-recv %s %d ", bc->bch.nr, in read_dma()
433 recv_Bchannel(&bc->bch, 0, false); in read_dma()
434 stat = bchannel_get_rxbuf(&bc->bch, bc->bch.maxlen); in read_dma()
437 card->name, bc->bch.nr, cnt); in read_dma()
442 card->name, bc->bch.nr); in read_dma()
445 card->name, bc->bch.nr); in read_dma()
448 card->name, bc->bch.nr, bc->bch.maxlen); in read_dma()
470 if (test_bit(FLG_ACTIVE, &card->bc[0].bch.Flags)) in recv_tiger()
472 if (test_bit(FLG_ACTIVE, &card->bc[1].bch.Flags)) in recv_tiger()
494 __func__, bc->bch.nr, bc->free, bc->idx, card->send.idx); in resync()
502 struct tiger_hw *card = bc->bch.hw; in fill_hdlc_flag()
510 __func__, bc->bch.nr, bc->free, bc->txstate, in fill_hdlc_flag()
517 bc->bch.nr, count); in fill_hdlc_flag()
520 m = (bc->bch.nr & 1) ? 0xffffff00 : 0xffff00ff; in fill_hdlc_flag()
526 v |= (bc->bch.nr & 1) ? (u32)(p[i]) : ((u32)(p[i])) << 8; in fill_hdlc_flag()
531 bc->bch.nr, card->name, count); in fill_hdlc_flag()
539 struct tiger_hw *card = bc->bch.hw; in fill_dma()
546 if (!bc->bch.tx_skb) { in fill_dma()
547 if (!test_bit(FLG_TX_EMPTY, &bc->bch.Flags)) in fill_dma()
551 p = bc->bch.fill; in fill_dma()
553 count = bc->bch.tx_skb->len - bc->bch.tx_idx; in fill_dma()
557 card->name, __func__, bc->bch.nr, count, bc->free, in fill_dma()
558 bc->bch.tx_idx, bc->bch.tx_skb->len, bc->txstate, in fill_dma()
560 p = bc->bch.tx_skb->data + bc->bch.tx_idx; in fill_dma()
564 if (test_bit(FLG_HDLC, &bc->bch.Flags) && !fillempty) { in fill_dma()
568 bc->bch.nr, i, count); in fill_dma()
569 bc->bch.tx_idx += i; in fill_dma()
576 bc->bch.tx_idx += count; in fill_dma()
579 m = (bc->bch.nr & 1) ? 0xffffff00 : 0xffff00ff; in fill_dma()
582 if (!(bc->bch.nr & 1)) in fill_dma()
599 v |= (bc->bch.nr & 1) ? n : n << 8; in fill_dma()
605 bc->bch.nr, card->name, count); in fill_dma()
618 if (bc->bch.tx_skb && bc->bch.tx_idx < bc->bch.tx_skb->len) { in bc_next_frame()
621 if (bc->bch.tx_skb) in bc_next_frame()
622 dev_kfree_skb(bc->bch.tx_skb); in bc_next_frame()
623 if (get_next_bframe(&bc->bch)) { in bc_next_frame()
625 test_and_clear_bit(FLG_TX_EMPTY, &bc->bch.Flags); in bc_next_frame()
626 } else if (test_bit(FLG_TX_EMPTY, &bc->bch.Flags)) { in bc_next_frame()
628 } else if (test_bit(FLG_FILLEMPTY, &bc->bch.Flags)) { in bc_next_frame()
629 test_and_set_bit(FLG_TX_EMPTY, &bc->bch.Flags); in bc_next_frame()
647 bc->bch.nr, bc->txstate); in send_tiger_bc()
654 if (test_bit(FLG_HDLC, &bc->bch.Flags)) { in send_tiger_bc()
659 bc->bch.nr, bc->free, bc->idx, card->send.idx); in send_tiger_bc()
683 if (test_bit(FLG_ACTIVE, &card->bc[i].bch.Flags)) in send_tiger()
754 struct bchannel *bch = container_of(ch, struct bchannel, ch); in nj_l2l1B() local
755 struct tiger_ch *bc = container_of(bch, struct tiger_ch, bch); in nj_l2l1B()
756 struct tiger_hw *card = bch->hw; in nj_l2l1B()
763 ret = bchannel_senddata(bch, skb); in nj_l2l1B()
772 if (!test_and_set_bit(FLG_ACTIVE, &bch->Flags)) in nj_l2l1B()
783 mISDN_clear_bchannel(bch); in nj_l2l1B()
799 return mISDN_ctrl_bchannel(&bc->bch, cq); in channel_bctrl()
805 struct bchannel *bch = container_of(ch, struct bchannel, ch); in nj_bctrl() local
806 struct tiger_ch *bc = container_of(bch, struct tiger_ch, bch); in nj_bctrl()
807 struct tiger_hw *card = bch->hw; in nj_bctrl()
814 test_and_clear_bit(FLG_OPEN, &bch->Flags); in nj_bctrl()
815 cancel_work_sync(&bch->workq); in nj_bctrl()
817 mISDN_clear_bchannel(bch); in nj_bctrl()
865 struct bchannel *bch; in open_bchannel() local
871 bch = &card->bc[rq->adr.channel - 1].bch; in open_bchannel()
872 if (test_and_set_bit(FLG_OPEN, &bch->Flags)) in open_bchannel()
874 test_and_clear_bit(FLG_FILLEMPTY, &bch->Flags); in open_bchannel()
875 bch->ch.protocol = rq->protocol; in open_bchannel()
876 rq->ch = &bch->ch; in open_bchannel()
977 mISDN_freebchannel(&card->bc[i].bch); in nj_release()
1032 card->bc[i].bch.nr = i + 1; in setup_instance()
1034 mISDN_initbchannel(&card->bc[i].bch, MAX_DATA_MEM, in setup_instance()
1036 card->bc[i].bch.hw = card; in setup_instance()
1037 card->bc[i].bch.ch.send = nj_l2l1B; in setup_instance()
1038 card->bc[i].bch.ch.ctrl = nj_bctrl; in setup_instance()
1039 card->bc[i].bch.ch.nr = i + 1; in setup_instance()
1040 list_add(&card->bc[i].bch.ch.list, in setup_instance()
1042 card->bc[i].bch.hw = card; in setup_instance()