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);