Lines Matching refs:rbd
240 u32 rbd;
261 u32 b_addr; /* This rbd addr from i596 view */
440 struct i596_rbd *rbd;
468 " %p .stat %04x, .cmd %04x, b_next %08x, rbd %08x,"
471 SWAP32(rfd->b_next), SWAP32(rfd->rbd),
475 rbd = lp->rbd_head;
476 printk(KERN_DEBUG "rbd_head = %p\n", rbd);
481 rbd, SWAP16(rbd->count), SWAP32(rbd->b_next),
482 SWAP32(rbd->b_data), SWAP16(rbd->size));
483 rbd = rbd->v_next;
484 } while (rbd != lp->rbd_head);
494 struct i596_rbd *rbd;
498 for (i = 0, rbd = dma->rbds; i < rx_ring_size; i++, rbd++) {
507 rbd->v_next = rbd+1;
508 rbd->b_next = SWAP32(virt_to_dma(lp, rbd+1));
509 rbd->b_addr = SWAP32(virt_to_dma(lp, rbd));
510 rbd->skb = skb;
511 rbd->v_data = skb->data;
512 rbd->b_data = SWAP32(dma_addr);
513 rbd->size = SWAP16(PKT_BUF_SZ);
516 rbd = dma->rbds + rx_ring_size - 1;
517 rbd->v_next = dma->rbds;
518 rbd->b_next = SWAP32(virt_to_dma(lp, dma->rbds));
523 rfd->rbd = I596_NULL;
532 rfd->rbd = SWAP32(virt_to_dma(lp, lp->rbd_head));
546 struct i596_rbd *rbd;
549 for (i = 0, rbd = lp->dma->rbds; i < rx_ring_size; i++, rbd++) {
550 if (rbd->skb == NULL)
553 (dma_addr_t)SWAP32(rbd->b_data),
555 dev_kfree_skb(rbd->skb);
569 dma->rfds[i].rbd = I596_NULL;
576 dma->rfds[0].rbd = SWAP32(virt_to_dma(lp, dma->rbds));
680 struct i596_rbd *rbd;
692 if (rfd->rbd == I596_NULL)
693 rbd = NULL;
694 else if (rfd->rbd == lp->rbd_head->b_addr) {
695 rbd = lp->rbd_head;
696 dma_sync_cpu(dev, rbd, sizeof(struct i596_rbd));
698 printk(KERN_ERR "%s: rbd chain broken!\n", dev->name);
700 rbd = NULL;
703 " rfd %p, rfd.rbd %08x, rfd.stat %04x\n",
704 rfd, rfd->rbd, rfd->stat));
706 if (rbd != NULL && (rfd->stat & SWAP16(STAT_OK))) {
708 int pkt_len = SWAP16(rbd->count) & 0x3fff;
709 struct sk_buff *skb = rbd->skb;
712 DEB(DEB_RXADDR, print_eth(rbd->v_data, "received"));
724 (dma_addr_t)SWAP32(rbd->b_data),
737 rbd->skb = newskb;
742 rbd->v_data = newskb->data;
743 rbd->b_data = SWAP32(dma_addr);
744 dma_sync_dev(dev, rbd, sizeof(struct i596_rbd));
756 (dma_addr_t)SWAP32(rbd->b_data),
758 skb_put_data(skb, rbd->v_data,
761 (dma_addr_t)SWAP32(rbd->b_data),
793 if (rbd != NULL && (rbd->count & SWAP16(0x4000))) {
794 rbd->count = 0;
795 lp->rbd_head = rbd->v_next;
796 dma_sync_dev(dev, rbd, sizeof(struct i596_rbd));
801 rfd->rbd = I596_NULL;