Lines Matching refs:entry
206 int entry = lp->next_tx; in sonic_send_packet() local
229 sonic_tda_put(dev, entry, SONIC_TD_STATUS, 0); /* clear status */ in sonic_send_packet()
230 sonic_tda_put(dev, entry, SONIC_TD_FRAG_COUNT, 1); /* single fragment */ in sonic_send_packet()
231 sonic_tda_put(dev, entry, SONIC_TD_PKTSIZE, length); /* length of packet */ in sonic_send_packet()
232 sonic_tda_put(dev, entry, SONIC_TD_FRAG_PTR_L, laddr & 0xffff); in sonic_send_packet()
233 sonic_tda_put(dev, entry, SONIC_TD_FRAG_PTR_H, laddr >> 16); in sonic_send_packet()
234 sonic_tda_put(dev, entry, SONIC_TD_FRAG_SIZE, length); in sonic_send_packet()
235 sonic_tda_put(dev, entry, SONIC_TD_LINK, in sonic_send_packet()
236 sonic_tda_get(dev, entry, SONIC_TD_LINK) | SONIC_EOL); in sonic_send_packet()
243 lp->tx_len[entry] = length; in sonic_send_packet()
244 lp->tx_laddr[entry] = laddr; in sonic_send_packet()
245 lp->tx_skb[entry] = skb; in sonic_send_packet()
250 lp->eol_tx = entry; in sonic_send_packet()
252 lp->next_tx = (entry + 1) & SONIC_TDS_MASK; in sonic_send_packet()
291 int entry = lp->cur_tx; in sonic_interrupt() local
305 while (lp->tx_skb[entry] != NULL) { in sonic_interrupt()
306 if ((td_status = sonic_tda_get(dev, entry, SONIC_TD_STATUS)) == 0) in sonic_interrupt()
311 lp->stats.tx_bytes += sonic_tda_get(dev, entry, SONIC_TD_PKTSIZE); in sonic_interrupt()
325 dev_kfree_skb_irq(lp->tx_skb[entry]); in sonic_interrupt()
326 lp->tx_skb[entry] = NULL; in sonic_interrupt()
328 dma_unmap_single(lp->device, lp->tx_laddr[entry], lp->tx_len[entry], DMA_TO_DEVICE); in sonic_interrupt()
329 lp->tx_laddr[entry] = (dma_addr_t)0; in sonic_interrupt()
332 if (sonic_tda_get(dev, entry, SONIC_TD_LINK) & SONIC_EOL) { in sonic_interrupt()
333 entry = (entry + 1) & SONIC_TDS_MASK; in sonic_interrupt()
336 entry = (entry + 1) & SONIC_TDS_MASK; in sonic_interrupt()
339 if (freed_some || lp->tx_skb[entry] == NULL) in sonic_interrupt()
341 lp->cur_tx = entry; in sonic_interrupt()
412 int entry = lp->cur_rx; in sonic_rx() local
414 while (sonic_rda_get(dev, entry, SONIC_RD_IN_USE) == 0) { in sonic_rx()
422 status = sonic_rda_get(dev, entry, SONIC_RD_STATUS); in sonic_rx()
444 dma_unmap_single(lp->device, lp->rx_laddr[entry], SONIC_RBSIZE, DMA_FROM_DEVICE); in sonic_rx()
445 used_skb = lp->rx_skb[entry]; in sonic_rx()
446 pkt_len = sonic_rda_get(dev, entry, SONIC_RD_PKTLEN); in sonic_rx()
454 lp->rx_laddr[entry] = new_laddr; in sonic_rx()
455 lp->rx_skb[entry] = new_skb; in sonic_rx()
459 sonic_rra_put(dev, entry, SONIC_RR_BUFADR_L, bufadr_l); in sonic_rx()
460 sonic_rra_put(dev, entry, SONIC_RR_BUFADR_H, bufadr_h); in sonic_rx()
488 sonic_rda_put(dev, entry, SONIC_RD_LINK, in sonic_rx()
489 sonic_rda_get(dev, entry, SONIC_RD_LINK) | SONIC_EOL); in sonic_rx()
490 sonic_rda_put(dev, entry, SONIC_RD_IN_USE, 1); in sonic_rx()
493 lp->eol_rx = entry; in sonic_rx()
494 lp->cur_rx = entry = (entry + 1) & SONIC_RDS_MASK; in sonic_rx()