Lines Matching refs:lp

2437 	struct macb *lp = netdev_priv(dev);  in at91ether_start()  local
2442 lp->rx_ring = dma_alloc_coherent(&lp->pdev->dev, in at91ether_start()
2445 &lp->rx_ring_dma, GFP_KERNEL); in at91ether_start()
2446 if (!lp->rx_ring) in at91ether_start()
2449 lp->rx_buffers = dma_alloc_coherent(&lp->pdev->dev, in at91ether_start()
2452 &lp->rx_buffers_dma, GFP_KERNEL); in at91ether_start()
2453 if (!lp->rx_buffers) { in at91ether_start()
2454 dma_free_coherent(&lp->pdev->dev, in at91ether_start()
2457 lp->rx_ring, lp->rx_ring_dma); in at91ether_start()
2458 lp->rx_ring = NULL; in at91ether_start()
2462 addr = lp->rx_buffers_dma; in at91ether_start()
2464 lp->rx_ring[i].addr = addr; in at91ether_start()
2465 lp->rx_ring[i].ctrl = 0; in at91ether_start()
2470 lp->rx_ring[AT91ETHER_MAX_RX_DESCR - 1].addr |= MACB_BIT(RX_WRAP); in at91ether_start()
2473 lp->rx_tail = 0; in at91ether_start()
2476 macb_writel(lp, RBQP, lp->rx_ring_dma); in at91ether_start()
2479 ctl = macb_readl(lp, NCR); in at91ether_start()
2480 macb_writel(lp, NCR, ctl | MACB_BIT(RE) | MACB_BIT(TE)); in at91ether_start()
2488 struct macb *lp = netdev_priv(dev); in at91ether_open() local
2493 ctl = macb_readl(lp, NCR); in at91ether_open()
2494 macb_writel(lp, NCR, ctl | MACB_BIT(CLRSTAT)); in at91ether_open()
2496 macb_set_hwaddr(lp); in at91ether_open()
2503 macb_writel(lp, IER, MACB_BIT(RCOMP) | in at91ether_open()
2512 phy_start(lp->phy_dev); in at91ether_open()
2522 struct macb *lp = netdev_priv(dev); in at91ether_close() local
2526 ctl = macb_readl(lp, NCR); in at91ether_close()
2527 macb_writel(lp, NCR, ctl & ~(MACB_BIT(TE) | MACB_BIT(RE))); in at91ether_close()
2530 macb_writel(lp, IDR, MACB_BIT(RCOMP) | in at91ether_close()
2540 dma_free_coherent(&lp->pdev->dev, in at91ether_close()
2543 lp->rx_ring, lp->rx_ring_dma); in at91ether_close()
2544 lp->rx_ring = NULL; in at91ether_close()
2546 dma_free_coherent(&lp->pdev->dev, in at91ether_close()
2548 lp->rx_buffers, lp->rx_buffers_dma); in at91ether_close()
2549 lp->rx_buffers = NULL; in at91ether_close()
2557 struct macb *lp = netdev_priv(dev); in at91ether_start_xmit() local
2559 if (macb_readl(lp, TSR) & MACB_BIT(RM9200_BNQ)) { in at91ether_start_xmit()
2563 lp->skb = skb; in at91ether_start_xmit()
2564 lp->skb_length = skb->len; in at91ether_start_xmit()
2565 lp->skb_physaddr = dma_map_single(NULL, skb->data, skb->len, in at91ether_start_xmit()
2569 macb_writel(lp, TAR, lp->skb_physaddr); in at91ether_start_xmit()
2571 macb_writel(lp, TCR, skb->len); in at91ether_start_xmit()
2586 struct macb *lp = netdev_priv(dev); in at91ether_rx() local
2591 while (lp->rx_ring[lp->rx_tail].addr & MACB_BIT(RX_USED)) { in at91ether_rx()
2592 p_recv = lp->rx_buffers + lp->rx_tail * AT91ETHER_MAX_RBUFF_SZ; in at91ether_rx()
2593 pktlen = MACB_BF(RX_FRMLEN, lp->rx_ring[lp->rx_tail].ctrl); in at91ether_rx()
2600 lp->stats.rx_packets++; in at91ether_rx()
2601 lp->stats.rx_bytes += pktlen; in at91ether_rx()
2604 lp->stats.rx_dropped++; in at91ether_rx()
2607 if (lp->rx_ring[lp->rx_tail].ctrl & MACB_BIT(RX_MHASH_MATCH)) in at91ether_rx()
2608 lp->stats.multicast++; in at91ether_rx()
2611 lp->rx_ring[lp->rx_tail].addr &= ~MACB_BIT(RX_USED); in at91ether_rx()
2614 if (lp->rx_tail == AT91ETHER_MAX_RX_DESCR - 1) in at91ether_rx()
2615 lp->rx_tail = 0; in at91ether_rx()
2617 lp->rx_tail++; in at91ether_rx()
2625 struct macb *lp = netdev_priv(dev); in at91ether_interrupt() local
2631 intstatus = macb_readl(lp, ISR); in at91ether_interrupt()
2641 lp->stats.tx_errors++; in at91ether_interrupt()
2643 if (lp->skb) { in at91ether_interrupt()
2644 dev_kfree_skb_irq(lp->skb); in at91ether_interrupt()
2645 lp->skb = NULL; in at91ether_interrupt()
2646 dma_unmap_single(NULL, lp->skb_physaddr, in at91ether_interrupt()
2647 lp->skb_length, DMA_TO_DEVICE); in at91ether_interrupt()
2648 lp->stats.tx_packets++; in at91ether_interrupt()
2649 lp->stats.tx_bytes += lp->skb_length; in at91ether_interrupt()
2656 ctl = macb_readl(lp, NCR); in at91ether_interrupt()
2657 macb_writel(lp, NCR, ctl & ~MACB_BIT(RE)); in at91ether_interrupt()
2658 macb_writel(lp, NCR, ctl | MACB_BIT(RE)); in at91ether_interrupt()