Loading drivers/net/ethernet/cadence/at91_ether.c +4 −4 Original line number Diff line number Diff line Loading @@ -741,7 +741,7 @@ static void at91ether_start(struct net_device *dev) } /* Set the Wrap bit on the last descriptor */ dlist->descriptors[i-1].addr |= EMAC_DESC_WRAP; dlist->descriptors[i-1].addr |= MACB_BIT(RX_WRAP); /* Reset buffer index */ lp->rxBuffIndex = 0; Loading Loading @@ -901,7 +901,7 @@ static void at91ether_rx(struct net_device *dev) unsigned int pktlen; dlist = lp->dlist; while (dlist->descriptors[lp->rxBuffIndex].addr & EMAC_DESC_DONE) { while (dlist->descriptors[lp->rxBuffIndex].addr & MACB_BIT(RX_USED)) { p_recv = dlist->recv_buf[lp->rxBuffIndex]; pktlen = dlist->descriptors[lp->rxBuffIndex].size & 0x7ff; /* Length of frame including FCS */ skb = netdev_alloc_skb(dev, pktlen + 2); Loading @@ -918,10 +918,10 @@ static void at91ether_rx(struct net_device *dev) printk(KERN_NOTICE "%s: Memory squeeze, dropping packet.\n", dev->name); } if (dlist->descriptors[lp->rxBuffIndex].size & EMAC_MULTICAST) if (dlist->descriptors[lp->rxBuffIndex].size & MACB_BIT(RX_MHASH_MATCH)) dev->stats.multicast++; dlist->descriptors[lp->rxBuffIndex].addr &= ~EMAC_DESC_DONE; /* reset ownership bit */ dlist->descriptors[lp->rxBuffIndex].addr &= ~MACB_BIT(RX_USED); /* reset ownership bit */ if (lp->rxBuffIndex == MAX_RX_DESCR-1) /* wrap after last buffer */ lp->rxBuffIndex = 0; else Loading drivers/net/ethernet/cadence/at91_ether.h +0 −7 Original line number Diff line number Diff line Loading @@ -63,13 +63,6 @@ #define MAX_RBUFF_SZ 0x600 /* 1518 rounded up */ #define MAX_RX_DESCR 9 /* max number of receive buffers */ #define EMAC_DESC_DONE 0x00000001 /* bit for if DMA is done */ #define EMAC_DESC_WRAP 0x00000002 /* bit for wrap */ #define EMAC_BROADCAST 0x80000000 /* broadcast address */ #define EMAC_MULTICAST 0x40000000 /* multicast address */ #define EMAC_UNICAST 0x20000000 /* unicast address */ struct rbf_t { unsigned int addr; Loading Loading
drivers/net/ethernet/cadence/at91_ether.c +4 −4 Original line number Diff line number Diff line Loading @@ -741,7 +741,7 @@ static void at91ether_start(struct net_device *dev) } /* Set the Wrap bit on the last descriptor */ dlist->descriptors[i-1].addr |= EMAC_DESC_WRAP; dlist->descriptors[i-1].addr |= MACB_BIT(RX_WRAP); /* Reset buffer index */ lp->rxBuffIndex = 0; Loading Loading @@ -901,7 +901,7 @@ static void at91ether_rx(struct net_device *dev) unsigned int pktlen; dlist = lp->dlist; while (dlist->descriptors[lp->rxBuffIndex].addr & EMAC_DESC_DONE) { while (dlist->descriptors[lp->rxBuffIndex].addr & MACB_BIT(RX_USED)) { p_recv = dlist->recv_buf[lp->rxBuffIndex]; pktlen = dlist->descriptors[lp->rxBuffIndex].size & 0x7ff; /* Length of frame including FCS */ skb = netdev_alloc_skb(dev, pktlen + 2); Loading @@ -918,10 +918,10 @@ static void at91ether_rx(struct net_device *dev) printk(KERN_NOTICE "%s: Memory squeeze, dropping packet.\n", dev->name); } if (dlist->descriptors[lp->rxBuffIndex].size & EMAC_MULTICAST) if (dlist->descriptors[lp->rxBuffIndex].size & MACB_BIT(RX_MHASH_MATCH)) dev->stats.multicast++; dlist->descriptors[lp->rxBuffIndex].addr &= ~EMAC_DESC_DONE; /* reset ownership bit */ dlist->descriptors[lp->rxBuffIndex].addr &= ~MACB_BIT(RX_USED); /* reset ownership bit */ if (lp->rxBuffIndex == MAX_RX_DESCR-1) /* wrap after last buffer */ lp->rxBuffIndex = 0; else Loading
drivers/net/ethernet/cadence/at91_ether.h +0 −7 Original line number Diff line number Diff line Loading @@ -63,13 +63,6 @@ #define MAX_RBUFF_SZ 0x600 /* 1518 rounded up */ #define MAX_RX_DESCR 9 /* max number of receive buffers */ #define EMAC_DESC_DONE 0x00000001 /* bit for if DMA is done */ #define EMAC_DESC_WRAP 0x00000002 /* bit for wrap */ #define EMAC_BROADCAST 0x80000000 /* broadcast address */ #define EMAC_MULTICAST 0x40000000 /* multicast address */ #define EMAC_UNICAST 0x20000000 /* unicast address */ struct rbf_t { unsigned int addr; Loading