• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/isdn/act2000/

Lines Matching refs:card

66         act2000_card *card = dev_id;
74 act2000_isa_receive(card);
88 act2000_isa_select_irq(act2000_card * card)
93 switch (card->irq) {
120 act2000_isa_enable_irq(act2000_card * card)
122 act2000_isa_select_irq(card);
128 * Install interrupt handler, enable irq on card.
132 act2000_isa_config_irq(act2000_card * card, short irq)
134 if (card->flags & ACT2000_FLAGS_IVALID) {
135 free_irq(card->irq, card);
137 card->flags &= ~ACT2000_FLAGS_IVALID;
142 if (!request_irq(irq, &act2000_isa_interrupt, 0, card->regname, card)) {
143 card->irq = irq;
144 card->flags |= ACT2000_FLAGS_IVALID;
149 act2000_isa_select_irq(card);
158 act2000_isa_config_port(act2000_card * card, unsigned short portbase)
160 if (card->flags & ACT2000_FLAGS_PVALID) {
161 release_region(card->port, ISA_REGION);
162 card->flags &= ~ACT2000_FLAGS_PVALID;
164 if (request_region(portbase, ACT2000_PORTLEN, card->regname) == NULL)
167 card->port = portbase;
168 card->flags |= ACT2000_FLAGS_PVALID;
177 act2000_isa_release(act2000_card * card)
181 spin_lock_irqsave(&card->lock, flags);
182 if (card->flags & ACT2000_FLAGS_IVALID)
183 free_irq(card->irq, card);
185 card->flags &= ~ACT2000_FLAGS_IVALID;
186 if (card->flags & ACT2000_FLAGS_PVALID)
187 release_region(card->port, ISA_REGION);
188 card->flags &= ~ACT2000_FLAGS_PVALID;
189 spin_unlock_irqrestore(&card->lock, flags);
193 act2000_isa_writeb(act2000_card * card, u_char data)
210 act2000_isa_readb(act2000_card * card, u_char * data)
227 act2000_isa_receive(act2000_card *card)
231 if (test_and_set_bit(ACT2000_LOCK_RX, (void *) &card->ilock) != 0)
233 while (!act2000_isa_readb(card, &c)) {
234 if (card->idat.isa.rcvidx < 8) {
235 card->idat.isa.rcvhdr[card->idat.isa.rcvidx++] = c;
236 if (card->idat.isa.rcvidx == 8) {
237 int valid = actcapi_chkhdr(card, (actcapi_msghdr *)&card->idat.isa.rcvhdr);
240 card->idat.isa.rcvlen = ((actcapi_msghdr *)&card->idat.isa.rcvhdr)->len;
241 card->idat.isa.rcvskb = dev_alloc_skb(card->idat.isa.rcvlen);
242 if (card->idat.isa.rcvskb == NULL) {
243 card->idat.isa.rcvignore = 1;
246 test_and_clear_bit(ACT2000_LOCK_RX, (void *) &card->ilock);
249 memcpy(skb_put(card->idat.isa.rcvskb, 8), card->idat.isa.rcvhdr, 8);
250 card->idat.isa.rcvptr = skb_put(card->idat.isa.rcvskb, card->idat.isa.rcvlen - 8);
252 card->idat.isa.rcvidx = 0;
257 for (i = 0, p = (__u8 *)&card->idat.isa.rcvhdr, c = tmp; i < 8; i++)
264 if (!card->idat.isa.rcvignore)
265 *card->idat.isa.rcvptr++ = c;
266 if (++card->idat.isa.rcvidx >= card->idat.isa.rcvlen) {
267 if (!card->idat.isa.rcvignore) {
268 skb_queue_tail(&card->rcvq, card->idat.isa.rcvskb);
269 act2000_schedule_rx(card);
271 card->idat.isa.rcvidx = 0;
272 card->idat.isa.rcvlen = 8;
273 card->idat.isa.rcvignore = 0;
274 card->idat.isa.rcvskb = NULL;
275 card->idat.isa.rcvptr = card->idat.isa.rcvhdr;
279 if (!(card->flags & ACT2000_FLAGS_IVALID)) {
281 if ((card->idat.isa.rcvidx) &&
282 (card->idat.isa.rcvignore ||
283 (card->idat.isa.rcvidx < card->idat.isa.rcvlen)))
284 act2000_schedule_poll(card);
286 test_and_clear_bit(ACT2000_LOCK_RX, (void *) &card->ilock);
290 act2000_isa_send(act2000_card * card)
297 if (test_and_set_bit(ACT2000_LOCK_TX, (void *) &card->ilock) != 0)
300 spin_lock_irqsave(&card->lock, flags);
301 if (!(card->sbuf)) {
302 if ((card->sbuf = skb_dequeue(&card->sndq))) {
303 card->ack_msg = card->sbuf->data;
304 msg = (actcapi_msg *)card->sbuf->data;
308 card->need_b3ack = msg->msg.data_b3_req.flags;
313 spin_unlock_irqrestore(&card->lock, flags);
314 if (!(card->sbuf)) {
316 test_and_clear_bit(ACT2000_LOCK_TX, (void *) &card->ilock);
319 skb = card->sbuf;
322 if (act2000_isa_writeb(card, *(skb->data))) {
324 test_and_clear_bit(ACT2000_LOCK_TX, (void *) &card->ilock);
326 act2000_schedule_tx(card);
332 msg = (actcapi_msg *)card->ack_msg;
339 skb->data = card->ack_msg;
341 msg->msg.data_b3_req.flags = card->need_b3ack;
342 skb_queue_tail(&card->ackq, skb);
345 card->sbuf = NULL;
353 act2000_isa_getid(act2000_card * card)
363 if (act2000_isa_readb(card, p++))
380 if (card->flags & ACT2000_FLAGS_IVALID) {
382 act2000_isa_enable_irq(card);
388 * Download microcode into card, check Firmware signature.
391 act2000_isa_download(act2000_card * card, act2000_ddef __user * cb)
402 if (!act2000_isa_reset(card->port))
424 if (act2000_isa_writeb(card, *b++)) {
438 return (act2000_isa_getid(card));