Lines Matching defs:rfd
189 /* status bits for rfd */
244 phys_addr pa_rfd; /* 8 - va_to_pa(struct i596_rfd *rfd) */
360 struct i596_rfd *rfd;
368 rfd = kmalloc(sizeof(struct i596_rfd), GFP_KERNEL);
369 if (rfd == NULL)
372 rfd->stat = 0;
373 rfd->pa_rbd = I596_NULL;
374 rfd->count = 0;
375 rfd->size = 1532;
377 rfd->cmd = CMD_EOL;
378 lp->rx_tail = rfd;
380 rfd->cmd = 0;
382 rfd->pa_next = lp->scb.pa_rfd;
383 lp->scb.pa_rfd = va_to_pa(rfd);
393 struct i596_rfd *rfd;
399 rfd = pa_to_va(lp->scb.pa_rfd);
400 lp->scb.pa_rfd = rfd->pa_next;
401 kfree(rfd);
402 } while (rfd != lp->rx_tail);
551 struct i596_rfd *rfd, int *frames) {
553 if (rfd->stat & RFD_STAT_OK) {
555 int pkt_len = (rfd->count & 0x3fff);
560 if (rfd->cmd & CMD_EOL)
570 memcpy(skb_put(skb,pkt_len), rfd->data, pkt_len);
577 if (rfd->stat & RFD_COLLISION)
579 if (rfd->stat & RFD_SHORT_FRAME_ERR)
581 if (rfd->stat & RFD_DMA_ERR)
583 if (rfd->stat & RFD_NOBUFS_ERR)
585 if (rfd->stat & RFD_ALIGN_ERR)
587 if (rfd->stat & RFD_CRC_ERR)
589 if (rfd->stat & RFD_LENGTH_ERR)
592 rfd->stat = rfd->count = 0;
599 struct i596_rfd *rfd;
603 rfd = pa_to_va(lp->scb.pa_rfd);
604 if (!rfd) {
605 printk(KERN_ERR "i596_rx: NULL rfd?\n");
608 if (rfd->stat && !(rfd->stat & (RFD_STAT_C | RFD_STAT_B)))
609 printk("SF:%p-%04x\n", rfd, rfd->stat);
610 if (!(rfd->stat & RFD_STAT_C))
612 if (i596_rx_one(dev, lp, rfd, &frames))
614 rfd->cmd = CMD_EOL;
616 lp->rx_tail = rfd;
617 lp->scb.pa_rfd = rfd->pa_next;