• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asus-wl-520gu-7.0.1.45/src/linux/linux/drivers/isdn/hisax/

Lines Matching refs:cs

63 ReadISAC(struct IsdnCardState *cs, u_char offset)
71 byteout(cs->hw.avm.cfg_reg+ADDRREG_OFFSET,ISAC_REG_OFFSET+offset);
72 ret = bytein(cs->hw.avm.cfg_reg+DATAREG_OFFSET);
78 WriteISAC(struct IsdnCardState *cs, u_char offset, u_char value)
86 byteout(cs->hw.avm.cfg_reg+ADDRREG_OFFSET,ISAC_REG_OFFSET+offset);
87 byteout(cs->hw.avm.cfg_reg+DATAREG_OFFSET, value);
92 ReadISACfifo(struct IsdnCardState *cs, u_char * data, int size)
98 byteout(cs->hw.avm.cfg_reg+ADDRREG_OFFSET,ISAC_FIFO_OFFSET);
99 insb(cs->hw.avm.cfg_reg+DATAREG_OFFSET, data, size);
104 WriteISACfifo(struct IsdnCardState *cs, u_char * data, int size)
110 byteout(cs->hw.avm.cfg_reg+ADDRREG_OFFSET,ISAC_FIFO_OFFSET);
111 outsb(cs->hw.avm.cfg_reg+DATAREG_OFFSET, data, size);
116 ReadHSCX(struct IsdnCardState *cs, int hscx, u_char offset)
125 byteout(cs->hw.avm.cfg_reg+ADDRREG_OFFSET,
127 ret = bytein(cs->hw.avm.cfg_reg+DATAREG_OFFSET);
133 WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
141 byteout(cs->hw.avm.cfg_reg+ADDRREG_OFFSET,
143 byteout(cs->hw.avm.cfg_reg+DATAREG_OFFSET, value);
148 ReadHSCXfifo(struct IsdnCardState *cs, int hscx, u_char * data, int size)
154 byteout(cs->hw.avm.cfg_reg+ADDRREG_OFFSET,
156 insb(cs->hw.avm.cfg_reg+DATAREG_OFFSET, data, size);
161 WriteHSCXfifo(struct IsdnCardState *cs, int hscx, u_char * data, int size)
167 byteout(cs->hw.avm.cfg_reg+ADDRREG_OFFSET,
169 outsb(cs->hw.avm.cfg_reg+DATAREG_OFFSET, data, size);
177 #define READHSCX(cs, nr, reg) ReadHSCX(cs, nr, reg)
178 #define WRITEHSCX(cs, nr, reg, data) WriteHSCX(cs, nr, reg, data)
179 #define READHSCXFIFO(cs, nr, ptr, cnt) ReadHSCXfifo(cs, nr, ptr, cnt)
180 #define WRITEHSCXFIFO(cs, nr, ptr, cnt) WriteHSCXfifo(cs, nr, ptr, cnt)
187 struct IsdnCardState *cs = dev_id;
190 if (!cs) {
194 while ((sval = (~bytein(cs->hw.avm.cfg_reg+ASL0_OFFSET) & ASL0_R_IRQPENDING))) {
195 if (cs->debug & L1_DEB_INTSTAT)
196 debugl1(cs, "avm IntStatus %x", sval);
198 val = ReadHSCX(cs, 1, HSCX_ISTA);
200 hscx_int_main(cs, val);
203 val = ReadISAC(cs, ISAC_ISTA);
205 isac_interrupt(cs, val);
208 WriteHSCX(cs, 0, HSCX_MASK, 0xff);
209 WriteHSCX(cs, 1, HSCX_MASK, 0xff);
210 WriteISAC(cs, ISAC_MASK, 0xff);
211 WriteISAC(cs, ISAC_MASK, 0x00);
212 WriteHSCX(cs, 0, HSCX_MASK, 0x00);
213 WriteHSCX(cs, 1, HSCX_MASK, 0x00);
217 AVM_card_msg(struct IsdnCardState *cs, int mt, void *arg)
221 byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,0x00);
223 byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,ASL0_W_RESET);
225 byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,0x00);
230 /* free_irq(cs->irq, cs); */
234 byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,ASL0_W_TDISABLE|ASL0_W_TRESET|ASL0_W_IRQENABLE);
235 clear_pending_isac_ints(cs);
236 clear_pending_hscx_ints(cs);
237 inithscxisac(cs, 1);
238 inithscxisac(cs, 2);
256 struct IsdnCardState *cs = card->cs;
264 if (cs->typ != ISDN_CTYPE_A1_PCMCIA)
267 cs->hw.avm.cfg_reg = card->para[1];
268 cs->irq = card->para[0];
272 outb(cs->hw.avm.cfg_reg+ASL1_OFFSET, ASL1_W_ENABLE_S0);
275 byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,0x00);
277 byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,ASL0_W_RESET);
279 byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,0x00);
281 byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET, ASL0_W_TDISABLE|ASL0_W_TRESET);
285 model = bytein(cs->hw.avm.cfg_reg+MODREG_OFFSET);
286 vers = bytein(cs->hw.avm.cfg_reg+VERREG_OFFSET);
289 cs->hw.avm.cfg_reg, cs->irq, model, vers);
291 cs->readisac = &ReadISAC;
292 cs->writeisac = &WriteISAC;
293 cs->readisacfifo = &ReadISACfifo;
294 cs->writeisacfifo = &WriteISACfifo;
295 cs->BC_Read_Reg = &ReadHSCX;
296 cs->BC_Write_Reg = &WriteHSCX;
297 cs->BC_Send_Data = &hscx_fill_fifo;
298 cs->cardmsg = &AVM_card_msg;
299 cs->irq_func = &avm_a1p_interrupt;
301 ISACVersion(cs, "AVM A1 PCMCIA:");
302 if (HscxVersion(cs, "AVM A1 PCMCIA:")) {