Lines Matching refs:cs

74 ReadISAC(struct IsdnCardState *cs, u_char offset)  in ReadISAC()  argument
76 return (readreg(cs->hw.ax.isac_ale, cs->hw.ax.isac_adr, offset)); in ReadISAC()
80 WriteISAC(struct IsdnCardState *cs, u_char offset, u_char value) in WriteISAC() argument
82 writereg(cs->hw.ax.isac_ale, cs->hw.ax.isac_adr, offset, value); in WriteISAC()
86 ReadISACfifo(struct IsdnCardState *cs, u_char *data, int size) in ReadISACfifo() argument
88 readfifo(cs->hw.ax.isac_ale, cs->hw.ax.isac_adr, 0, data, size); in ReadISACfifo()
92 WriteISACfifo(struct IsdnCardState *cs, u_char *data, int size) in WriteISACfifo() argument
94 writefifo(cs->hw.ax.isac_ale, cs->hw.ax.isac_adr, 0, data, size); in WriteISACfifo()
98 ReadJADE(struct IsdnCardState *cs, int jade, u_char offset) in ReadJADE() argument
100 …return (readreg(cs->hw.ax.jade_ale, cs->hw.ax.jade_adr, offset + (jade == -1 ? 0 : (jade ? 0xC0 : … in ReadJADE()
104 WriteJADE(struct IsdnCardState *cs, int jade, u_char offset, u_char value) in WriteJADE() argument
106 …writereg(cs->hw.ax.jade_ale, cs->hw.ax.jade_adr, offset + (jade == -1 ? 0 : (jade ? 0xC0 : 0x80)),… in WriteJADE()
113 #define READJADE(cs, nr, reg) readreg(cs->hw.ax.jade_ale, \ argument
114 cs->hw.ax.jade_adr, reg + (nr == -1 ? 0 : (nr ? 0xC0 : 0x80)))
115 #define WRITEJADE(cs, nr, reg, data) writereg(cs->hw.ax.jade_ale, \ argument
116 cs->hw.ax.jade_adr, reg + (nr == -1 ? 0 : (nr ? 0xC0 : 0x80)), data)
118 #define READJADEFIFO(cs, nr, ptr, cnt) readfifo(cs->hw.ax.jade_ale, \ argument
119 cs->hw.ax.jade_adr, (nr == -1 ? 0 : (nr ? 0xC0 : 0x80)), ptr, cnt)
120 #define WRITEJADEFIFO(cs, nr, ptr, cnt) writefifo(cs->hw.ax.jade_ale, \ argument
121 cs->hw.ax.jade_adr, (nr == -1 ? 0 : (nr ? 0xC0 : 0x80)), ptr, cnt)
128 struct IsdnCardState *cs = dev_id; in bkm_interrupt() local
133 spin_lock_irqsave(&cs->lock, flags); in bkm_interrupt()
134 pI20_Regs = (I20_REGISTER_FILE *) (cs->hw.ax.base); in bkm_interrupt()
143 val = readreg(cs->hw.ax.jade_ale, cs->hw.ax.jade_adr, jade_HDLC_ISR + 0x80); in bkm_interrupt()
145 jade_int_main(cs, val, 0); in bkm_interrupt()
148 val = readreg(cs->hw.ax.jade_ale, cs->hw.ax.jade_adr, jade_HDLC_ISR + 0xC0); in bkm_interrupt()
150 jade_int_main(cs, val, 1); in bkm_interrupt()
153 val = readreg(cs->hw.ax.isac_ale, cs->hw.ax.isac_adr, ISAC_ISTA); in bkm_interrupt()
155 isac_interrupt(cs, val); in bkm_interrupt()
159 spin_unlock_irqrestore(&cs->lock, flags); in bkm_interrupt()
162 spin_unlock_irqrestore(&cs->lock, flags); in bkm_interrupt()
168 release_io_bkm(struct IsdnCardState *cs) in release_io_bkm() argument
170 if (cs->hw.ax.base) { in release_io_bkm()
171 iounmap((void *) cs->hw.ax.base); in release_io_bkm()
172 cs->hw.ax.base = 0; in release_io_bkm()
177 enable_bkm_int(struct IsdnCardState *cs, unsigned bEnable) in enable_bkm_int() argument
179 if (cs->typ == ISDN_CTYPE_BKM_A4T) { in enable_bkm_int()
180 I20_REGISTER_FILE *pI20_Regs = (I20_REGISTER_FILE *) (cs->hw.ax.base); in enable_bkm_int()
190 reset_bkm(struct IsdnCardState *cs) in reset_bkm() argument
192 if (cs->typ == ISDN_CTYPE_BKM_A4T) { in reset_bkm()
193 I20_REGISTER_FILE *pI20_Regs = (I20_REGISTER_FILE *) (cs->hw.ax.base); in reset_bkm()
220 BKM_card_msg(struct IsdnCardState *cs, int mt, void *arg) in BKM_card_msg() argument
227 spin_lock_irqsave(&cs->lock, flags); in BKM_card_msg()
228 enable_bkm_int(cs, 0); in BKM_card_msg()
229 reset_bkm(cs); in BKM_card_msg()
230 spin_unlock_irqrestore(&cs->lock, flags); in BKM_card_msg()
234 spin_lock_irqsave(&cs->lock, flags); in BKM_card_msg()
235 enable_bkm_int(cs, 0); in BKM_card_msg()
236 reset_bkm(cs); in BKM_card_msg()
237 spin_unlock_irqrestore(&cs->lock, flags); in BKM_card_msg()
238 release_io_bkm(cs); in BKM_card_msg()
241 spin_lock_irqsave(&cs->lock, flags); in BKM_card_msg()
242 clear_pending_isac_ints(cs); in BKM_card_msg()
243 clear_pending_jade_ints(cs); in BKM_card_msg()
244 initisac(cs); in BKM_card_msg()
245 initjade(cs); in BKM_card_msg()
247 enable_bkm_int(cs, 1); in BKM_card_msg()
248 spin_unlock_irqrestore(&cs->lock, flags); in BKM_card_msg()
256 static int a4t_pci_probe(struct pci_dev *dev_a4t, struct IsdnCardState *cs, in a4t_pci_probe() argument
269 cs->irq = dev_a4t->irq; in a4t_pci_probe()
276 static int a4t_cs_init(struct IsdnCard *card, struct IsdnCardState *cs, in a4t_cs_init() argument
281 if (!cs->irq) { /* IRQ range check ?? */ in a4t_cs_init()
285 cs->hw.ax.base = (long) ioremap(pci_memaddr, 4096); in a4t_cs_init()
287 pI20_Regs = (I20_REGISTER_FILE *) (cs->hw.ax.base); in a4t_cs_init()
291 cs->hw.ax.base, cs->hw.ax.base + 4096); in a4t_cs_init()
292 iounmap((void *) cs->hw.ax.base); in a4t_cs_init()
293 cs->hw.ax.base = 0; in a4t_cs_init()
296 cs->hw.ax.isac_adr = cs->hw.ax.base + PO_OFFSET; in a4t_cs_init()
297 cs->hw.ax.jade_adr = cs->hw.ax.base + PO_OFFSET; in a4t_cs_init()
298 cs->hw.ax.isac_ale = GCS_1; in a4t_cs_init()
299 cs->hw.ax.jade_ale = GCS_3; in a4t_cs_init()
303 cs->hw.ax.base, cs->irq); in a4t_cs_init()
305 setup_isac(cs); in a4t_cs_init()
306 cs->readisac = &ReadISAC; in a4t_cs_init()
307 cs->writeisac = &WriteISAC; in a4t_cs_init()
308 cs->readisacfifo = &ReadISACfifo; in a4t_cs_init()
309 cs->writeisacfifo = &WriteISACfifo; in a4t_cs_init()
310 cs->BC_Read_Reg = &ReadJADE; in a4t_cs_init()
311 cs->BC_Write_Reg = &WriteJADE; in a4t_cs_init()
312 cs->BC_Send_Data = &jade_fill_fifo; in a4t_cs_init()
313 cs->cardmsg = &BKM_card_msg; in a4t_cs_init()
314 cs->irq_func = &bkm_interrupt; in a4t_cs_init()
315 cs->irq_flags |= IRQF_SHARED; in a4t_cs_init()
316 ISACVersion(cs, "Telekom A4T:"); in a4t_cs_init()
318 JadeVersion(cs, "Telekom A4T:"); in a4t_cs_init()
327 struct IsdnCardState *cs = card->cs; in setup_bkm_a4t() local
334 if (cs->typ == ISDN_CTYPE_BKM_A4T) { in setup_bkm_a4t()
335 cs->subtyp = BKM_A4T; in setup_bkm_a4t()
341 ret = a4t_pci_probe(dev_a4t, cs, &found, &pci_memaddr); in setup_bkm_a4t()
357 return a4t_cs_init(card, cs, pci_memaddr); in setup_bkm_a4t()