mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 03:11:46 +00:00
net/at91_ether: use macb defs for rx dma buffers
Signed-off-by: Joachim Eastwood <manabian@gmail.com>
This commit is contained in:
parent
f8bded383e
commit
a723b98434
@ -741,7 +741,7 @@ static void at91ether_start(struct net_device *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Set the Wrap bit on the last descriptor */
|
/* 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 */
|
/* Reset buffer index */
|
||||||
lp->rxBuffIndex = 0;
|
lp->rxBuffIndex = 0;
|
||||||
@ -901,7 +901,7 @@ static void at91ether_rx(struct net_device *dev)
|
|||||||
unsigned int pktlen;
|
unsigned int pktlen;
|
||||||
|
|
||||||
dlist = lp->dlist;
|
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];
|
p_recv = dlist->recv_buf[lp->rxBuffIndex];
|
||||||
pktlen = dlist->descriptors[lp->rxBuffIndex].size & 0x7ff; /* Length of frame including FCS */
|
pktlen = dlist->descriptors[lp->rxBuffIndex].size & 0x7ff; /* Length of frame including FCS */
|
||||||
skb = netdev_alloc_skb(dev, pktlen + 2);
|
skb = netdev_alloc_skb(dev, pktlen + 2);
|
||||||
@ -918,10 +918,10 @@ static void at91ether_rx(struct net_device *dev)
|
|||||||
printk(KERN_NOTICE "%s: Memory squeeze, dropping packet.\n", dev->name);
|
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++;
|
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 */
|
if (lp->rxBuffIndex == MAX_RX_DESCR-1) /* wrap after last buffer */
|
||||||
lp->rxBuffIndex = 0;
|
lp->rxBuffIndex = 0;
|
||||||
else
|
else
|
||||||
|
@ -63,13 +63,6 @@
|
|||||||
#define MAX_RBUFF_SZ 0x600 /* 1518 rounded up */
|
#define MAX_RBUFF_SZ 0x600 /* 1518 rounded up */
|
||||||
#define MAX_RX_DESCR 9 /* max number of receive buffers */
|
#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
|
struct rbf_t
|
||||||
{
|
{
|
||||||
unsigned int addr;
|
unsigned int addr;
|
||||||
|
Loading…
Reference in New Issue
Block a user