projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add the ipset missing file from #1970
[openwrt.git]
/
target
/
linux
/
ar7-2.6
/
files
/
drivers
/
net
/
cpmac.c
diff --git
a/target/linux/ar7-2.6/files/drivers/net/cpmac.c
b/target/linux/ar7-2.6/files/drivers/net/cpmac.c
index
e0c49b7
..
7d46677
100644
(file)
--- a/
target/linux/ar7-2.6/files/drivers/net/cpmac.c
+++ b/
target/linux/ar7-2.6/files/drivers/net/cpmac.c
@@
-223,6
+223,7
@@
static void cpmac_hw_init(struct net_device *dev);
static int cpmac_stop(struct net_device *dev);
static int cpmac_open(struct net_device *dev);
static int cpmac_stop(struct net_device *dev);
static int cpmac_open(struct net_device *dev);
+#undef CPMAC_DEBUG
#define CPMAC_LOW_THRESH 32
#define CPMAC_ALLOC_SIZE 64
#define CPMAC_SKB_SIZE 1518
#define CPMAC_LOW_THRESH 32
#define CPMAC_ALLOC_SIZE 64
#define CPMAC_SKB_SIZE 1518
@@
-238,6
+239,18
@@
static void cpmac_dump_regs(u32 *base, int count)
}
printk("\n");
}
}
printk("\n");
}
+
+static const char *cpmac_dump_buf(const uint8_t * buf, unsigned size)
+{
+ static char buffer[3 * 25 + 1];
+ char *p = &buffer[0];
+ if (size > 20)
+ size = 20;
+ while (size-- > 0) {
+ p += sprintf(p, " %02x", *buf++);
+ }
+ return buffer;
+}
#endif
static int cpmac_mdio_read(struct mii_bus *bus, int phy_id, int regnum)
#endif
static int cpmac_mdio_read(struct mii_bus *bus, int phy_id, int regnum)
@@
-446,7
+459,11
@@
static void cpmac_rx(struct net_device *dev)
desc = priv->rx_head;
dma_cache_inv((u32)desc, 16);
desc = priv->rx_head;
dma_cache_inv((u32)desc, 16);
-
+#ifdef CPMAC_DEBUG
+ printk(KERN_DEBUG "%s: len=%d, %s\n", __func__, pkt->datalen,
+ cpmac_dump_buf(data, pkt->datalen));
+#endif
+
while ((desc->dataflags & CPMAC_OWN) == 0) {
skb = cpmac_rx_one(dev, priv, desc);
if (likely(skb)) {
while ((desc->dataflags & CPMAC_OWN) == 0) {
skb = cpmac_rx_one(dev, priv, desc);
if (likely(skb)) {
@@
-558,6
+575,9
@@
static int cpmac_start_xmit(struct sk_buff *skb, struct net_device *dev)
struct cpmac_priv *priv = netdev_priv(dev);
len = skb->len;
struct cpmac_priv *priv = netdev_priv(dev);
len = skb->len;
+#ifdef CPMAC_DEBUG
+ printk(KERN_DEBUG "%s: len=%d\n", __func__, len); //cpmac_dump_buf(const uint8_t * buf, unsigned size)
+#endif
if (unlikely(len < ETH_ZLEN)) {
if (unlikely(skb_padto(skb, ETH_ZLEN))) {
if (printk_ratelimit())
if (unlikely(len < ETH_ZLEN)) {
if (unlikely(skb_padto(skb, ETH_ZLEN))) {
if (printk_ratelimit())
@@
-689,7
+709,9
@@
static irqreturn_t cpmac_irq(int irq, void *dev_id)
priv->regs->mac_eoi_vector = 0;
if (unlikely(status & (INTST_HOST | INTST_STATUS))) {
priv->regs->mac_eoi_vector = 0;
if (unlikely(status & (INTST_HOST | INTST_STATUS))) {
- printk(KERN_ERR "%s: hw error, resetting...\n", dev->name);
+ if (printk_ratelimit()) {
+ printk(KERN_ERR "%s: hw error, resetting...\n", dev->name);
+ }
spin_lock(&priv->lock);
phy_stop(priv->phy);
cpmac_reset(dev);
spin_lock(&priv->lock);
phy_stop(priv->phy);
cpmac_reset(dev);
@@
-1151,9
+1173,9
@@
int __devinit cpmac_init(void)
#warning FIXME: unhardcode gpio&reset bits
ar7_gpio_disable(26);
ar7_gpio_disable(27);
#warning FIXME: unhardcode gpio&reset bits
ar7_gpio_disable(26);
ar7_gpio_disable(27);
- ar7_device_reset(
17
);
- ar7_device_reset(
21
);
- ar7_device_reset(
26
);
+ ar7_device_reset(
AR7_RESET_BIT_CPMAC_LO
);
+ ar7_device_reset(
AR7_RESET_BIT_CPMAC_HI
);
+ ar7_device_reset(
AR7_RESET_BIT_EPHY
);
cpmac_mii.reset(&cpmac_mii);
cpmac_mii.reset(&cpmac_mii);
This page took
0.024058 seconds
and
4
git commands to generate.