Lines Matching refs:channel
57 icn_free_queue(icn_card *card, int channel) in icn_free_queue() argument
59 struct sk_buff_head *queue = &card->spqueue[channel]; in icn_free_queue()
63 card->xlen[channel] = 0; in icn_free_queue()
64 card->sndcount[channel] = 0; in icn_free_queue()
65 if ((skb = card->xskb[channel])) { in icn_free_queue()
66 card->xskb[channel] = NULL; in icn_free_queue()
116 icn_map_channel(icn_card *card, int channel) in icn_map_channel() argument
119 printk(KERN_DEBUG "icn_map_channel %d %d\n", dev.channel, channel); in icn_map_channel()
121 if ((channel == dev.channel) && (card == dev.mcard)) in icn_map_channel()
125 icn_shiftout(ICN_BANK, chan2bank[channel], 3, 4); /* Select Bank */ in icn_map_channel()
128 dev.channel = channel; in icn_map_channel()
142 icn_lock_channel(icn_card *card, int channel) in icn_lock_channel() argument
147 printk(KERN_DEBUG "icn_lock_channel %d\n", channel); in icn_lock_channel()
149 if ((dev.channel == channel) && (card == dev.mcard)) { in icn_lock_channel()
153 printk(KERN_DEBUG "icn_lock_channel %d OK\n", channel); in icn_lock_channel()
158 printk(KERN_DEBUG "icn_lock_channel %d FAILED, dc=%d\n", channel, dev.channel); in icn_lock_channel()
197 icn_trymaplock_channel(icn_card *card, int channel) in icn_trymaplock_channel() argument
202 printk(KERN_DEBUG "trymaplock c=%d dc=%d l=%d\n", channel, dev.channel, in icn_trymaplock_channel()
207 ((dev.channel == channel) && (dev.mcard == card))) { in icn_trymaplock_channel()
209 icn_map_channel(card, channel); in icn_trymaplock_channel()
212 printk(KERN_DEBUG "trymaplock %d OK\n", channel); in icn_trymaplock_channel()
218 printk(KERN_DEBUG "trymaplock %d FAILED\n", channel); in icn_trymaplock_channel()
228 icn_maprelease_channel(icn_card *card, int channel) in icn_maprelease_channel() argument
233 printk(KERN_DEBUG "map_release c=%d l=%d\n", channel, dev.chanlock); in icn_maprelease_channel()
239 icn_map_channel(card, channel); in icn_maprelease_channel()
249 icn_pollbchan_receive(int channel, icn_card *card) in icn_pollbchan_receive() argument
251 int mch = channel + ((card->secondhalf) ? 2 : 0); in icn_pollbchan_receive()
259 if ((card->rcvidx[channel] + cnt) > 4000) { in icn_pollbchan_receive()
263 channel + 1); in icn_pollbchan_receive()
264 card->rcvidx[channel] = 0; in icn_pollbchan_receive()
267 memcpy_fromio(&card->rcvbuf[channel][card->rcvidx[channel]], in icn_pollbchan_receive()
269 card->rcvidx[channel] += cnt; in icn_pollbchan_receive()
275 if ((cnt = card->rcvidx[channel])) { in icn_pollbchan_receive()
280 memcpy(skb_put(skb, cnt), card->rcvbuf[channel], cnt); in icn_pollbchan_receive()
281 card->rcvidx[channel] = 0; in icn_pollbchan_receive()
282 card->interface.rcvcallb_skb(card->myid, channel, skb); in icn_pollbchan_receive()
300 icn_pollbchan_send(int channel, icn_card *card) in icn_pollbchan_send() argument
302 int mch = channel + ((card->secondhalf) ? 2 : 0); in icn_pollbchan_send()
308 if (!(card->sndcount[channel] || card->xskb[channel] || in icn_pollbchan_send()
309 !skb_queue_empty(&card->spqueue[channel]))) in icn_pollbchan_send()
313 (card->sndcount[channel] || in icn_pollbchan_send()
314 !skb_queue_empty(&card->spqueue[channel]) || in icn_pollbchan_send()
315 card->xskb[channel])) { in icn_pollbchan_send()
317 if (card->xmit_lock[channel]) { in icn_pollbchan_send()
321 card->xmit_lock[channel]++; in icn_pollbchan_send()
323 skb = card->xskb[channel]; in icn_pollbchan_send()
325 skb = skb_dequeue(&card->spqueue[channel]); in icn_pollbchan_send()
331 card->xlen[channel] = skb->len; in icn_pollbchan_send()
333 card->xlen[channel] = 0; in icn_pollbchan_send()
351 card->sndcount[channel] -= cnt; in icn_pollbchan_send()
353 if (card->xskb[channel]) in icn_pollbchan_send()
354 card->xskb[channel] = NULL; in icn_pollbchan_send()
355 card->xmit_lock[channel] = 0; in icn_pollbchan_send()
358 if (card->xlen[channel]) { in icn_pollbchan_send()
361 cmd.arg = channel; in icn_pollbchan_send()
362 cmd.parm.length = card->xlen[channel]; in icn_pollbchan_send()
366 card->xskb[channel] = skb; in icn_pollbchan_send()
367 card->xmit_lock[channel] = 0; in icn_pollbchan_send()
448 icn_parse_status(u_char *status, int channel, icn_card *card) in icn_parse_status() argument
466 cmd.arg = channel; in icn_parse_status()
470 icn_free_queue(card, channel); in icn_parse_status()
471 card->rcvidx[channel] = 0; in icn_parse_status()
474 ((channel) ? ICN_FLAGS_B2ACTIVE : ICN_FLAGS_B1ACTIVE)) { in icn_parse_status()
478 card->flags &= ~((channel) ? in icn_parse_status()
484 ncmd.arg = channel; in icn_parse_status()
493 icn_free_queue(card, channel); in icn_parse_status()
494 card->flags |= (channel) ? in icn_parse_status()
500 card->flags &= ~((channel) ? in icn_parse_status()
502 icn_free_queue(card, channel); in icn_parse_status()
503 card->rcvidx[channel] = 0; in icn_parse_status()
536 sprintf(cmd.parm.setup.eazmsn, "%d", channel + 1); in icn_parse_status()
705 icn_sendbuf(int channel, int ack, struct sk_buff *skb, icn_card *card) in icn_sendbuf() argument
717 if (!(card->flags & (channel) ? ICN_FLAGS_B2ACTIVE : ICN_FLAGS_B1ACTIVE)) in icn_sendbuf()
719 if (card->sndcount[channel] > ICN_MAX_SQUEUE) in icn_sendbuf()
728 skb_queue_tail(&card->spqueue[channel], nskb); in icn_sendbuf()
733 card->sndcount[channel] += len; in icn_sendbuf()
1055 lastmap_channel = dev.channel; in icn_writecmd()
1469 if_writecmd(const u_char __user *buf, int len, int id, int channel) in if_writecmd() argument
1484 if_readstatus(u_char __user *buf, int len, int id, int channel) in if_readstatus() argument
1499 if_sendbuf(int id, int channel, int ack, struct sk_buff *skb) in if_sendbuf() argument
1506 return (icn_sendbuf(channel, ack, skb, card)); in if_sendbuf()
1632 dev.channel = -1; in icn_init()