Lines Matching refs:cs

24 	struct IsdnCardState *cs = dev_id;  in hfcs_interrupt()  local
28 spin_lock_irqsave(&cs->lock, flags); in hfcs_interrupt()
30 (stat = cs->BC_Read_Reg(cs, HFCD_DATA, HFCD_STAT))) { in hfcs_interrupt()
31 val = cs->BC_Read_Reg(cs, HFCD_DATA, HFCD_INT_S1); in hfcs_interrupt()
32 if (cs->debug & L1_DEB_ISAC) in hfcs_interrupt()
33 debugl1(cs, "HFCS: stat(%02x) s1(%02x)", stat, val); in hfcs_interrupt()
34 hfc2bds0_interrupt(cs, val); in hfcs_interrupt()
36 if (cs->debug & L1_DEB_ISAC) in hfcs_interrupt()
37 debugl1(cs, "HFCS: irq_no_irq stat(%02x)", stat); in hfcs_interrupt()
39 spin_unlock_irqrestore(&cs->lock, flags); in hfcs_interrupt()
44 hfcs_Timer(struct IsdnCardState *cs) in hfcs_Timer() argument
46 cs->hw.hfcD.timer.expires = jiffies + 75; in hfcs_Timer()
54 release_io_hfcs(struct IsdnCardState *cs) in release_io_hfcs() argument
56 release2bds0(cs); in release_io_hfcs()
57 del_timer(&cs->hw.hfcD.timer); in release_io_hfcs()
58 if (cs->hw.hfcD.addr) in release_io_hfcs()
59 release_region(cs->hw.hfcD.addr, 2); in release_io_hfcs()
63 reset_hfcs(struct IsdnCardState *cs) in reset_hfcs() argument
66 cs->hw.hfcD.cirm = HFCD_RESET; in reset_hfcs()
67 if (cs->typ == ISDN_CTYPE_TELES3C) in reset_hfcs()
68 cs->hw.hfcD.cirm |= HFCD_MEM8K; in reset_hfcs()
69 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_CIRM, cs->hw.hfcD.cirm); /* Reset On */ in reset_hfcs()
71 cs->hw.hfcD.cirm = 0; in reset_hfcs()
72 if (cs->typ == ISDN_CTYPE_TELES3C) in reset_hfcs()
73 cs->hw.hfcD.cirm |= HFCD_MEM8K; in reset_hfcs()
74 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_CIRM, cs->hw.hfcD.cirm); /* Reset Off */ in reset_hfcs()
76 if (cs->typ == ISDN_CTYPE_TELES3C) in reset_hfcs()
77 cs->hw.hfcD.cirm |= HFCD_INTB; in reset_hfcs()
78 else if (cs->typ == ISDN_CTYPE_ACERP10) in reset_hfcs()
79 cs->hw.hfcD.cirm |= HFCD_INTA; in reset_hfcs()
80 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_CIRM, cs->hw.hfcD.cirm); in reset_hfcs()
81 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_CLKDEL, 0x0e); in reset_hfcs()
82 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_TEST, HFCD_AUTO_AWAKE); /* S/T Auto awake */ in reset_hfcs()
83 cs->hw.hfcD.ctmt = HFCD_TIM25 | HFCD_AUTO_TIMER; in reset_hfcs()
84 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_CTMT, cs->hw.hfcD.ctmt); in reset_hfcs()
85 cs->hw.hfcD.int_m2 = HFCD_IRQ_ENABLE; in reset_hfcs()
86 cs->hw.hfcD.int_m1 = HFCD_INTS_B1TRANS | HFCD_INTS_B2TRANS | in reset_hfcs()
89 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_INT_M1, cs->hw.hfcD.int_m1); in reset_hfcs()
90 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_INT_M2, cs->hw.hfcD.int_m2); in reset_hfcs()
91 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_STATES, HFCD_LOAD_STATE | 2); /* HFC ST 2 */ in reset_hfcs()
93 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_STATES, 2); /* HFC ST 2 */ in reset_hfcs()
94 cs->hw.hfcD.mst_m = HFCD_MASTER; in reset_hfcs()
95 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_MST_MODE, cs->hw.hfcD.mst_m); /* HFC Master */ in reset_hfcs()
96 cs->hw.hfcD.sctrl = 0; in reset_hfcs()
97 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_SCTRL, cs->hw.hfcD.sctrl); in reset_hfcs()
101 hfcs_card_msg(struct IsdnCardState *cs, int mt, void *arg) in hfcs_card_msg() argument
106 if (cs->debug & L1_DEB_ISAC) in hfcs_card_msg()
107 debugl1(cs, "HFCS: card_msg %x", mt); in hfcs_card_msg()
110 spin_lock_irqsave(&cs->lock, flags); in hfcs_card_msg()
111 reset_hfcs(cs); in hfcs_card_msg()
112 spin_unlock_irqrestore(&cs->lock, flags); in hfcs_card_msg()
115 release_io_hfcs(cs); in hfcs_card_msg()
119 mod_timer(&cs->hw.hfcD.timer, jiffies + delay); in hfcs_card_msg()
120 spin_lock_irqsave(&cs->lock, flags); in hfcs_card_msg()
121 reset_hfcs(cs); in hfcs_card_msg()
122 init2bds0(cs); in hfcs_card_msg()
123 spin_unlock_irqrestore(&cs->lock, flags); in hfcs_card_msg()
126 spin_lock_irqsave(&cs->lock, flags); in hfcs_card_msg()
127 cs->hw.hfcD.ctmt |= HFCD_TIM800; in hfcs_card_msg()
128 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_CTMT, cs->hw.hfcD.ctmt); in hfcs_card_msg()
129 cs->BC_Write_Reg(cs, HFCD_DATA, HFCD_MST_MODE, cs->hw.hfcD.mst_m); in hfcs_card_msg()
130 spin_unlock_irqrestore(&cs->lock, flags); in hfcs_card_msg()
170 struct IsdnCardState *cs = card->cs; in setup_hfcs() local
218 cs->hw.hfcD.addr = card->para[1] & 0xfffe; in setup_hfcs()
219 cs->irq = card->para[0]; in setup_hfcs()
220 cs->hw.hfcD.cip = 0; in setup_hfcs()
221 cs->hw.hfcD.int_s1 = 0; in setup_hfcs()
222 cs->hw.hfcD.send = NULL; in setup_hfcs()
223 cs->bcs[0].hw.hfc.send = NULL; in setup_hfcs()
224 cs->bcs[1].hw.hfc.send = NULL; in setup_hfcs()
225 cs->hw.hfcD.dfifosize = 512; in setup_hfcs()
226 cs->dc.hfcd.ph_state = 0; in setup_hfcs()
227 cs->hw.hfcD.fifo = 255; in setup_hfcs()
228 if (cs->typ == ISDN_CTYPE_TELES3C) { in setup_hfcs()
229 cs->hw.hfcD.bfifosize = 1024 + 512; in setup_hfcs()
230 } else if (cs->typ == ISDN_CTYPE_ACERP10) { in setup_hfcs()
231 cs->hw.hfcD.bfifosize = 7 * 1024 + 512; in setup_hfcs()
234 if (!request_region(cs->hw.hfcD.addr, 2, "HFCS isdn")) { in setup_hfcs()
238 cs->hw.hfcD.addr, in setup_hfcs()
239 cs->hw.hfcD.addr + 2); in setup_hfcs()
244 cs->hw.hfcD.addr, in setup_hfcs()
245 cs->irq, HZ); in setup_hfcs()
246 if (cs->typ == ISDN_CTYPE_TELES3C) { in setup_hfcs()
248 outb(0x00, cs->hw.hfcD.addr); in setup_hfcs()
249 outb(0x56, cs->hw.hfcD.addr | 1); in setup_hfcs()
250 } else if (cs->typ == ISDN_CTYPE_ACERP10) { in setup_hfcs()
252 outb(0x00, cs->hw.hfcD.addr); in setup_hfcs()
253 outb(0x57, cs->hw.hfcD.addr | 1); in setup_hfcs()
255 set_cs_func(cs); in setup_hfcs()
256 cs->hw.hfcD.timer.function = (void *) hfcs_Timer; in setup_hfcs()
257 cs->hw.hfcD.timer.data = (long) cs; in setup_hfcs()
258 init_timer(&cs->hw.hfcD.timer); in setup_hfcs()
259 cs->cardmsg = &hfcs_card_msg; in setup_hfcs()
260 cs->irq_func = &hfcs_interrupt; in setup_hfcs()