Lines Matching refs:isar
136 struct isar_reg *ir = cs->bcs[0].hw.isar.reg; in waitrecmsg()
177 if (cs->bcs[0].hw.isar.reg->iis == ISAR_IIS_VNR) { in ISARVersion()
198 struct isar_reg *ireg = cs->bcs[0].hw.isar.reg; in isar_load_firmware()
495 struct isar_reg *ireg = bcs->hw.isar.reg; in isar_rcv_frame()
522 if ((bcs->hw.isar.rcvidx + ireg->clsb) > HSCX_BUFMAX) { in isar_rcv_frame()
526 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
537 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
541 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
542 ptr = bcs->hw.isar.rcvbuf + bcs->hw.isar.rcvidx; in isar_rcv_frame()
543 bcs->hw.isar.rcvidx += ireg->clsb; in isar_rcv_frame()
546 if (bcs->hw.isar.rcvidx < 3) { /* last 2 bytes are the FCS */ in isar_rcv_frame()
549 bcs->hw.isar.rcvidx); in isar_rcv_frame()
550 } else if (!(skb = dev_alloc_skb(bcs->hw.isar.rcvidx - 2))) { in isar_rcv_frame()
553 memcpy(skb_put(skb, bcs->hw.isar.rcvidx - 2), in isar_rcv_frame()
554 bcs->hw.isar.rcvbuf, bcs->hw.isar.rcvidx - 2); in isar_rcv_frame()
558 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
563 if (bcs->hw.isar.state != STFAX_ACTIV) { in isar_rcv_frame()
567 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
570 if (bcs->hw.isar.cmd == PCTRL_CMD_FRM) { 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()
577 if ((skb = dev_alloc_skb(bcs->hw.isar.rcvidx))) { in isar_rcv_frame()
578 insert_dle((u_char *)skb_put(skb, bcs->hw.isar.rcvidx), in isar_rcv_frame()
579 bcs->hw.isar.rcvbuf, ireg->clsb); in isar_rcv_frame()
585 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
587 sendmsg(cs, SET_DPS(bcs->hw.isar.dpath) | in isar_rcv_frame()
590 bcs->hw.isar.state = STFAX_ESCAPE; in isar_rcv_frame()
598 if (bcs->hw.isar.cmd != PCTRL_CMD_FRH) { in isar_rcv_frame()
601 bcs->hw.isar.cmd); in isar_rcv_frame()
603 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
607 if ((bcs->hw.isar.rcvidx + ireg->clsb) > HSCX_BUFMAX) { in isar_rcv_frame()
611 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
616 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
620 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
622 ptr = bcs->hw.isar.rcvbuf + bcs->hw.isar.rcvidx; in isar_rcv_frame()
623 bcs->hw.isar.rcvidx += ireg->clsb; in isar_rcv_frame()
626 int len = bcs->hw.isar.rcvidx + in isar_rcv_frame()
627 dle_count(bcs->hw.isar.rcvbuf, bcs->hw.isar.rcvidx); in isar_rcv_frame()
628 if (bcs->hw.isar.rcvidx < 3) { /* last 2 bytes are the FCS */ in isar_rcv_frame()
631 bcs->hw.isar.rcvidx); in isar_rcv_frame()
633 bcs->hw.isar.rcvidx); in isar_rcv_frame()
638 bcs->hw.isar.rcvbuf, in isar_rcv_frame()
639 bcs->hw.isar.rcvidx); in isar_rcv_frame()
646 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
652 bcs->hw.isar.rcvidx = 0; in isar_rcv_frame()
653 sendmsg(cs, SET_DPS(bcs->hw.isar.dpath) | in isar_rcv_frame()
655 bcs->hw.isar.state = STFAX_ESCAPE; in isar_rcv_frame()
683 if (!(bcs->hw.isar.reg->bstat & in isar_fill_fifo()
684 (bcs->hw.isar.dpath == 1 ? BSTAT_RDM1 : BSTAT_RDM2))) in isar_fill_fifo()
686 if (bcs->tx_skb->len > bcs->hw.isar.mml) { in isar_fill_fifo()
688 count = bcs->hw.isar.mml; in isar_fill_fifo()
694 if (!bcs->hw.isar.txcnt) { in isar_fill_fifo()
697 (bcs->hw.isar.cmd == PCTRL_CMD_FTH)) { in isar_fill_fifo()
708 bcs->hw.isar.txcnt += count; in isar_fill_fifo()
715 sendmsg(cs, SET_DPS(bcs->hw.isar.dpath) | ISAR_HIS_SDATA, in isar_fill_fifo()
719 sendmsg(cs, SET_DPS(bcs->hw.isar.dpath) | ISAR_HIS_SDATA, in isar_fill_fifo()
723 if (bcs->hw.isar.state != STFAX_ACTIV) { in isar_fill_fifo()
726 } else if (bcs->hw.isar.cmd == PCTRL_CMD_FTH) { in isar_fill_fifo()
727 sendmsg(cs, SET_DPS(bcs->hw.isar.dpath) | ISAR_HIS_SDATA, in isar_fill_fifo()
729 } else if (bcs->hw.isar.cmd == PCTRL_CMD_FTM) { in isar_fill_fifo()
730 sendmsg(cs, SET_DPS(bcs->hw.isar.dpath) | ISAR_HIS_SDATA, in isar_fill_fifo()
750 if (cs->bcs[0].hw.isar.dpath == dpath) in sel_bcs_isar()
752 if (cs->bcs[1].hw.isar.dpath == dpath) in sel_bcs_isar()
769 bcs->ackcnt += bcs->hw.isar.txcnt; in send_frames()
774 if (bcs->hw.isar.cmd == PCTRL_CMD_FTH) { in send_frames()
778 } else if (bcs->hw.isar.cmd == PCTRL_CMD_FTM) { in send_frames()
786 bcs->hw.isar.txcnt = 0; in send_frames()
791 bcs->hw.isar.txcnt = 0; in send_frames()
799 sendmsg(bcs->cs, SET_DPS(bcs->hw.isar.dpath) | in send_frames()
848 if (!test_and_clear_bit(ISAR_RATE_REQ, &bcs->hw.isar.reg->Flags)) in isar_pump_status_rsp()
890 sprintf(bcs->hw.isar.conmsg, "%s %s", dmril[ril], dmrim[rim]); in isar_pump_status_rsp()
891 bcs->conmsg = bcs->hw.isar.conmsg; in isar_pump_status_rsp()
899 u_char dps = SET_DPS(bcs->hw.isar.dpath); in isar_pump_statev_modem()
932 test_and_set_bit(ISAR_RATE_REQ, &bcs->hw.isar.reg->Flags); in isar_pump_statev_modem()
984 u_char dps = SET_DPS(bcs->hw.isar.dpath); in isar_pump_statev_fax()
995 bcs->hw.isar.state = STFAX_READY; in isar_pump_statev_fax()
1004 if (bcs->hw.isar.state == STFAX_LINE) { in isar_pump_statev_fax()
1007 bcs->hw.isar.state = STFAX_CONT; in isar_pump_statev_fax()
1012 bcs->hw.isar.state); in isar_pump_statev_fax()
1016 if (bcs->hw.isar.state == STFAX_LINE) { in isar_pump_statev_fax()
1019 bcs->hw.isar.state = STFAX_CONT; in isar_pump_statev_fax()
1024 bcs->hw.isar.state); in isar_pump_statev_fax()
1028 if (bcs->hw.isar.state == STFAX_LINE) { in isar_pump_statev_fax()
1031 bcs->hw.isar.state = STFAX_CONT; in isar_pump_statev_fax()
1036 bcs->hw.isar.state); in isar_pump_statev_fax()
1040 if (bcs->hw.isar.state == STFAX_LINE) { in isar_pump_statev_fax()
1043 bcs->hw.isar.state = STFAX_CONT; in isar_pump_statev_fax()
1048 bcs->hw.isar.state); in isar_pump_statev_fax()
1052 if (bcs->hw.isar.state == STFAX_CONT) { in isar_pump_statev_fax()
1055 bcs->hw.isar.state = STFAX_ACTIV; in isar_pump_statev_fax()
1056 test_and_set_bit(ISAR_RATE_REQ, &bcs->hw.isar.reg->Flags); in isar_pump_statev_fax()
1058 if (bcs->hw.isar.cmd == PCTRL_CMD_FTH) { in isar_pump_statev_fax()
1061 del_timer(&bcs->hw.isar.ftimer); in isar_pump_statev_fax()
1063 bcs->hw.isar.ftimer.expires = in isar_pump_statev_fax()
1067 add_timer(&bcs->hw.isar.ftimer); in isar_pump_statev_fax()
1074 bcs->hw.isar.state); in isar_pump_statev_fax()
1084 if (bcs->hw.isar.state == STFAX_ESCAPE) { in isar_pump_statev_fax()
1086 switch (bcs->hw.isar.newcmd) { in isar_pump_statev_fax()
1088 bcs->hw.isar.state = STFAX_READY; in isar_pump_statev_fax()
1095 bcs->hw.isar.state = STFAX_SILDET; in isar_pump_statev_fax()
1101 p1 = bcs->hw.isar.mod = bcs->hw.isar.newmod; in isar_pump_statev_fax()
1102 bcs->hw.isar.newmod = 0; in isar_pump_statev_fax()
1103 bcs->hw.isar.cmd = bcs->hw.isar.newcmd; in isar_pump_statev_fax()
1104 bcs->hw.isar.newcmd = 0; in isar_pump_statev_fax()
1106 bcs->hw.isar.cmd, 1, &p1); in isar_pump_statev_fax()
1107 bcs->hw.isar.state = STFAX_LINE; in isar_pump_statev_fax()
1108 bcs->hw.isar.try_mod = 3; in isar_pump_statev_fax()
1112 debugl1(cs, "RSP_DISC unknown newcmd %x", bcs->hw.isar.newcmd); in isar_pump_statev_fax()
1115 } else if (bcs->hw.isar.state == STFAX_ACTIV) { in isar_pump_statev_fax()
1118 } else if (bcs->hw.isar.cmd == PCTRL_CMD_FRM) { in isar_pump_statev_fax()
1124 bcs->hw.isar.state = STFAX_READY; in isar_pump_statev_fax()
1126 bcs->hw.isar.state = STFAX_READY; in isar_pump_statev_fax()
1133 if (bcs->hw.isar.state == STFAX_SILDET) { in isar_pump_statev_fax()
1134 p1 = bcs->hw.isar.mod = bcs->hw.isar.newmod; in isar_pump_statev_fax()
1135 bcs->hw.isar.newmod = 0; in isar_pump_statev_fax()
1136 bcs->hw.isar.cmd = bcs->hw.isar.newcmd; in isar_pump_statev_fax()
1137 bcs->hw.isar.newcmd = 0; in isar_pump_statev_fax()
1139 bcs->hw.isar.cmd, 1, &p1); in isar_pump_statev_fax()
1140 bcs->hw.isar.state = STFAX_LINE; in isar_pump_statev_fax()
1141 bcs->hw.isar.try_mod = 3; in isar_pump_statev_fax()
1149 if (bcs->hw.isar.state == STFAX_LINE) { in isar_pump_statev_fax()
1152 bcs->hw.isar.try_mod); in isar_pump_statev_fax()
1153 if (bcs->hw.isar.try_mod--) { in isar_pump_statev_fax()
1155 bcs->hw.isar.cmd, 1, in isar_pump_statev_fax()
1156 &bcs->hw.isar.mod); in isar_pump_statev_fax()
1162 bcs->hw.isar.state = STFAX_ESCAPE; in isar_pump_statev_fax()
1176 struct isar_reg *ireg = cs->bcs[0].hw.isar.reg; in isar_int_main()
1286 u_char dps = SET_DPS(bcs->hw.isar.dpath); in setup_pump()
1321 bcs->hw.isar.state = STFAX_NULL; in setup_pump()
1322 bcs->hw.isar.newcmd = 0; in setup_pump()
1323 bcs->hw.isar.newmod = 0; in setup_pump()
1335 u_char dps = SET_DPS(bcs->hw.isar.dpath); in setup_sart()
1371 u_char dps = SET_DPS(bcs->hw.isar.dpath); in setup_iom2()
1380 msg[1] = msg[3] = bcs->hw.isar.dpath + 2; in setup_iom2()
1406 if (!bcs->hw.isar.dpath) in modeisar()
1414 &bcs->hw.isar.reg->Flags)) in modeisar()
1415 bcs->hw.isar.dpath = 2; in modeisar()
1417 &bcs->hw.isar.reg->Flags)) in modeisar()
1418 bcs->hw.isar.dpath = 1; in modeisar()
1428 &bcs->hw.isar.reg->Flags)) in modeisar()
1429 bcs->hw.isar.dpath = 1; in modeisar()
1440 bcs->hw.isar.dpath, bcs->mode, mode, bc); in modeisar()
1447 if (bcs->hw.isar.dpath == 1) in modeisar()
1448 test_and_clear_bit(ISAR_DP1_USE, &bcs->hw.isar.reg->Flags); in modeisar()
1449 else if (bcs->hw.isar.dpath == 2) in modeisar()
1450 test_and_clear_bit(ISAR_DP2_USE, &bcs->hw.isar.reg->Flags); in modeisar()
1451 bcs->hw.isar.dpath = 0; in modeisar()
1460 u_char dps = SET_DPS(bcs->hw.isar.dpath); in isar_pump_cmd()
1466 if (bcs->hw.isar.state == STFAX_READY) { in isar_pump_cmd()
1470 bcs->hw.isar.state = STFAX_LINE; in isar_pump_cmd()
1471 bcs->hw.isar.cmd = ctrl; in isar_pump_cmd()
1472 bcs->hw.isar.mod = para; in isar_pump_cmd()
1473 bcs->hw.isar.newmod = 0; in isar_pump_cmd()
1474 bcs->hw.isar.newcmd = 0; in isar_pump_cmd()
1475 bcs->hw.isar.try_mod = 3; in isar_pump_cmd()
1476 } else if ((bcs->hw.isar.state == STFAX_ACTIV) && in isar_pump_cmd()
1477 (bcs->hw.isar.cmd == PCTRL_CMD_FTM) && in isar_pump_cmd()
1478 (bcs->hw.isar.mod == para)) { in isar_pump_cmd()
1481 bcs->hw.isar.newmod = para; in isar_pump_cmd()
1482 bcs->hw.isar.newcmd = PCTRL_CMD_FTM; in isar_pump_cmd()
1485 bcs->hw.isar.state = STFAX_ESCAPE; in isar_pump_cmd()
1490 if (bcs->hw.isar.state == STFAX_READY) { in isar_pump_cmd()
1494 bcs->hw.isar.state = STFAX_LINE; in isar_pump_cmd()
1495 bcs->hw.isar.cmd = ctrl; in isar_pump_cmd()
1496 bcs->hw.isar.mod = para; in isar_pump_cmd()
1497 bcs->hw.isar.newmod = 0; in isar_pump_cmd()
1498 bcs->hw.isar.newcmd = 0; in isar_pump_cmd()
1499 bcs->hw.isar.try_mod = 3; in isar_pump_cmd()
1500 } else if ((bcs->hw.isar.state == STFAX_ACTIV) && in isar_pump_cmd()
1501 (bcs->hw.isar.cmd == PCTRL_CMD_FTH) && in isar_pump_cmd()
1502 (bcs->hw.isar.mod == para)) { in isar_pump_cmd()
1505 bcs->hw.isar.newmod = para; in isar_pump_cmd()
1506 bcs->hw.isar.newcmd = PCTRL_CMD_FTH; in isar_pump_cmd()
1509 bcs->hw.isar.state = STFAX_ESCAPE; in isar_pump_cmd()
1514 if (bcs->hw.isar.state == STFAX_READY) { in isar_pump_cmd()
1518 bcs->hw.isar.state = STFAX_LINE; in isar_pump_cmd()
1519 bcs->hw.isar.cmd = ctrl; in isar_pump_cmd()
1520 bcs->hw.isar.mod = para; in isar_pump_cmd()
1521 bcs->hw.isar.newmod = 0; in isar_pump_cmd()
1522 bcs->hw.isar.newcmd = 0; in isar_pump_cmd()
1523 bcs->hw.isar.try_mod = 3; in isar_pump_cmd()
1524 } else if ((bcs->hw.isar.state == STFAX_ACTIV) && in isar_pump_cmd()
1525 (bcs->hw.isar.cmd == PCTRL_CMD_FRM) && in isar_pump_cmd()
1526 (bcs->hw.isar.mod == para)) { in isar_pump_cmd()
1529 bcs->hw.isar.newmod = para; in isar_pump_cmd()
1530 bcs->hw.isar.newcmd = PCTRL_CMD_FRM; in isar_pump_cmd()
1533 bcs->hw.isar.state = STFAX_ESCAPE; in isar_pump_cmd()
1538 if (bcs->hw.isar.state == STFAX_READY) { in isar_pump_cmd()
1542 bcs->hw.isar.state = STFAX_LINE; in isar_pump_cmd()
1543 bcs->hw.isar.cmd = ctrl; in isar_pump_cmd()
1544 bcs->hw.isar.mod = para; in isar_pump_cmd()
1545 bcs->hw.isar.newmod = 0; in isar_pump_cmd()
1546 bcs->hw.isar.newcmd = 0; in isar_pump_cmd()
1547 bcs->hw.isar.try_mod = 3; in isar_pump_cmd()
1548 } else if ((bcs->hw.isar.state == STFAX_ACTIV) && in isar_pump_cmd()
1549 (bcs->hw.isar.cmd == PCTRL_CMD_FRH) && in isar_pump_cmd()
1550 (bcs->hw.isar.mod == para)) { in isar_pump_cmd()
1553 bcs->hw.isar.newmod = para; in isar_pump_cmd()
1554 bcs->hw.isar.newcmd = PCTRL_CMD_FRH; in isar_pump_cmd()
1557 bcs->hw.isar.state = STFAX_ESCAPE; in isar_pump_cmd()
1561 bcs->hw.isar.state = STFAX_NULL; in isar_pump_cmd()
1582 cs->bcs[i].hw.isar.mml = msg; in isar_setup()
1584 cs->bcs[i].hw.isar.dpath = i + 1; in isar_setup()
1608 bcs->hw.isar.txcnt = 0; in isar_l2l1()
1622 bcs->hw.isar.txcnt = 0; in isar_l2l1()
1637 bcs->hw.isar.conmsg[0] = 0; in isar_l2l1()
1694 kfree(bcs->hw.isar.rcvbuf); in close_isarstate()
1695 bcs->hw.isar.rcvbuf = NULL; in close_isarstate()
1706 del_timer(&bcs->hw.isar.ftimer); in close_isarstate()
1713 if (!(bcs->hw.isar.rcvbuf = kmalloc(HSCX_BUFMAX, GFP_ATOMIC))) { in open_isarstate()
1726 bcs->hw.isar.rcvidx = 0; in open_isarstate()
1781 if (bcs->hw.isar.state == STFAX_READY) { in isar_auxcmd()
1790 bcs->hw.isar.ftimer.expires = in isar_auxcmd()
1793 add_timer(&bcs->hw.isar.ftimer); in isar_auxcmd()
1803 ic->parm.aux.para[0], bcs->hw.isar.state); in isar_auxcmd()
1816 "%d", bcs->hw.isar.mod); in isar_auxcmd()
1905 cs->bcs[0].hw.isar.ftimer.function = (void *) ftimer_handler; in initisar()
1906 cs->bcs[0].hw.isar.ftimer.data = (long) &cs->bcs[0]; in initisar()
1907 init_timer(&cs->bcs[0].hw.isar.ftimer); in initisar()
1908 cs->bcs[1].hw.isar.ftimer.function = (void *) ftimer_handler; in initisar()
1909 cs->bcs[1].hw.isar.ftimer.data = (long) &cs->bcs[1]; in initisar()
1910 init_timer(&cs->bcs[1].hw.isar.ftimer); in initisar()