Lines Matching refs:ireg
90 rcv_mbox(struct IsdnCardState *cs, struct isar_reg *ireg, u_char *msg) in rcv_mbox() argument
95 if (msg && ireg->clsb) { in rcv_mbox()
97 for (i = 1; i < ireg->clsb; i++) in rcv_mbox()
103 i = ireg->clsb; in rcv_mbox()
106 t += sprintf(t, "rcv_mbox cnt %d", ireg->clsb); in rcv_mbox()
107 QuickHex(t, &msg[ireg->clsb - i], (i > 64) ? 64 : i); in rcv_mbox()
119 get_irq_infos(struct IsdnCardState *cs, struct isar_reg *ireg) in get_irq_infos() argument
121 ireg->iis = cs->BC_Read_Reg(cs, 1, ISAR_IIS); in get_irq_infos()
122 ireg->cmsb = cs->BC_Read_Reg(cs, 1, ISAR_CTRL_H); in get_irq_infos()
123 ireg->clsb = cs->BC_Read_Reg(cs, 1, ISAR_CTRL_L); in get_irq_infos()
126 debugl1(cs, "irq_stat(%02x,%02x,%d)", ireg->iis, ireg->cmsb, in get_irq_infos()
127 ireg->clsb); in get_irq_infos()
198 struct isar_reg *ireg = cs->bcs[0].hw.isar.reg; in isar_load_firmware() local
266 if ((ireg->iis != ISAR_IIS_DKEY) || ireg->cmsb || len) { in isar_load_firmware()
268 ireg->iis, ireg->cmsb, len); in isar_load_firmware()
316 if ((ireg->iis != ISAR_IIS_FIRM) || ireg->cmsb || len) { in isar_load_firmware()
318 ireg->iis, ireg->cmsb, len); in isar_load_firmware()
332 ireg->bstat = 0; in isar_load_firmware()
342 if ((ireg->iis != ISAR_IIS_STDSP) || ireg->cmsb || len) { in isar_load_firmware()
344 ireg->iis, ireg->cmsb, len); in isar_load_firmware()
353 while ((!ireg->bstat) && cnt) { in isar_load_firmware()
362 ireg->bstat); in isar_load_firmware()
369 ireg->iis = 0; in isar_load_firmware()
376 while ((ireg->iis != ISAR_IIS_DIAG) && cnt) { in isar_load_firmware()
385 if ((ireg->cmsb == ISAR_CTRL_STST) && (ireg->clsb == 1) in isar_load_firmware()
386 && (ireg->par[0] == 0)) { in isar_load_firmware()
390 ireg->cmsb, ireg->clsb, ireg->par[0]); in isar_load_firmware()
394 ireg->iis = 0; in isar_load_firmware()
401 while ((ireg->iis != ISAR_IIS_DIAG) && cnt) { in isar_load_firmware()
410 if ((ireg->cmsb == ISAR_CTRL_SWVER) && (ireg->clsb == 1)) in isar_load_firmware()
412 ireg->par[0]); in isar_load_firmware()
415 ireg->cmsb, ireg->clsb, cnt); in isar_load_firmware()
495 struct isar_reg *ireg = bcs->hw.isar.reg; in isar_rcv_frame() local
497 if (!ireg->clsb) { in isar_rcv_frame()
505 ireg->iis, ireg->cmsb, ireg->clsb); in isar_rcv_frame()
507 ireg->iis, ireg->cmsb, ireg->clsb); in isar_rcv_frame()
512 if ((skb = dev_alloc_skb(ireg->clsb))) { in isar_rcv_frame()
513 rcv_mbox(cs, ireg, (u_char *)skb_put(skb, ireg->clsb)); in isar_rcv_frame()
522 if ((bcs->hw.isar.rcvidx + ireg->clsb) > HSCX_BUFMAX) { in isar_rcv_frame()
527 } else if (ireg->cmsb & HDLC_ERROR) { in isar_rcv_frame()
530 ireg->cmsb, ireg->clsb); in isar_rcv_frame()
532 if (ireg->cmsb & HDLC_ERR_RER) in isar_rcv_frame()
534 if (ireg->cmsb & HDLC_ERR_CER) in isar_rcv_frame()
540 if (ireg->cmsb & HDLC_FSD) in isar_rcv_frame()
543 bcs->hw.isar.rcvidx += ireg->clsb; in isar_rcv_frame()
544 rcv_mbox(cs, ireg, ptr); in isar_rcv_frame()
545 if (ireg->cmsb & HDLC_FED) { in isar_rcv_frame()
571 rcv_mbox(cs, ireg, bcs->hw.isar.rcvbuf); in isar_rcv_frame()
572 bcs->hw.isar.rcvidx = ireg->clsb + in isar_rcv_frame()
573 dle_count(bcs->hw.isar.rcvbuf, ireg->clsb); in isar_rcv_frame()
576 ireg->clsb, bcs->hw.isar.rcvidx); in isar_rcv_frame()
579 bcs->hw.isar.rcvbuf, ireg->clsb); in isar_rcv_frame()
582 if (ireg->cmsb & SART_NMD) { /* ABORT */ in isar_rcv_frame()
607 if ((bcs->hw.isar.rcvidx + ireg->clsb) > HSCX_BUFMAX) { in isar_rcv_frame()
612 } else if (ireg->cmsb & HDLC_ERROR) { in isar_rcv_frame()
615 ireg->cmsb, ireg->clsb); in isar_rcv_frame()
619 if (ireg->cmsb & HDLC_FSD) { in isar_rcv_frame()
623 bcs->hw.isar.rcvidx += ireg->clsb; in isar_rcv_frame()
624 rcv_mbox(cs, ireg, ptr); in isar_rcv_frame()
625 if (ireg->cmsb & HDLC_FED) { in isar_rcv_frame()
649 if (ireg->cmsb & SART_NMD) { /* ABORT */ in isar_rcv_frame()
843 isar_pump_status_rsp(struct BCState *bcs, struct isar_reg *ireg) { in isar_pump_status_rsp() argument
845 u_char ril = ireg->par[0]; in isar_pump_status_rsp()
855 switch (ireg->par[1]) { in isar_pump_status_rsp()
1176 struct isar_reg *ireg = cs->bcs[0].hw.isar.reg; in isar_int_main() local
1179 get_irq_infos(cs, ireg); in isar_int_main()
1180 switch (ireg->iis & ISAR_IIS_MSCMSD) { in isar_int_main()
1182 if ((bcs = sel_bcs_isar(cs, ireg->iis >> 6))) { in isar_int_main()
1186 ireg->iis, ireg->cmsb, ireg->clsb); in isar_int_main()
1192 ireg->bstat |= ireg->cmsb; in isar_int_main()
1193 check_send(cs, ireg->cmsb); in isar_int_main()
1197 if ((bcs = sel_bcs_isar(cs, ireg->iis >> 6))) { in isar_int_main()
1198 if (ireg->cmsb == BSTEV_TBO) in isar_int_main()
1200 if (ireg->cmsb == BSTEV_RBO) in isar_int_main()
1206 ireg->iis >> 6, ireg->cmsb); in isar_int_main()
1210 if ((bcs = sel_bcs_isar(cs, ireg->iis >> 6))) { in isar_int_main()
1211 rcv_mbox(cs, ireg, (u_char *)ireg->par); in isar_int_main()
1213 isar_pump_statev_modem(bcs, ireg->cmsb); in isar_int_main()
1215 isar_pump_statev_fax(bcs, ireg->cmsb); in isar_int_main()
1216 } else if (ireg->cmsb == PSEV_10MS_TIMER) { in isar_int_main()
1222 bcs->mode, ireg->cmsb); in isar_int_main()
1226 ireg->iis, ireg->cmsb, ireg->clsb); in isar_int_main()
1231 if ((bcs = sel_bcs_isar(cs, ireg->iis >> 6))) { in isar_int_main()
1232 rcv_mbox(cs, ireg, (u_char *)ireg->par); in isar_int_main()
1233 isar_pump_status_rsp(bcs, ireg); in isar_int_main()
1236 ireg->iis, ireg->cmsb, ireg->clsb); in isar_int_main()
1243 rcv_mbox(cs, ireg, (u_char *)ireg->par); in isar_int_main()
1249 ireg->iis, ireg->cmsb); in isar_int_main()
1250 QuickHex(tp, (u_char *)ireg->par, ireg->clsb); in isar_int_main()
1255 rcv_mbox(cs, ireg, debbuf); in isar_int_main()
1258 ireg->cmsb); in isar_int_main()
1261 rcv_mbox(cs, ireg, debbuf); in isar_int_main()
1264 ireg->iis, ireg->cmsb, ireg->clsb); in isar_int_main()