Lines Matching refs:bcs

781 	if (csta->bcs->BC_Close != NULL) {  in closecard()
782 csta->bcs->BC_Close(csta->bcs + 1); in closecard()
783 csta->bcs->BC_Close(csta->bcs); in closecard()
1301 cs->HW_Flags, cs->bcs[0].Flag, cs->bcs[1].Flag); in HiSax_reportcard()
1303 cs->bcs[0].mode, cs->bcs[0].channel); in HiSax_reportcard()
1305 cs->bcs[1].mode, cs->bcs[1].channel); in HiSax_reportcard()
1311 cs->bcs[0].err_inv, cs->bcs[0].err_rdo, cs->bcs[0].err_crc, in HiSax_reportcard()
1312 cs->bcs[0].err_tx); in HiSax_reportcard()
1315 cs->bcs[1].err_inv, cs->bcs[1].err_rdo, cs->bcs[1].err_crc, in HiSax_reportcard()
1316 cs->bcs[1].err_tx); in HiSax_reportcard()
1321 cs->bcs[0].err_inv = 0; in HiSax_reportcard()
1322 cs->bcs[0].err_rdo = 0; in HiSax_reportcard()
1323 cs->bcs[0].err_crc = 0; in HiSax_reportcard()
1324 cs->bcs[0].err_tx = 0; in HiSax_reportcard()
1325 cs->bcs[1].err_inv = 0; in HiSax_reportcard()
1326 cs->bcs[1].err_rdo = 0; in HiSax_reportcard()
1327 cs->bcs[1].err_crc = 0; in HiSax_reportcard()
1328 cs->bcs[1].err_tx = 0; in HiSax_reportcard()
1579 static int hisax_bc_setstack(struct PStack *st, struct BCState *bcs);
1580 static void hisax_bc_close(struct BCState *bcs);
1622 cs->bcs[i].BC_SetStack = hisax_bc_setstack; in hisax_register()
1623 cs->bcs[i].BC_Close = hisax_bc_close; in hisax_register()
1673 static void hisax_b_sched_event(struct BCState *bcs, int event) in hisax_b_sched_event() argument
1675 test_and_set_bit(event, &bcs->event); in hisax_b_sched_event()
1676 schedule_work(&bcs->tqueue); in hisax_b_sched_event()
1738 struct BCState *bcs = b_if->bcs; in hisax_b_l1l2() local
1739 struct PStack *st = bcs->st; in hisax_b_l1l2()
1749 clear_bit(BC_FLG_BUSY, &bcs->Flag); in hisax_b_l1l2()
1750 skb_queue_purge(&bcs->squeue); in hisax_b_l1l2()
1751 bcs->hw.b_if = NULL; in hisax_b_l1l2()
1754 skb_queue_tail(&bcs->rqueue, arg); in hisax_b_l1l2()
1755 hisax_b_sched_event(bcs, B_RCVBUFREADY); in hisax_b_l1l2()
1758 bcs->tx_cnt -= (long)arg; in hisax_b_l1l2()
1759 if (test_bit(FLG_LLI_L1WAKEUP, &bcs->st->lli.flag)) { in hisax_b_l1l2()
1761 spin_lock_irqsave(&bcs->aclock, flags); in hisax_b_l1l2()
1762 bcs->ackcnt += (long)arg; in hisax_b_l1l2()
1763 spin_unlock_irqrestore(&bcs->aclock, flags); in hisax_b_l1l2()
1764 schedule_event(bcs, B_ACKPENDING); in hisax_b_l1l2()
1766 skb = skb_dequeue(&bcs->squeue); in hisax_b_l1l2()
1771 clear_bit(BC_FLG_BUSY, &bcs->Flag); in hisax_b_l1l2()
1821 struct BCState *bcs = st->l1.bcs; in hisax_b_l2l1() local
1822 struct hisax_b_if *b_if = bcs->hw.b_if; in hisax_b_l2l1()
1831 if (!test_and_set_bit(BC_FLG_BUSY, &bcs->Flag)) { in hisax_b_l2l1()
1834 skb_queue_tail(&bcs->squeue, arg); in hisax_b_l2l1()
1838 if (!test_bit(BC_FLG_BUSY, &bcs->Flag)) in hisax_b_l2l1()
1844 test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag); in hisax_b_l2l1()
1845 skb_queue_purge(&bcs->squeue); in hisax_b_l2l1()
1852 static int hisax_bc_setstack(struct PStack *st, struct BCState *bcs) in hisax_bc_setstack() argument
1857 bcs->channel = st->l1.bc; in hisax_bc_setstack()
1859 bcs->hw.b_if = hisax_d_if->b_if[st->l1.bc]; in hisax_bc_setstack()
1860 hisax_d_if->b_if[st->l1.bc]->bcs = bcs; in hisax_bc_setstack()
1862 st->l1.bcs = bcs; in hisax_bc_setstack()
1865 bcs->st = st; in hisax_bc_setstack()
1867 skb_queue_head_init(&bcs->rqueue); in hisax_bc_setstack()
1868 skb_queue_head_init(&bcs->squeue); in hisax_bc_setstack()
1872 static void hisax_bc_close(struct BCState *bcs) in hisax_bc_close() argument
1874 struct hisax_b_if *b_if = bcs->hw.b_if; in hisax_bc_close()