Lines Matching refs:bch
901 pr_debug("%s: B%1d CEC %d us\n", hx->ip->name, hx->bch.nr, in waitforCEC()
904 pr_info("%s: B%1d CEC timeout\n", hx->ip->name, hx->bch.nr); in waitforCEC()
921 pr_debug("%s: B%1d XFW %d us\n", hx->ip->name, hx->bch.nr, in waitforXFW()
924 pr_info("%s: B%1d XFW timeout\n", hx->ip->name, hx->bch.nr); in waitforXFW()
944 pr_debug("%s: B%1d %d\n", hscx->ip->name, hscx->bch.nr, count); in hscx_empty_fifo()
945 if (test_bit(FLG_RX_OFF, &hscx->bch.Flags)) { in hscx_empty_fifo()
946 hscx->bch.dropcnt += count; in hscx_empty_fifo()
950 maxlen = bchannel_get_rxbuf(&hscx->bch, count); in hscx_empty_fifo()
953 if (hscx->bch.rx_skb) in hscx_empty_fifo()
954 skb_trim(hscx->bch.rx_skb, 0); in hscx_empty_fifo()
956 hscx->ip->name, hscx->bch.nr, count); in hscx_empty_fifo()
959 p = skb_put(hscx->bch.rx_skb, count); in hscx_empty_fifo()
970 if (hscx->bch.debug & DEBUG_HW_BFIFO) { in hscx_empty_fifo()
972 hscx->bch.nr, hscx->ip->name, count); in hscx_empty_fifo()
983 if (!hscx->bch.tx_skb) { in hscx_fill_fifo()
984 if (!test_bit(FLG_TX_EMPTY, &hscx->bch.Flags)) in hscx_fill_fifo()
989 memset(p, hscx->bch.fill[0], count); in hscx_fill_fifo()
991 count = hscx->bch.tx_skb->len - hscx->bch.tx_idx; in hscx_fill_fifo()
994 p = hscx->bch.tx_skb->data + hscx->bch.tx_idx; in hscx_fill_fifo()
996 more = test_bit(FLG_TRANSPARENT, &hscx->bch.Flags) ? 1 : 0; in hscx_fill_fifo()
1001 pr_debug("%s: B%1d %d/%d/%d\n", hscx->ip->name, hscx->bch.nr, in hscx_fill_fifo()
1002 count, hscx->bch.tx_idx, hscx->bch.tx_skb->len); in hscx_fill_fifo()
1003 hscx->bch.tx_idx += count; in hscx_fill_fifo()
1015 if (hscx->bch.tx_skb && (hscx->bch.debug & DEBUG_HW_BFIFO)) { in hscx_fill_fifo()
1017 hscx->bch.nr, hscx->ip->name, count); in hscx_fill_fifo()
1025 if (hx->bch.tx_skb && hx->bch.tx_idx < hx->bch.tx_skb->len) { in hscx_xpr()
1028 if (hx->bch.tx_skb) in hscx_xpr()
1029 dev_kfree_skb(hx->bch.tx_skb); in hscx_xpr()
1030 if (get_next_bframe(&hx->bch)) { in hscx_xpr()
1032 test_and_clear_bit(FLG_TX_EMPTY, &hx->bch.Flags); in hscx_xpr()
1033 } else if (test_bit(FLG_TX_EMPTY, &hx->bch.Flags)) { in hscx_xpr()
1049 pr_debug("%s: B%1d RSTAB %02x\n", hx->ip->name, hx->bch.nr, rstab); in ipac_rme()
1053 if (hx->bch.debug & DEBUG_HW_BCHANNEL) in ipac_rme()
1055 hx->ip->name, hx->bch.nr); in ipac_rme()
1058 if (hx->bch.debug & DEBUG_HW_BCHANNEL) in ipac_rme()
1060 hx->ip->name, hx->bch.nr, in ipac_rme()
1061 hx->bch.state); in ipac_rme()
1064 if (hx->bch.debug & DEBUG_HW_BCHANNEL) in ipac_rme()
1066 hx->ip->name, hx->bch.nr); in ipac_rme()
1079 if (!hx->bch.rx_skb) in ipac_rme()
1081 if (hx->bch.rx_skb->len < 2) { in ipac_rme()
1083 hx->ip->name, hx->bch.nr, hx->bch.rx_skb->len); in ipac_rme()
1084 skb_trim(hx->bch.rx_skb, 0); in ipac_rme()
1086 skb_trim(hx->bch.rx_skb, hx->bch.rx_skb->len - 1); in ipac_rme()
1087 recv_Bchannel(&hx->bch, 0, false); in ipac_rme()
1100 m = (hx->bch.nr & 1) ? IPAC__EXA : IPAC__EXB; in ipac_irq()
1104 hx->bch.nr, exirb); in ipac_irq()
1106 } else if (hx->bch.nr & 2) { /* HSCX B */ in ipac_irq()
1112 hx->bch.nr, exirb); in ipac_irq()
1120 hx->bch.nr, exirb); in ipac_irq()
1128 pr_debug("%s: B%1d ISTAB %02x\n", hx->ip->name, hx->bch.nr, istab); in ipac_irq()
1130 if (!test_bit(FLG_ACTIVE, &hx->bch.Flags)) in ipac_irq()
1138 if (test_bit(FLG_TRANSPARENT, &hx->bch.Flags)) in ipac_irq()
1139 recv_Bchannel(&hx->bch, 0, false); in ipac_irq()
1143 pr_debug("%s: B%1d RFO error\n", hx->ip->name, hx->bch.nr); in ipac_irq()
1151 if (test_bit(FLG_TRANSPARENT, &hx->bch.Flags)) { in ipac_irq()
1152 if (test_bit(FLG_FILLEMPTY, &hx->bch.Flags)) in ipac_irq()
1153 test_and_set_bit(FLG_TX_EMPTY, &hx->bch.Flags); in ipac_irq()
1158 hx->bch.nr, hx->bch.tx_idx); in ipac_irq()
1159 hx->bch.tx_idx = 0; in ipac_irq()
1233 '@' + hscx->bch.nr, hscx->bch.state, bprotocol, hscx->bch.nr); in hscx_mode()
1235 if (hscx->bch.nr & 1) { /* B1 and ICA */ in hscx_mode()
1248 test_and_clear_bit(FLG_HDLC, &hscx->bch.Flags); in hscx_mode()
1249 test_and_clear_bit(FLG_TRANSPARENT, &hscx->bch.Flags); in hscx_mode()
1256 test_and_set_bit(FLG_TRANSPARENT, &hscx->bch.Flags); in hscx_mode()
1263 test_and_set_bit(FLG_HDLC, &hscx->bch.Flags); in hscx_mode()
1284 test_and_clear_bit(FLG_HDLC, &hscx->bch.Flags); in hscx_mode()
1285 test_and_clear_bit(FLG_TRANSPARENT, &hscx->bch.Flags); in hscx_mode()
1292 test_and_set_bit(FLG_TRANSPARENT, &hscx->bch.Flags); in hscx_mode()
1299 test_and_set_bit(FLG_HDLC, &hscx->bch.Flags); in hscx_mode()
1320 test_and_clear_bit(FLG_HDLC, &hscx->bch.Flags); in hscx_mode()
1321 test_and_clear_bit(FLG_TRANSPARENT, &hscx->bch.Flags); in hscx_mode()
1328 test_and_set_bit(FLG_TRANSPARENT, &hscx->bch.Flags); in hscx_mode()
1335 test_and_set_bit(FLG_HDLC, &hscx->bch.Flags); in hscx_mode()
1344 hscx->bch.state = bprotocol; in hscx_mode()
1351 struct bchannel *bch = container_of(ch, struct bchannel, ch); in hscx_l2l1() local
1352 struct hscx_hw *hx = container_of(bch, struct hscx_hw, bch); in hscx_l2l1()
1360 ret = bchannel_senddata(bch, skb); in hscx_l2l1()
1369 if (!test_and_set_bit(FLG_ACTIVE, &bch->Flags)) in hscx_l2l1()
1380 mISDN_clear_bchannel(bch); in hscx_l2l1()
1398 channel_bctrl(struct bchannel *bch, struct mISDN_ctrl_req *cq) in channel_bctrl() argument
1400 return mISDN_ctrl_bchannel(bch, cq); in channel_bctrl()
1406 struct bchannel *bch = container_of(ch, struct bchannel, ch); in hscx_bctrl() local
1407 struct hscx_hw *hx = container_of(bch, struct hscx_hw, bch); in hscx_bctrl()
1414 test_and_clear_bit(FLG_OPEN, &bch->Flags); in hscx_bctrl()
1415 cancel_work_sync(&bch->workq); in hscx_bctrl()
1417 mISDN_clear_bchannel(bch); in hscx_bctrl()
1426 ret = channel_bctrl(bch, arg); in hscx_bctrl()
1460 if (hx->bch.debug & DEBUG_HW) in hscx_init()
1489 if (ipac->hscx[0].bch.debug & DEBUG_HW) in ipac_init()
1499 struct bchannel *bch; in open_bchannel() local
1505 bch = &ipac->hscx[rq->adr.channel - 1].bch; in open_bchannel()
1506 if (test_and_set_bit(FLG_OPEN, &bch->Flags)) in open_bchannel()
1508 test_and_clear_bit(FLG_FILLEMPTY, &bch->Flags); in open_bchannel()
1509 bch->ch.protocol = rq->protocol; in open_bchannel()
1510 rq->ch = &bch->ch; in open_bchannel()
1615 ipac->hscx[i].bch.nr = i + 1; in mISDNipac_init()
1617 list_add(&ipac->hscx[i].bch.ch.list, in mISDNipac_init()
1619 mISDN_initbchannel(&ipac->hscx[i].bch, MAX_DATA_MEM, in mISDNipac_init()
1621 ipac->hscx[i].bch.ch.nr = i + 1; in mISDNipac_init()
1622 ipac->hscx[i].bch.ch.send = &hscx_l2l1; in mISDNipac_init()
1623 ipac->hscx[i].bch.ch.ctrl = hscx_bctrl; in mISDNipac_init()
1624 ipac->hscx[i].bch.hw = hw; in mISDNipac_init()