isac 128 drivers/isdn/hardware/mISDN/avmfritz.c struct isac_hw isac; isac 140 drivers/isdn/hardware/mISDN/avmfritz.c card->isac.dch.debug = debug; isac 638 drivers/isdn/hardware/mISDN/avmfritz.c mISDNisac_irq(&fc->isac, val); isac 667 drivers/isdn/hardware/mISDN/avmfritz.c mISDNisac_irq(&fc->isac, val); isac 794 drivers/isdn/hardware/mISDN/avmfritz.c ret = fc->isac.init(&fc->isac); isac 881 drivers/isdn/hardware/mISDN/avmfritz.c ret = fc->isac.ctrl(&fc->isac, HW_TESTLOOP, cq->channel); isac 884 drivers/isdn/hardware/mISDN/avmfritz.c ret = fc->isac.ctrl(&fc->isac, HW_TIMER3_VALUE, cq->p1); isac 928 drivers/isdn/hardware/mISDN/avmfritz.c err = fc->isac.open(&fc->isac, rq); isac 973 drivers/isdn/hardware/mISDN/avmfritz.c ASSIGN_FUNC(V1, ISAC, fc->isac); isac 974 drivers/isdn/hardware/mISDN/avmfritz.c fc->isac.type = IPAC_TYPE_ISAC; isac 985 drivers/isdn/hardware/mISDN/avmfritz.c ASSIGN_FUNC(V2, ISAC, fc->isac); isac 986 drivers/isdn/hardware/mISDN/avmfritz.c fc->isac.type = IPAC_TYPE_ISACX; isac 1009 drivers/isdn/hardware/mISDN/avmfritz.c card->isac.release(&card->isac); isac 1013 drivers/isdn/hardware/mISDN/avmfritz.c mISDN_unregister_device(&card->isac.dch.dev); isac 1037 drivers/isdn/hardware/mISDN/avmfritz.c card->isac.name = card->name; isac 1039 drivers/isdn/hardware/mISDN/avmfritz.c card->isac.hwlock = &card->lock; isac 1040 drivers/isdn/hardware/mISDN/avmfritz.c mISDNisac_init(&card->isac, card); isac 1042 drivers/isdn/hardware/mISDN/avmfritz.c card->isac.dch.dev.Bprotocols = (1 << (ISDN_P_B_RAW & ISDN_P_B_MASK)) | isac 1044 drivers/isdn/hardware/mISDN/avmfritz.c card->isac.dch.dev.D.ctrl = avm_dctrl; isac 1047 drivers/isdn/hardware/mISDN/avmfritz.c set_channelmap(i + 1, card->isac.dch.dev.channelmap); isac 1057 drivers/isdn/hardware/mISDN/avmfritz.c list_add(&card->bch[i].ch.list, &card->isac.dch.dev.bchannels); isac 1062 drivers/isdn/hardware/mISDN/avmfritz.c err = mISDN_register_device(&card->isac.dch.dev, &card->pdev->dev, isac 1072 drivers/isdn/hardware/mISDN/avmfritz.c mISDN_unregister_device(&card->isac.dch.dev); isac 1076 drivers/isdn/hardware/mISDN/avmfritz.c card->isac.release(&card->isac); isac 92 drivers/isdn/hardware/mISDN/iohelper.h ASSIGN_FUNC(typ, ISAC, target.isac); \ isac 56 drivers/isdn/hardware/mISDN/ipac.h struct isac_hw isac; isac 101 drivers/isdn/hardware/mISDN/mISDNinfineon.c struct _ioaddr isac; isac 226 drivers/isdn/hardware/mISDN/mISDNinfineon.c card->ipac.isac.dch.debug = debug; isac 257 drivers/isdn/hardware/mISDN/mISDNinfineon.c IOFUNC_IO(ISAC, inf_hw, isac.a.io) isac 259 drivers/isdn/hardware/mISDN/mISDNinfineon.c IOFUNC_IND(ISAC, inf_hw, isac.a.io) isac 261 drivers/isdn/hardware/mISDN/mISDNinfineon.c IOFUNC_MEMIO(ISAC, inf_hw, u32, isac.a.p) isac 550 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->ipac.isac.adf2 = 0x87; isac 717 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->cfg.mode; isac 718 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.ale = (u32)hw->cfg.start + DIVA_ISAC_ALE; isac 719 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.port = (u32)hw->cfg.start + DIVA_ISAC_PORT; isac 726 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->ipac.isac.off = 0x80; isac 727 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->addr.mode; isac 728 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.p = hw->addr.p; isac 734 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->addr.mode; isac 735 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.p = hw->addr.p; isac 742 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->ipac.isac.off = 0x80; isac 743 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->cfg.mode; isac 744 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.ale = (u32)hw->cfg.start + TIGER_IPAC_ALE; isac 745 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.port = (u32)hw->cfg.start + TIGER_IPAC_PORT; isac 758 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->ipac.isac.off = 0x80; isac 759 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.ale = (u32)hw->addr.start; isac 760 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.port = (u32)hw->addr.start + 1; isac 761 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->addr.mode; isac 768 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->addr.mode; isac 769 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.ale = (u32)hw->addr.start + NICCY_ISAC_ALE; isac 770 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.port = (u32)hw->addr.start + NICCY_ISAC_PORT; isac 777 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->ipac.isac.off = 0x80; isac 778 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.ale = (u32)hw->addr.start; isac 779 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.port = hw->isac.a.io.ale + 4; isac 780 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->addr.mode; isac 781 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.ale = hw->isac.a.io.ale; isac 782 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.port = hw->isac.a.io.port; isac 787 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->ipac.isac.off = 0x80; isac 788 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.ale = (u32)hw->addr.start + 0x08; isac 789 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.port = hw->isac.a.io.ale + 4; isac 790 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->addr.mode; isac 791 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.ale = hw->isac.a.io.ale; isac 792 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.port = hw->isac.a.io.port; isac 797 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->ipac.isac.off = 0x80; isac 798 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.ale = (u32)hw->addr.start + 0x10; isac 799 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.port = hw->isac.a.io.ale + 4; isac 800 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->addr.mode; isac 801 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.ale = hw->isac.a.io.ale; isac 802 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.port = hw->isac.a.io.port; isac 807 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->ipac.isac.off = 0x80; isac 808 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.ale = (u32)hw->addr.start + 0x20; isac 809 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.port = hw->isac.a.io.ale + 4; isac 810 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->addr.mode; isac 811 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.ale = hw->isac.a.io.ale; isac 812 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.port = hw->isac.a.io.port; isac 817 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->ipac.isac.off = 0x80; isac 818 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->addr.mode; isac 819 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.port = (u32)hw->addr.start; isac 821 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.port = hw->isac.a.io.port; isac 825 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->ipac.isac.off = 0x80; isac 826 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.mode = hw->addr.mode; isac 827 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.ale = (u32)hw->addr.start; isac 828 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->isac.a.io.port = (u32)hw->addr.start + GAZEL_IPAC_DATA_PORT; isac 830 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.ale = hw->isac.a.io.ale; isac 831 drivers/isdn/hardware/mISDN/mISDNinfineon.c hw->hscx.a.io.port = hw->isac.a.io.port; isac 836 drivers/isdn/hardware/mISDN/mISDNinfineon.c switch (hw->isac.mode) { isac 860 drivers/isdn/hardware/mISDN/mISDNinfineon.c card->ipac.isac.release(&card->ipac.isac); isac 862 drivers/isdn/hardware/mISDN/mISDNinfineon.c mISDN_unregister_device(&card->ipac.isac.dch.dev); isac 901 drivers/isdn/hardware/mISDN/mISDNinfineon.c card->ipac.isac.name = card->name; isac 905 drivers/isdn/hardware/mISDN/mISDNinfineon.c card->ipac.isac.hwlock = &card->lock; isac 913 drivers/isdn/hardware/mISDN/mISDNinfineon.c card->ipac.isac.dch.dev.Bprotocols = isac 916 drivers/isdn/hardware/mISDN/mISDNinfineon.c if (card->ipac.isac.dch.dev.Bprotocols == 0) isac 919 drivers/isdn/hardware/mISDN/mISDNinfineon.c err = mISDN_register_device(&card->ipac.isac.dch.dev, isac 930 drivers/isdn/hardware/mISDN/mISDNinfineon.c mISDN_unregister_device(&card->ipac.isac.dch.dev); isac 34 drivers/isdn/hardware/mISDN/mISDNipac.c ph_command(struct isac_hw *isac, u8 command) isac 36 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ph_command %x\n", isac->name, command); isac 37 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->type & IPAC_TYPE_ISACX) isac 38 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISACX_CIX0, (command << 4) | 0xE); isac 40 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_CIX0, (command << 2) | 3); isac 44 drivers/isdn/hardware/mISDN/mISDNipac.c isac_ph_state_change(struct isac_hw *isac) isac 46 drivers/isdn/hardware/mISDN/mISDNipac.c switch (isac->state) { isac 49 drivers/isdn/hardware/mISDN/mISDNipac.c ph_command(isac, ISAC_CMD_DUI); isac 51 drivers/isdn/hardware/mISDN/mISDNipac.c schedule_event(&isac->dch, FLG_PHCHANGE); isac 57 drivers/isdn/hardware/mISDN/mISDNipac.c struct isac_hw *isac = container_of(dch, struct isac_hw, dch); isac 59 drivers/isdn/hardware/mISDN/mISDNipac.c switch (isac->state) { isac 100 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: TE newstate %x\n", isac->name, dch->state); isac 104 drivers/isdn/hardware/mISDN/mISDNipac.c isac_empty_fifo(struct isac_hw *isac, int count) isac 108 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: %s %d\n", isac->name, __func__, count); isac 110 drivers/isdn/hardware/mISDN/mISDNipac.c if (!isac->dch.rx_skb) { isac 111 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.rx_skb = mI_alloc_skb(isac->dch.maxlen, GFP_ATOMIC); isac 112 drivers/isdn/hardware/mISDN/mISDNipac.c if (!isac->dch.rx_skb) { isac 113 drivers/isdn/hardware/mISDN/mISDNipac.c pr_info("%s: D receive out of memory\n", isac->name); isac 114 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_CMDR, 0x80); isac 118 drivers/isdn/hardware/mISDN/mISDNipac.c if ((isac->dch.rx_skb->len + count) >= isac->dch.maxlen) { isac 119 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: %s overrun %d\n", isac->name, __func__, isac 120 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.rx_skb->len + count); isac 121 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_CMDR, 0x80); isac 124 drivers/isdn/hardware/mISDN/mISDNipac.c ptr = skb_put(isac->dch.rx_skb, count); isac 125 drivers/isdn/hardware/mISDN/mISDNipac.c isac->read_fifo(isac->dch.hw, isac->off, ptr, count); isac 126 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_CMDR, 0x80); isac 127 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->dch.debug & DEBUG_HW_DFIFO) { isac 131 drivers/isdn/hardware/mISDN/mISDNipac.c isac->name, count); isac 137 drivers/isdn/hardware/mISDN/mISDNipac.c isac_fill_fifo(struct isac_hw *isac) isac 142 drivers/isdn/hardware/mISDN/mISDNipac.c if (!isac->dch.tx_skb) isac 144 drivers/isdn/hardware/mISDN/mISDNipac.c count = isac->dch.tx_skb->len - isac->dch.tx_idx; isac 153 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: %s %d\n", isac->name, __func__, count); isac 154 drivers/isdn/hardware/mISDN/mISDNipac.c ptr = isac->dch.tx_skb->data + isac->dch.tx_idx; isac 155 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.tx_idx += count; isac 156 drivers/isdn/hardware/mISDN/mISDNipac.c isac->write_fifo(isac->dch.hw, isac->off, ptr, count); isac 157 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_CMDR, more ? 0x8 : 0xa); isac 158 drivers/isdn/hardware/mISDN/mISDNipac.c if (test_and_set_bit(FLG_BUSY_TIMER, &isac->dch.Flags)) { isac 159 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: %s dbusytimer running\n", isac->name, __func__); isac 160 drivers/isdn/hardware/mISDN/mISDNipac.c del_timer(&isac->dch.timer); isac 162 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.timer.expires = jiffies + ((DBUSY_TIMER_VALUE * HZ)/1000); isac 163 drivers/isdn/hardware/mISDN/mISDNipac.c add_timer(&isac->dch.timer); isac 164 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->dch.debug & DEBUG_HW_DFIFO) { isac 168 drivers/isdn/hardware/mISDN/mISDNipac.c isac->name, count); isac 174 drivers/isdn/hardware/mISDN/mISDNipac.c isac_rme_irq(struct isac_hw *isac) isac 178 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_RSTA); isac 181 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC RDO\n", isac->name); isac 183 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.err_rx++; isac 187 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC CRC error\n", isac->name); isac 189 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.err_crc++; isac 192 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_CMDR, 0x80); isac 193 drivers/isdn/hardware/mISDN/mISDNipac.c dev_kfree_skb(isac->dch.rx_skb); isac 194 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.rx_skb = NULL; isac 196 drivers/isdn/hardware/mISDN/mISDNipac.c count = ReadISAC(isac, ISAC_RBCL) & 0x1f; isac 199 drivers/isdn/hardware/mISDN/mISDNipac.c isac_empty_fifo(isac, count); isac 200 drivers/isdn/hardware/mISDN/mISDNipac.c recv_Dchannel(&isac->dch); isac 205 drivers/isdn/hardware/mISDN/mISDNipac.c isac_xpr_irq(struct isac_hw *isac) isac 207 drivers/isdn/hardware/mISDN/mISDNipac.c if (test_and_clear_bit(FLG_BUSY_TIMER, &isac->dch.Flags)) isac 208 drivers/isdn/hardware/mISDN/mISDNipac.c del_timer(&isac->dch.timer); isac 209 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->dch.tx_skb && isac->dch.tx_idx < isac->dch.tx_skb->len) { isac 210 drivers/isdn/hardware/mISDN/mISDNipac.c isac_fill_fifo(isac); isac 212 drivers/isdn/hardware/mISDN/mISDNipac.c dev_kfree_skb(isac->dch.tx_skb); isac 213 drivers/isdn/hardware/mISDN/mISDNipac.c if (get_next_dframe(&isac->dch)) isac 214 drivers/isdn/hardware/mISDN/mISDNipac.c isac_fill_fifo(isac); isac 219 drivers/isdn/hardware/mISDN/mISDNipac.c isac_retransmit(struct isac_hw *isac) isac 221 drivers/isdn/hardware/mISDN/mISDNipac.c if (test_and_clear_bit(FLG_BUSY_TIMER, &isac->dch.Flags)) isac 222 drivers/isdn/hardware/mISDN/mISDNipac.c del_timer(&isac->dch.timer); isac 223 drivers/isdn/hardware/mISDN/mISDNipac.c if (test_bit(FLG_TX_BUSY, &isac->dch.Flags)) { isac 225 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.tx_idx = 0; isac 226 drivers/isdn/hardware/mISDN/mISDNipac.c isac_fill_fifo(isac); isac 227 drivers/isdn/hardware/mISDN/mISDNipac.c } else if (isac->dch.tx_skb) { /* should not happen */ isac 228 drivers/isdn/hardware/mISDN/mISDNipac.c pr_info("%s: tx_skb exist but not busy\n", isac->name); isac 229 drivers/isdn/hardware/mISDN/mISDNipac.c test_and_set_bit(FLG_TX_BUSY, &isac->dch.Flags); isac 230 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.tx_idx = 0; isac 231 drivers/isdn/hardware/mISDN/mISDNipac.c isac_fill_fifo(isac); isac 233 drivers/isdn/hardware/mISDN/mISDNipac.c pr_info("%s: ISAC XDU no TX_BUSY\n", isac->name); isac 234 drivers/isdn/hardware/mISDN/mISDNipac.c if (get_next_dframe(&isac->dch)) isac 235 drivers/isdn/hardware/mISDN/mISDNipac.c isac_fill_fifo(isac); isac 240 drivers/isdn/hardware/mISDN/mISDNipac.c isac_mos_irq(struct isac_hw *isac) isac 245 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_MOSR); isac 246 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC MOSR %02x\n", isac->name, val); isac 249 drivers/isdn/hardware/mISDN/mISDNipac.c if (!isac->mon_rx) { isac 250 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx = kmalloc(MAX_MON_FRAME, GFP_ATOMIC); isac 251 drivers/isdn/hardware/mISDN/mISDNipac.c if (!isac->mon_rx) { isac 253 drivers/isdn/hardware/mISDN/mISDNipac.c isac->name); isac 254 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr &= 0xf0; isac 255 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr |= 0x0a; isac 256 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 259 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rxp = 0; isac 261 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->mon_rxp >= MAX_MON_FRAME) { isac 262 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr &= 0xf0; isac 263 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr |= 0x0a; isac 264 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 265 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rxp = 0; isac 266 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC MON RX overflow!\n", isac->name); isac 269 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx[isac->mon_rxp++] = ReadISAC(isac, ISAC_MOR0); isac 270 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC MOR0 %02x\n", isac->name, isac 271 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx[isac->mon_rxp - 1]); isac 272 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->mon_rxp == 1) { isac 273 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr |= 0x04; isac 274 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 279 drivers/isdn/hardware/mISDN/mISDNipac.c if (!isac->mon_rx) { isac 280 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx = kmalloc(MAX_MON_FRAME, GFP_ATOMIC); isac 281 drivers/isdn/hardware/mISDN/mISDNipac.c if (!isac->mon_rx) { isac 283 drivers/isdn/hardware/mISDN/mISDNipac.c isac->name); isac 284 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr &= 0x0f; isac 285 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr |= 0xa0; isac 286 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 289 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rxp = 0; isac 291 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->mon_rxp >= MAX_MON_FRAME) { isac 292 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr &= 0x0f; isac 293 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr |= 0xa0; isac 294 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 295 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rxp = 0; isac 296 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC MON RX overflow!\n", isac->name); isac 299 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx[isac->mon_rxp++] = ReadISAC(isac, ISAC_MOR1); isac 300 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC MOR1 %02x\n", isac->name, isac 301 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx[isac->mon_rxp - 1]); isac 302 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr |= 0x40; isac 303 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 307 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr &= 0xf0; isac 308 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 309 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr |= 0x0a; isac 310 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 311 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->monitor) { isac 312 drivers/isdn/hardware/mISDN/mISDNipac.c ret = isac->monitor(isac->dch.hw, MONITOR_RX_0, isac 313 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx, isac->mon_rxp); isac 315 drivers/isdn/hardware/mISDN/mISDNipac.c kfree(isac->mon_rx); isac 318 drivers/isdn/hardware/mISDN/mISDNipac.c isac->name, isac->mon_rxp); isac 319 drivers/isdn/hardware/mISDN/mISDNipac.c kfree(isac->mon_rx); isac 321 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx = NULL; isac 322 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rxp = 0; isac 325 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr &= 0x0f; isac 326 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 327 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr |= 0xa0; isac 328 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 329 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->monitor) { isac 330 drivers/isdn/hardware/mISDN/mISDNipac.c ret = isac->monitor(isac->dch.hw, MONITOR_RX_1, isac 331 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx, isac->mon_rxp); isac 333 drivers/isdn/hardware/mISDN/mISDNipac.c kfree(isac->mon_rx); isac 336 drivers/isdn/hardware/mISDN/mISDNipac.c isac->name, isac->mon_rxp); isac 337 drivers/isdn/hardware/mISDN/mISDNipac.c kfree(isac->mon_rx); isac 339 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx = NULL; isac 340 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rxp = 0; isac 343 drivers/isdn/hardware/mISDN/mISDNipac.c if ((!isac->mon_tx) || (isac->mon_txc && isac 344 drivers/isdn/hardware/mISDN/mISDNipac.c (isac->mon_txp >= isac->mon_txc) && !(val & 0x08))) { isac 345 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr &= 0xf0; isac 346 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 347 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr |= 0x0a; isac 348 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 349 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->mon_txc && (isac->mon_txp >= isac->mon_txc)) { isac 350 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->monitor) isac 351 drivers/isdn/hardware/mISDN/mISDNipac.c isac->monitor(isac->dch.hw, isac 354 drivers/isdn/hardware/mISDN/mISDNipac.c kfree(isac->mon_tx); isac 355 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_tx = NULL; isac 356 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_txc = 0; isac 357 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_txp = 0; isac 360 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->mon_txc && (isac->mon_txp >= isac->mon_txc)) { isac 361 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->monitor) isac 362 drivers/isdn/hardware/mISDN/mISDNipac.c isac->monitor(isac->dch.hw, isac 364 drivers/isdn/hardware/mISDN/mISDNipac.c kfree(isac->mon_tx); isac 365 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_tx = NULL; isac 366 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_txc = 0; isac 367 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_txp = 0; isac 370 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOX0, isac->mon_tx[isac->mon_txp++]); isac 371 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC %02x -> MOX0\n", isac->name, isac 372 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_tx[isac->mon_txp - 1]); isac 376 drivers/isdn/hardware/mISDN/mISDNipac.c if ((!isac->mon_tx) || (isac->mon_txc && isac 377 drivers/isdn/hardware/mISDN/mISDNipac.c (isac->mon_txp >= isac->mon_txc) && !(val & 0x80))) { isac 378 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr &= 0x0f; isac 379 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 380 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr |= 0xa0; isac 381 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOCR, isac->mocr); isac 382 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->mon_txc && (isac->mon_txp >= isac->mon_txc)) { isac 383 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->monitor) isac 384 drivers/isdn/hardware/mISDN/mISDNipac.c isac->monitor(isac->dch.hw, isac 387 drivers/isdn/hardware/mISDN/mISDNipac.c kfree(isac->mon_tx); isac 388 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_tx = NULL; isac 389 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_txc = 0; isac 390 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_txp = 0; isac 393 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->mon_txc && (isac->mon_txp >= isac->mon_txc)) { isac 394 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->monitor) isac 395 drivers/isdn/hardware/mISDN/mISDNipac.c isac->monitor(isac->dch.hw, isac 397 drivers/isdn/hardware/mISDN/mISDNipac.c kfree(isac->mon_tx); isac 398 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_tx = NULL; isac 399 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_txc = 0; isac 400 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_txp = 0; isac 403 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MOX1, isac->mon_tx[isac->mon_txp++]); isac 404 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC %02x -> MOX1\n", isac->name, isac 405 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_tx[isac->mon_txp - 1]); isac 413 drivers/isdn/hardware/mISDN/mISDNipac.c isac_cisq_irq(struct isac_hw *isac) { isac 416 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_CIR0); isac 417 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC CIR0 %02X\n", isac->name, val); isac 419 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ph_state change %x->%x\n", isac->name, isac 420 drivers/isdn/hardware/mISDN/mISDNipac.c isac->state, (val >> 2) & 0xf); isac 421 drivers/isdn/hardware/mISDN/mISDNipac.c isac->state = (val >> 2) & 0xf; isac 422 drivers/isdn/hardware/mISDN/mISDNipac.c isac_ph_state_change(isac); isac 425 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_CIR1); isac 426 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC CIR1 %02X\n", isac->name, val); isac 431 drivers/isdn/hardware/mISDN/mISDNipac.c isacsx_cic_irq(struct isac_hw *isac) isac 435 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISACX_CIR0); isac 436 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISACX CIR0 %02X\n", isac->name, val); isac 438 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ph_state change %x->%x\n", isac->name, isac 439 drivers/isdn/hardware/mISDN/mISDNipac.c isac->state, val >> 4); isac 440 drivers/isdn/hardware/mISDN/mISDNipac.c isac->state = val >> 4; isac 441 drivers/isdn/hardware/mISDN/mISDNipac.c isac_ph_state_change(isac); isac 446 drivers/isdn/hardware/mISDN/mISDNipac.c isacsx_rme_irq(struct isac_hw *isac) isac 451 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISACX_RSTAD); isac 457 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: RSTAD %#x, dropped\n", isac->name, val); isac 460 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.err_rx++; isac 462 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.err_crc++; isac 464 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISACX_CMDRD, ISACX_CMDRD_RMC); isac 465 drivers/isdn/hardware/mISDN/mISDNipac.c dev_kfree_skb(isac->dch.rx_skb); isac 466 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.rx_skb = NULL; isac 468 drivers/isdn/hardware/mISDN/mISDNipac.c count = ReadISAC(isac, ISACX_RBCLD) & 0x1f; isac 471 drivers/isdn/hardware/mISDN/mISDNipac.c isac_empty_fifo(isac, count); isac 472 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->dch.rx_skb) { isac 473 drivers/isdn/hardware/mISDN/mISDNipac.c skb_trim(isac->dch.rx_skb, isac->dch.rx_skb->len - 1); isac 474 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: dchannel received %d\n", isac->name, isac 475 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.rx_skb->len); isac 476 drivers/isdn/hardware/mISDN/mISDNipac.c recv_Dchannel(&isac->dch); isac 482 drivers/isdn/hardware/mISDN/mISDNipac.c mISDNisac_irq(struct isac_hw *isac, u8 val) isac 486 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC interrupt %02x\n", isac->name, val); isac 487 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->type & IPAC_TYPE_ISACX) { isac 489 drivers/isdn/hardware/mISDN/mISDNipac.c isacsx_cic_irq(isac); isac 491 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISACX_ISTAD); isac 492 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISTAD %02x\n", isac->name, val); isac 494 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC XDU\n", isac->name); isac 496 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.err_tx++; isac 498 drivers/isdn/hardware/mISDN/mISDNipac.c isac_retransmit(isac); isac 501 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC XMR\n", isac->name); isac 503 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.err_tx++; isac 505 drivers/isdn/hardware/mISDN/mISDNipac.c isac_retransmit(isac); isac 508 drivers/isdn/hardware/mISDN/mISDNipac.c isac_xpr_irq(isac); isac 510 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC RFO\n", isac->name); isac 511 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISACX_CMDRD, ISACX_CMDRD_RMC); isac 514 drivers/isdn/hardware/mISDN/mISDNipac.c isacsx_rme_irq(isac); isac 516 drivers/isdn/hardware/mISDN/mISDNipac.c isac_empty_fifo(isac, 0x20); isac 520 drivers/isdn/hardware/mISDN/mISDNipac.c isac_rme_irq(isac); isac 522 drivers/isdn/hardware/mISDN/mISDNipac.c isac_empty_fifo(isac, 32); isac 524 drivers/isdn/hardware/mISDN/mISDNipac.c isac_xpr_irq(isac); isac 526 drivers/isdn/hardware/mISDN/mISDNipac.c isac_cisq_irq(isac); isac 528 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC RSC interrupt\n", isac->name); isac 530 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC SIN interrupt\n", isac->name); isac 532 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_EXIR); isac 533 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC EXIR %02x\n", isac->name, val); isac 535 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC XMR\n", isac->name); isac 537 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC XDU\n", isac->name); isac 539 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.err_tx++; isac 541 drivers/isdn/hardware/mISDN/mISDNipac.c isac_retransmit(isac); isac 544 drivers/isdn/hardware/mISDN/mISDNipac.c isac_mos_irq(isac); isac 556 drivers/isdn/hardware/mISDN/mISDNipac.c struct isac_hw *isac = container_of(dch, struct isac_hw, dch); isac 564 drivers/isdn/hardware/mISDN/mISDNipac.c spin_lock_irqsave(isac->hwlock, flags); isac 568 drivers/isdn/hardware/mISDN/mISDNipac.c isac_fill_fifo(isac); isac 570 drivers/isdn/hardware/mISDN/mISDNipac.c spin_unlock_irqrestore(isac->hwlock, flags); isac 573 drivers/isdn/hardware/mISDN/mISDNipac.c spin_unlock_irqrestore(isac->hwlock, flags); isac 590 drivers/isdn/hardware/mISDN/mISDNipac.c isac_ctrl(struct isac_hw *isac, u32 cmd, unsigned long para) isac 598 drivers/isdn/hardware/mISDN/mISDNipac.c spin_lock_irqsave(isac->hwlock, flags); isac 599 drivers/isdn/hardware/mISDN/mISDNipac.c if (!(isac->type & IPAC_TYPE_ISACX)) { isac 606 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_SPCR, tl); isac 608 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_ADF1, 0x8); isac 610 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_ADF1, 0x0); isac 612 drivers/isdn/hardware/mISDN/mISDNipac.c spin_unlock_irqrestore(isac->hwlock, flags); isac 615 drivers/isdn/hardware/mISDN/mISDNipac.c ret = l1_event(isac->dch.l1, HW_TIMER3_VALUE | (para & 0xff)); isac 618 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: %s unknown command %x %lx\n", isac->name, isac 628 drivers/isdn/hardware/mISDN/mISDNipac.c struct isac_hw *isac = container_of(dch, struct isac_hw, dch); isac 631 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: cmd(%x) state(%02x)\n", isac->name, cmd, isac->state); isac 634 drivers/isdn/hardware/mISDN/mISDNipac.c spin_lock_irqsave(isac->hwlock, flags); isac 635 drivers/isdn/hardware/mISDN/mISDNipac.c ph_command(isac, ISAC_CMD_AR8); isac 636 drivers/isdn/hardware/mISDN/mISDNipac.c spin_unlock_irqrestore(isac->hwlock, flags); isac 639 drivers/isdn/hardware/mISDN/mISDNipac.c spin_lock_irqsave(isac->hwlock, flags); isac 640 drivers/isdn/hardware/mISDN/mISDNipac.c ph_command(isac, ISAC_CMD_AR10); isac 641 drivers/isdn/hardware/mISDN/mISDNipac.c spin_unlock_irqrestore(isac->hwlock, flags); isac 644 drivers/isdn/hardware/mISDN/mISDNipac.c spin_lock_irqsave(isac->hwlock, flags); isac 645 drivers/isdn/hardware/mISDN/mISDNipac.c if ((isac->state == ISAC_IND_EI) || isac 646 drivers/isdn/hardware/mISDN/mISDNipac.c (isac->state == ISAC_IND_DR) || isac 647 drivers/isdn/hardware/mISDN/mISDNipac.c (isac->state == ISAC_IND_DR6) || isac 648 drivers/isdn/hardware/mISDN/mISDNipac.c (isac->state == ISAC_IND_RS)) isac 649 drivers/isdn/hardware/mISDN/mISDNipac.c ph_command(isac, ISAC_CMD_TIM); isac 651 drivers/isdn/hardware/mISDN/mISDNipac.c ph_command(isac, ISAC_CMD_RS); isac 652 drivers/isdn/hardware/mISDN/mISDNipac.c spin_unlock_irqrestore(isac->hwlock, flags); isac 670 drivers/isdn/hardware/mISDN/mISDNipac.c spin_lock_irqsave(isac->hwlock, flags); isac 671 drivers/isdn/hardware/mISDN/mISDNipac.c ph_command(isac, ISAC_CMD_TIM); isac 672 drivers/isdn/hardware/mISDN/mISDNipac.c spin_unlock_irqrestore(isac->hwlock, flags); isac 685 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: %s unknown command %x\n", isac->name, isac 693 drivers/isdn/hardware/mISDN/mISDNipac.c isac_release(struct isac_hw *isac) isac 695 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->type & IPAC_TYPE_ISACX) isac 696 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISACX_MASK, 0xff); isac 698 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MASK, 0xff); isac 699 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->dch.timer.function != NULL) { isac 700 drivers/isdn/hardware/mISDN/mISDNipac.c del_timer(&isac->dch.timer); isac 701 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.timer.function = NULL; isac 703 drivers/isdn/hardware/mISDN/mISDNipac.c kfree(isac->mon_rx); isac 704 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx = NULL; isac 705 drivers/isdn/hardware/mISDN/mISDNipac.c kfree(isac->mon_tx); isac 706 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_tx = NULL; isac 707 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->dch.l1) isac 708 drivers/isdn/hardware/mISDN/mISDNipac.c l1_event(isac->dch.l1, CLOSE_CHANNEL); isac 709 drivers/isdn/hardware/mISDN/mISDNipac.c mISDN_freedchannel(&isac->dch); isac 715 drivers/isdn/hardware/mISDN/mISDNipac.c struct isac_hw *isac = from_timer(isac, t, dch.timer); isac 719 drivers/isdn/hardware/mISDN/mISDNipac.c if (test_bit(FLG_BUSY_TIMER, &isac->dch.Flags)) { isac 720 drivers/isdn/hardware/mISDN/mISDNipac.c spin_lock_irqsave(isac->hwlock, flags); isac 721 drivers/isdn/hardware/mISDN/mISDNipac.c rbch = ReadISAC(isac, ISAC_RBCH); isac 722 drivers/isdn/hardware/mISDN/mISDNipac.c star = ReadISAC(isac, ISAC_STAR); isac 724 drivers/isdn/hardware/mISDN/mISDNipac.c isac->name, rbch, star); isac 726 drivers/isdn/hardware/mISDN/mISDNipac.c test_and_set_bit(FLG_L1_BUSY, &isac->dch.Flags); isac 729 drivers/isdn/hardware/mISDN/mISDNipac.c test_and_clear_bit(FLG_BUSY_TIMER, &isac->dch.Flags); isac 730 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->dch.tx_idx) isac 731 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.tx_idx = 0; isac 734 drivers/isdn/hardware/mISDN/mISDNipac.c isac->name); isac 736 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_CMDR, 0x01); isac 738 drivers/isdn/hardware/mISDN/mISDNipac.c spin_unlock_irqrestore(isac->hwlock, flags); isac 743 drivers/isdn/hardware/mISDN/mISDNipac.c open_dchannel_caller(struct isac_hw *isac, struct channel_req *rq, void *caller) isac 745 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: %s dev(%d) open from %p\n", isac->name, __func__, isac 746 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.dev.id, caller); isac 752 drivers/isdn/hardware/mISDN/mISDNipac.c rq->ch = &isac->dch.dev.D; isac 754 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->dch.state == 7) isac 761 drivers/isdn/hardware/mISDN/mISDNipac.c open_dchannel(struct isac_hw *isac, struct channel_req *rq) isac 763 drivers/isdn/hardware/mISDN/mISDNipac.c return open_dchannel_caller(isac, rq, __builtin_return_address(0)); isac 771 drivers/isdn/hardware/mISDN/mISDNipac.c isac_init(struct isac_hw *isac) isac 776 drivers/isdn/hardware/mISDN/mISDNipac.c if (!isac->dch.l1) { isac 777 drivers/isdn/hardware/mISDN/mISDNipac.c err = create_l1(&isac->dch, isac_l1cmd); isac 781 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_tx = NULL; isac 782 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mon_rx = NULL; isac 783 drivers/isdn/hardware/mISDN/mISDNipac.c timer_setup(&isac->dch.timer, dbusy_timer_handler, 0); isac 784 drivers/isdn/hardware/mISDN/mISDNipac.c isac->mocr = 0xaa; isac 785 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->type & IPAC_TYPE_ISACX) { isac 787 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISACX_MASK, 0xff); isac 788 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISACX_STARD); isac 789 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISACX STARD %x\n", isac->name, val); isac 790 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISACX_ISTAD); isac 791 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISACX ISTAD %x\n", isac->name, val); isac 792 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISACX_ISTA); isac 793 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISACX ISTA %x\n", isac->name, val); isac 795 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISACX_TR_CONF0, 0x00); isac 797 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISACX_TR_CONF2, 0x00); isac 799 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISACX_MODED, 0xc9); isac 801 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISACX_ID); isac 802 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->dch.debug & DEBUG_HW) isac 804 drivers/isdn/hardware/mISDN/mISDNipac.c isac->name, val & 0x3f); isac 805 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISACX_CIR0); isac 806 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISACX CIR0 %02X\n", isac->name, val); isac 807 drivers/isdn/hardware/mISDN/mISDNipac.c isac->state = val >> 4; isac 808 drivers/isdn/hardware/mISDN/mISDNipac.c isac_ph_state_change(isac); isac 809 drivers/isdn/hardware/mISDN/mISDNipac.c ph_command(isac, ISAC_CMD_RS); isac 810 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISACX_MASK, IPACX__ON); isac 811 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISACX_MASKD, 0x00); isac 813 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MASK, 0xff); isac 814 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_STAR); isac 815 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC STAR %x\n", isac->name, val); isac 816 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_MODE); isac 817 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC MODE %x\n", isac->name, val); isac 818 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_ADF2); isac 819 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC ADF2 %x\n", isac->name, val); isac 820 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_ISTA); isac 821 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC ISTA %x\n", isac->name, val); isac 823 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_EXIR); isac 824 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC EXIR %x\n", isac->name, val); isac 826 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_RBCH); isac 827 drivers/isdn/hardware/mISDN/mISDNipac.c if (isac->dch.debug & DEBUG_HW) isac 828 drivers/isdn/hardware/mISDN/mISDNipac.c pr_notice("%s: ISAC version (%x): %s\n", isac->name, isac 830 drivers/isdn/hardware/mISDN/mISDNipac.c isac->type |= ((val >> 5) & 3); isac 831 drivers/isdn/hardware/mISDN/mISDNipac.c if (!isac->adf2) isac 832 drivers/isdn/hardware/mISDN/mISDNipac.c isac->adf2 = 0x80; isac 833 drivers/isdn/hardware/mISDN/mISDNipac.c if (!(isac->adf2 & 0x80)) { /* only IOM 2 Mode */ isac 835 drivers/isdn/hardware/mISDN/mISDNipac.c isac->name, isac->adf2); isac 836 drivers/isdn/hardware/mISDN/mISDNipac.c isac_release(isac); isac 839 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_ADF2, isac->adf2); isac 840 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_SQXR, 0x2f); isac 841 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_SPCR, 0x00); isac 842 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_STCR, 0x70); isac 843 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MODE, 0xc9); isac 844 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_TIMR, 0x00); isac 845 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_ADF1, 0x00); isac 846 drivers/isdn/hardware/mISDN/mISDNipac.c val = ReadISAC(isac, ISAC_CIR0); isac 847 drivers/isdn/hardware/mISDN/mISDNipac.c pr_debug("%s: ISAC CIR0 %x\n", isac->name, val); isac 848 drivers/isdn/hardware/mISDN/mISDNipac.c isac->state = (val >> 2) & 0xf; isac 849 drivers/isdn/hardware/mISDN/mISDNipac.c isac_ph_state_change(isac); isac 850 drivers/isdn/hardware/mISDN/mISDNipac.c ph_command(isac, ISAC_CMD_RS); isac 851 drivers/isdn/hardware/mISDN/mISDNipac.c WriteISAC(isac, ISAC_MASK, 0); isac 857 drivers/isdn/hardware/mISDN/mISDNipac.c mISDNisac_init(struct isac_hw *isac, void *hw) isac 859 drivers/isdn/hardware/mISDN/mISDNipac.c mISDN_initdchannel(&isac->dch, MAX_DFRAME_LEN_L1, isac_ph_state_bh); isac 860 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.hw = hw; isac 861 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.dev.D.send = isac_l1hw; isac 862 drivers/isdn/hardware/mISDN/mISDNipac.c isac->init = isac_init; isac 863 drivers/isdn/hardware/mISDN/mISDNipac.c isac->release = isac_release; isac 864 drivers/isdn/hardware/mISDN/mISDNipac.c isac->ctrl = isac_ctrl; isac 865 drivers/isdn/hardware/mISDN/mISDNipac.c isac->open = open_dchannel; isac 866 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.dev.Dprotocols = (1 << ISDN_P_TE_S0); isac 867 drivers/isdn/hardware/mISDN/mISDNipac.c isac->dch.dev.nrbchan = 2; isac 1152 drivers/isdn/hardware/mISDN/mISDNipac.c struct isac_hw *isac = &ipac->isac; isac 1163 drivers/isdn/hardware/mISDN/mISDNipac.c mISDNisac_irq(&ipac->isac, ista); isac 1171 drivers/isdn/hardware/mISDN/mISDNipac.c istad = ReadISAC(isac, ISAC_ISTA); isac 1177 drivers/isdn/hardware/mISDN/mISDNipac.c mISDNisac_irq(isac, istad); isac 1191 drivers/isdn/hardware/mISDN/mISDNipac.c istad = ReadISAC(isac, ISAC_ISTA); isac 1194 drivers/isdn/hardware/mISDN/mISDNipac.c mISDNisac_irq(isac, istad); isac 1420 drivers/isdn/hardware/mISDN/mISDNipac.c isac_release(&ipac->isac); isac 1475 drivers/isdn/hardware/mISDN/mISDNipac.c return isac_init(&ipac->isac); isac 1514 drivers/isdn/hardware/mISDN/mISDNipac.c ret = ipac->isac.ctrl(&ipac->isac, HW_TIMER3_VALUE, cq->p1); isac 1529 drivers/isdn/hardware/mISDN/mISDNipac.c struct isac_hw *isac = container_of(dch, struct isac_hw, dch); isac 1530 drivers/isdn/hardware/mISDN/mISDNipac.c struct ipac_hw *ipac = container_of(isac, struct ipac_hw, isac); isac 1539 drivers/isdn/hardware/mISDN/mISDNipac.c err = open_dchannel_caller(isac, rq, __builtin_return_address(0)); isac 1569 drivers/isdn/hardware/mISDN/mISDNipac.c if (ipac->isac.dch.debug & DEBUG_HW) isac 1572 drivers/isdn/hardware/mISDN/mISDNipac.c ipac->isac.type = IPAC_TYPE_ISAC; isac 1578 drivers/isdn/hardware/mISDN/mISDNipac.c ipac->isac.type = IPAC_TYPE_IPAC | IPAC_TYPE_ISAC; isac 1584 drivers/isdn/hardware/mISDN/mISDNipac.c ipac->isac.type = IPAC_TYPE_IPACX | IPAC_TYPE_ISACX; isac 1592 drivers/isdn/hardware/mISDN/mISDNipac.c mISDNisac_init(&ipac->isac, hw); isac 1594 drivers/isdn/hardware/mISDN/mISDNipac.c ipac->isac.dch.dev.D.ctrl = ipac_dctrl; isac 1598 drivers/isdn/hardware/mISDN/mISDNipac.c set_channelmap(i + 1, ipac->isac.dch.dev.channelmap); isac 1600 drivers/isdn/hardware/mISDN/mISDNipac.c &ipac->isac.dch.dev.bchannels); isac 75 drivers/isdn/hardware/mISDN/netjet.c struct isac_hw isac; isac 95 drivers/isdn/hardware/mISDN/netjet.c card->isac.dch.debug = debug; isac 693 drivers/isdn/hardware/mISDN/netjet.c mISDNisac_irq(&card->isac, val); isac 835 drivers/isdn/hardware/mISDN/netjet.c ret = card->isac.ctrl(&card->isac, HW_TESTLOOP, cq->channel); isac 838 drivers/isdn/hardware/mISDN/netjet.c ret = card->isac.ctrl(&card->isac, HW_TIMER3_VALUE, cq->p1); isac 883 drivers/isdn/hardware/mISDN/netjet.c err = card->isac.open(&card->isac, rq); isac 927 drivers/isdn/hardware/mISDN/netjet.c ret = card->isac.init(&card->isac); isac 952 drivers/isdn/hardware/mISDN/netjet.c card->isac.release(&card->isac); isac 959 drivers/isdn/hardware/mISDN/netjet.c if (card->isac.dch.dev.dev.class) isac 960 drivers/isdn/hardware/mISDN/netjet.c mISDN_unregister_device(&card->isac.dch.dev); isac 992 drivers/isdn/hardware/mISDN/netjet.c ASSIGN_FUNC(nj, ISAC, card->isac); isac 1009 drivers/isdn/hardware/mISDN/netjet.c card->isac.name = card->name; isac 1011 drivers/isdn/hardware/mISDN/netjet.c card->isac.hwlock = &card->lock; isac 1012 drivers/isdn/hardware/mISDN/netjet.c mISDNisac_init(&card->isac, card); isac 1014 drivers/isdn/hardware/mISDN/netjet.c card->isac.dch.dev.Bprotocols = (1 << (ISDN_P_B_RAW & ISDN_P_B_MASK)) | isac 1016 drivers/isdn/hardware/mISDN/netjet.c card->isac.dch.dev.D.ctrl = nj_dctrl; isac 1019 drivers/isdn/hardware/mISDN/netjet.c set_channelmap(i + 1, card->isac.dch.dev.channelmap); isac 1027 drivers/isdn/hardware/mISDN/netjet.c &card->isac.dch.dev.bchannels); isac 1033 drivers/isdn/hardware/mISDN/netjet.c err = mISDN_register_device(&card->isac.dch.dev, &card->pdev->dev, isac 68 drivers/isdn/hardware/mISDN/speedfax.c struct isac_hw isac; isac 78 drivers/isdn/hardware/mISDN/speedfax.c card->isac.dch.debug = debug; isac 131 drivers/isdn/hardware/mISDN/speedfax.c mISDNisac_irq(&sf->isac, val); isac 222 drivers/isdn/hardware/mISDN/speedfax.c ret = sf->isac.ctrl(&sf->isac, HW_TESTLOOP, cq->channel); isac 225 drivers/isdn/hardware/mISDN/speedfax.c ret = sf->isac.ctrl(&sf->isac, HW_TIMER3_VALUE, cq->p1); isac 249 drivers/isdn/hardware/mISDN/speedfax.c err = sf->isac.open(&sf->isac, rq); isac 285 drivers/isdn/hardware/mISDN/speedfax.c ret = sf->isac.init(&sf->isac); isac 326 drivers/isdn/hardware/mISDN/speedfax.c sf->isac.type = IPAC_TYPE_ISAC; isac 331 drivers/isdn/hardware/mISDN/speedfax.c ASSIGN_FUNC(IND, ISAC, sf->isac); isac 347 drivers/isdn/hardware/mISDN/speedfax.c card->isac.release(&card->isac); isac 350 drivers/isdn/hardware/mISDN/speedfax.c mISDN_unregister_device(&card->isac.dch.dev); isac 374 drivers/isdn/hardware/mISDN/speedfax.c card->isac.hwlock = &card->lock; isac 377 drivers/isdn/hardware/mISDN/speedfax.c card->isac.name = card->name; isac 391 drivers/isdn/hardware/mISDN/speedfax.c mISDNisac_init(&card->isac, card); isac 393 drivers/isdn/hardware/mISDN/speedfax.c card->isac.dch.dev.D.ctrl = sfax_dctrl; isac 394 drivers/isdn/hardware/mISDN/speedfax.c card->isac.dch.dev.Bprotocols = isac 397 drivers/isdn/hardware/mISDN/speedfax.c set_channelmap(i + 1, card->isac.dch.dev.channelmap); isac 399 drivers/isdn/hardware/mISDN/speedfax.c &card->isac.dch.dev.bchannels); isac 408 drivers/isdn/hardware/mISDN/speedfax.c err = mISDN_register_device(&card->isac.dch.dev, isac 425 drivers/isdn/hardware/mISDN/speedfax.c mISDN_unregister_device(&card->isac.dch.dev); isac 429 drivers/isdn/hardware/mISDN/speedfax.c card->isac.release(&card->isac);