Commit fbb7a6e7 authored by Joachim Eastwood's avatar Joachim Eastwood Committed by David S. Miller

net/at91_ether: use macb dma description struct

Signed-off-by: default avatarJoachim Eastwood <manabian@gmail.com>
parent e0da1f14
...@@ -157,7 +157,7 @@ static void at91ether_start(struct net_device *dev) ...@@ -157,7 +157,7 @@ static void at91ether_start(struct net_device *dev)
for (i = 0; i < MAX_RX_DESCR; i++) { for (i = 0; i < MAX_RX_DESCR; i++) {
dlist->descriptors[i].addr = (unsigned int) &dlist_phys->recv_buf[i][0]; dlist->descriptors[i].addr = (unsigned int) &dlist_phys->recv_buf[i][0];
dlist->descriptors[i].size = 0; dlist->descriptors[i].ctrl = 0;
} }
/* Set the Wrap bit on the last descriptor */ /* Set the Wrap bit on the last descriptor */
...@@ -311,7 +311,7 @@ static void at91ether_rx(struct net_device *dev) ...@@ -311,7 +311,7 @@ static void at91ether_rx(struct net_device *dev)
dlist = lp->dlist; dlist = lp->dlist;
while (dlist->descriptors[lp->rxBuffIndex].addr & MACB_BIT(RX_USED)) { 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].ctrl & 0x7ff; /* Length of frame including FCS */
skb = netdev_alloc_skb(dev, pktlen + 2); skb = netdev_alloc_skb(dev, pktlen + 2);
if (skb != NULL) { if (skb != NULL) {
skb_reserve(skb, 2); skb_reserve(skb, 2);
...@@ -326,7 +326,7 @@ static void at91ether_rx(struct net_device *dev) ...@@ -326,7 +326,7 @@ 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 & MACB_BIT(RX_MHASH_MATCH)) if (dlist->descriptors[lp->rxBuffIndex].ctrl & MACB_BIT(RX_MHASH_MATCH))
dev->stats.multicast++; dev->stats.multicast++;
dlist->descriptors[lp->rxBuffIndex].addr &= ~MACB_BIT(RX_USED); /* reset ownership bit */ dlist->descriptors[lp->rxBuffIndex].addr &= ~MACB_BIT(RX_USED); /* reset ownership bit */
......
...@@ -504,16 +504,11 @@ struct gem_stats { ...@@ -504,16 +504,11 @@ struct gem_stats {
u32 rx_udp_checksum_errors; u32 rx_udp_checksum_errors;
}; };
struct rbf_t {
unsigned int addr;
unsigned long size;
};
#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 */
struct recv_desc_bufs { struct recv_desc_bufs {
struct rbf_t descriptors[MAX_RX_DESCR]; /* must be on sizeof (rbf_t) boundary */ struct dma_desc descriptors[MAX_RX_DESCR]; /* must be on sizeof (dma_desc) boundary */
char recv_buf[MAX_RX_DESCR][MAX_RBUFF_SZ]; /* must be on long boundary */ char recv_buf[MAX_RX_DESCR][MAX_RBUFF_SZ]; /* must be on long boundary */
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment