• Home
  • Raw
  • Download

Lines Matching refs:cs

19 static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off)  in dummyrr()  argument
24 static void dummywr(struct IsdnCardState *cs, int chan, u_char off, u_char value) in dummywr() argument
31 struct IsdnCardState *cs = dev_id; in netjet_s_interrupt() local
35 spin_lock_irqsave(&cs->lock, flags); in netjet_s_interrupt()
36 s1val = bytein(cs->hw.njet.base + NETJET_IRQSTAT1); in netjet_s_interrupt()
38 val = NETjet_ReadIC(cs, ISAC_ISTA); in netjet_s_interrupt()
39 if (cs->debug & L1_DEB_ISAC) in netjet_s_interrupt()
40 debugl1(cs, "tiger: i1 %x %x", s1val, val); in netjet_s_interrupt()
42 isac_interrupt(cs, val); in netjet_s_interrupt()
43 NETjet_WriteIC(cs, ISAC_MASK, 0xFF); in netjet_s_interrupt()
44 NETjet_WriteIC(cs, ISAC_MASK, 0x0); in netjet_s_interrupt()
55 s0val = bytein(cs->hw.njet.base + NETJET_IRQSTAT0); in netjet_s_interrupt()
57 spin_unlock_irqrestore(&cs->lock, flags); in netjet_s_interrupt()
61 byteout(cs->hw.njet.base + NETJET_IRQSTAT0, s0val); in netjet_s_interrupt()
64 if (inl(cs->hw.njet.base + NETJET_DMA_WRITE_ADR) < in netjet_s_interrupt()
65 inl(cs->hw.njet.base + NETJET_DMA_WRITE_IRQ)) in netjet_s_interrupt()
70 if (inl(cs->hw.njet.base + NETJET_DMA_READ_ADR) < in netjet_s_interrupt()
71 inl(cs->hw.njet.base + NETJET_DMA_READ_IRQ)) in netjet_s_interrupt()
76 if (s0val != cs->hw.njet.last_is0) /* we have a DMA interrupt */ in netjet_s_interrupt()
78 if (test_and_set_bit(FLG_LOCK_ATOMIC, &cs->HW_Flags)) { in netjet_s_interrupt()
80 cs->hw.njet.last_is0, s0val); in netjet_s_interrupt()
81 spin_unlock_irqrestore(&cs->lock, flags); in netjet_s_interrupt()
84 cs->hw.njet.irqstat0 = s0val; in netjet_s_interrupt()
85 if ((cs->hw.njet.irqstat0 & NETJET_IRQM0_READ) != in netjet_s_interrupt()
86 (cs->hw.njet.last_is0 & NETJET_IRQM0_READ)) in netjet_s_interrupt()
88 read_tiger(cs); in netjet_s_interrupt()
89 if ((cs->hw.njet.irqstat0 & NETJET_IRQM0_WRITE) != in netjet_s_interrupt()
90 (cs->hw.njet.last_is0 & NETJET_IRQM0_WRITE)) in netjet_s_interrupt()
92 write_tiger(cs); in netjet_s_interrupt()
94 test_and_clear_bit(FLG_LOCK_ATOMIC, &cs->HW_Flags); in netjet_s_interrupt()
96 spin_unlock_irqrestore(&cs->lock, flags); in netjet_s_interrupt()
101 reset_netjet_s(struct IsdnCardState *cs) in reset_netjet_s() argument
103 cs->hw.njet.ctrl_reg = 0xff; /* Reset On */ in reset_netjet_s()
104 byteout(cs->hw.njet.base + NETJET_CTRL, cs->hw.njet.ctrl_reg); in reset_netjet_s()
108 if (cs->subtyp) /* TJ320 */ in reset_netjet_s()
109 cs->hw.njet.ctrl_reg = 0x40; /* Reset Off and status read clear */ in reset_netjet_s()
111 cs->hw.njet.ctrl_reg = 0x00; /* Reset Off and status read clear */ in reset_netjet_s()
112 byteout(cs->hw.njet.base + NETJET_CTRL, cs->hw.njet.ctrl_reg); in reset_netjet_s()
114 cs->hw.njet.auxd = 0; in reset_netjet_s()
115 cs->hw.njet.dmactrl = 0; in reset_netjet_s()
116 byteout(cs->hw.njet.base + NETJET_AUXCTRL, ~NETJET_ISACIRQ); in reset_netjet_s()
117 byteout(cs->hw.njet.base + NETJET_IRQMASK1, NETJET_ISACIRQ); in reset_netjet_s()
118 byteout(cs->hw.njet.auxa, cs->hw.njet.auxd); in reset_netjet_s()
122 NETjet_S_card_msg(struct IsdnCardState *cs, int mt, void *arg) in NETjet_S_card_msg() argument
128 spin_lock_irqsave(&cs->lock, flags); in NETjet_S_card_msg()
129 reset_netjet_s(cs); in NETjet_S_card_msg()
130 spin_unlock_irqrestore(&cs->lock, flags); in NETjet_S_card_msg()
133 release_io_netjet(cs); in NETjet_S_card_msg()
136 reset_netjet_s(cs); in NETjet_S_card_msg()
137 inittiger(cs); in NETjet_S_card_msg()
138 spin_lock_irqsave(&cs->lock, flags); in NETjet_S_card_msg()
139 clear_pending_isac_ints(cs); in NETjet_S_card_msg()
140 initisac(cs); in NETjet_S_card_msg()
142 cs->writeisac(cs, ISAC_MASK, 0); in NETjet_S_card_msg()
143 spin_unlock_irqrestore(&cs->lock, flags); in NETjet_S_card_msg()
151 static int njs_pci_probe(struct pci_dev *dev_netjet, struct IsdnCardState *cs) in njs_pci_probe() argument
158 cs->irq = dev_netjet->irq; in njs_pci_probe()
159 if (!cs->irq) { in njs_pci_probe()
163 cs->hw.njet.base = pci_resource_start(dev_netjet, 0); in njs_pci_probe()
164 if (!cs->hw.njet.base) { in njs_pci_probe()
174 cs->subtyp = 1; /* TJ320 */ in njs_pci_probe()
176 cs->subtyp = 0; /* TJ300 */ in njs_pci_probe()
189 static int njs_cs_init(struct IsdnCard *card, struct IsdnCardState *cs) in njs_cs_init() argument
192 cs->hw.njet.auxa = cs->hw.njet.base + NETJET_AUXDATA; in njs_cs_init()
193 cs->hw.njet.isac = cs->hw.njet.base | NETJET_ISAC_OFF; in njs_cs_init()
195 cs->hw.njet.ctrl_reg = 0xff; /* Reset On */ in njs_cs_init()
196 byteout(cs->hw.njet.base + NETJET_CTRL, cs->hw.njet.ctrl_reg); in njs_cs_init()
199 cs->hw.njet.ctrl_reg = 0x00; /* Reset Off and status read clear */ in njs_cs_init()
200 byteout(cs->hw.njet.base + NETJET_CTRL, cs->hw.njet.ctrl_reg); in njs_cs_init()
203 cs->hw.njet.auxd = 0xC0; in njs_cs_init()
204 cs->hw.njet.dmactrl = 0; in njs_cs_init()
206 byteout(cs->hw.njet.base + NETJET_AUXCTRL, ~NETJET_ISACIRQ); in njs_cs_init()
207 byteout(cs->hw.njet.base + NETJET_IRQMASK1, NETJET_ISACIRQ); in njs_cs_init()
208 byteout(cs->hw.njet.auxa, cs->hw.njet.auxd); in njs_cs_init()
210 switch (((NETjet_ReadIC(cs, ISAC_RBCH) >> 5) & 3)) in njs_cs_init()
226 static int njs_cs_init_rest(struct IsdnCard *card, struct IsdnCardState *cs) in njs_cs_init_rest() argument
232 cs->subtyp ? "TJ320" : "TJ300", cs->hw.njet.base, cs->irq); in njs_cs_init_rest()
233 if (!request_region(cs->hw.njet.base, bytecnt, "netjet-s isdn")) { in njs_cs_init_rest()
236 cs->hw.njet.base, in njs_cs_init_rest()
237 cs->hw.njet.base + bytecnt); in njs_cs_init_rest()
240 cs->readisac = &NETjet_ReadIC; in njs_cs_init_rest()
241 cs->writeisac = &NETjet_WriteIC; in njs_cs_init_rest()
242 cs->readisacfifo = &NETjet_ReadICfifo; in njs_cs_init_rest()
243 cs->writeisacfifo = &NETjet_WriteICfifo; in njs_cs_init_rest()
244 cs->BC_Read_Reg = &dummyrr; in njs_cs_init_rest()
245 cs->BC_Write_Reg = &dummywr; in njs_cs_init_rest()
246 cs->BC_Send_Data = &netjet_fill_dma; in njs_cs_init_rest()
247 setup_isac(cs); in njs_cs_init_rest()
248 cs->cardmsg = &NETjet_S_card_msg; in njs_cs_init_rest()
249 cs->irq_func = &netjet_s_interrupt; in njs_cs_init_rest()
250 cs->irq_flags |= IRQF_SHARED; in njs_cs_init_rest()
251 ISACVersion(cs, "NETjet-S:"); in njs_cs_init_rest()
261 struct IsdnCardState *cs = card->cs; in setup_netjet_s() local
269 if (cs->typ != ISDN_CTYPE_NETJET_S) in setup_netjet_s()
271 test_and_clear_bit(FLG_LOCK_ATOMIC, &cs->HW_Flags); in setup_netjet_s()
277 ret = njs_pci_probe(dev_netjet, cs); in setup_netjet_s()
285 ret = njs_cs_init(card, cs); in setup_netjet_s()
293 return njs_cs_init_rest(card, cs); in setup_netjet_s()