Lines Matching refs:card

31 hysdn_sched_rx(hysdn_card *card, unsigned char *buf, unsigned short len,  in hysdn_sched_rx()  argument
37 if (hynet_enable & (1 << card->myid)) { in hysdn_sched_rx()
39 hysdn_rx_netpkt(card, buf, len); in hysdn_sched_rx()
44 hysdn_card_errlog(card, (tErrLogEntry *) buf, len); in hysdn_sched_rx()
45 if (card->err_log_state == ERRLOG_STATE_ON) in hysdn_sched_rx()
46 card->err_log_state = ERRLOG_STATE_START; /* start new fetch */ in hysdn_sched_rx()
51 if (hycapi_enable & (1 << card->myid)) { in hysdn_sched_rx()
52 hycapi_rx_capipkt(card, buf, len); in hysdn_sched_rx()
74 hysdn_sched_tx(hysdn_card *card, unsigned char *buf, in hysdn_sched_tx() argument
80 if (card->net_tx_busy) { in hysdn_sched_tx()
81 card->net_tx_busy = 0; /* reset flag */ in hysdn_sched_tx()
82 hysdn_tx_netack(card); /* acknowledge packet send */ in hysdn_sched_tx()
85 if (card->async_busy) { in hysdn_sched_tx()
86 if (card->async_len <= maxlen) { in hysdn_sched_tx()
87 memcpy(buf, card->async_data, card->async_len); in hysdn_sched_tx()
88 *len = card->async_len; in hysdn_sched_tx()
89 *chan = card->async_channel; in hysdn_sched_tx()
90 card->async_busy = 0; /* reset request */ in hysdn_sched_tx()
93 card->async_busy = 0; /* in case of length error */ in hysdn_sched_tx()
95 if ((card->err_log_state == ERRLOG_STATE_START) && in hysdn_sched_tx()
100 card->err_log_state = ERRLOG_STATE_ON; /* new state is on */ in hysdn_sched_tx()
103 if ((card->err_log_state == ERRLOG_STATE_STOP) && in hysdn_sched_tx()
108 card->err_log_state = ERRLOG_STATE_OFF; /* new state is off */ in hysdn_sched_tx()
112 if ((hynet_enable & (1 << card->myid)) && in hysdn_sched_tx()
113 (skb = hysdn_tx_netget(card)) != NULL) in hysdn_sched_tx()
120 card->net_tx_busy = 1; /* we are busy sending network data */ in hysdn_sched_tx()
123 hysdn_tx_netack(card); /* aknowledge packet -> throw away */ in hysdn_sched_tx()
126 if (((hycapi_enable & (1 << card->myid))) && in hysdn_sched_tx()
127 ((skb = hycapi_tx_capiget(card)) != NULL)) in hysdn_sched_tx()
133 hycapi_tx_capiack(card); in hysdn_sched_tx()
150 hysdn_tx_cfgline(hysdn_card *card, unsigned char *line, unsigned short chan) in hysdn_tx_cfgline() argument
155 if (card->debug_flags & LOG_SCHED_ASYN) in hysdn_tx_cfgline()
156 hysdn_addlog(card, "async tx-cfg chan=%d len=%d", chan, strlen(line) + 1); in hysdn_tx_cfgline()
158 while (card->async_busy) { in hysdn_tx_cfgline()
160 if (card->debug_flags & LOG_SCHED_ASYN) in hysdn_tx_cfgline()
161 hysdn_addlog(card, "async tx-cfg delayed"); in hysdn_tx_cfgline()
168 spin_lock_irqsave(&card->hysdn_lock, flags); in hysdn_tx_cfgline()
169 strcpy(card->async_data, line); in hysdn_tx_cfgline()
170 card->async_len = strlen(line) + 1; in hysdn_tx_cfgline()
171 card->async_channel = chan; in hysdn_tx_cfgline()
172 card->async_busy = 1; /* request transfer */ in hysdn_tx_cfgline()
175 schedule_work(&card->irq_queue); in hysdn_tx_cfgline()
176 spin_unlock_irqrestore(&card->hysdn_lock, flags); in hysdn_tx_cfgline()
178 if (card->debug_flags & LOG_SCHED_ASYN) in hysdn_tx_cfgline()
179 hysdn_addlog(card, "async tx-cfg data queued"); in hysdn_tx_cfgline()
183 while (card->async_busy) { in hysdn_tx_cfgline()
185 if (card->debug_flags & LOG_SCHED_ASYN) in hysdn_tx_cfgline()
186 hysdn_addlog(card, "async tx-cfg waiting for tx-ready"); in hysdn_tx_cfgline()
193 if (card->debug_flags & LOG_SCHED_ASYN) in hysdn_tx_cfgline()
194 hysdn_addlog(card, "async tx-cfg data send"); in hysdn_tx_cfgline()