X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/5951d03bc4e55cc541795c60c10ee6be6eec4f23..afb2aa1a4aaf9463a6babbbcb94e3f2c4d71bf8f:/target/linux/ixp4xx/patches-2.6.27/202-npe_driver_switch_support.patch diff --git a/target/linux/ixp4xx/patches-2.6.27/202-npe_driver_switch_support.patch b/target/linux/ixp4xx/patches-2.6.27/202-npe_driver_switch_support.patch index 544b76e78..a256c97d6 100644 --- a/target/linux/ixp4xx/patches-2.6.27/202-npe_driver_switch_support.patch +++ b/target/linux/ixp4xx/patches-2.6.27/202-npe_driver_switch_support.patch @@ -1,6 +1,6 @@ --- a/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c -@@ -165,14 +165,15 @@ +@@ -165,14 +165,15 @@ struct port { struct net_device *netdev; struct napi_struct napi; struct net_device_stats stat; @@ -18,7 +18,7 @@ }; /* NPE message structure */ -@@ -316,12 +317,13 @@ +@@ -316,12 +317,13 @@ static void mdio_write(struct net_device spin_unlock_irqrestore(&mdio_lock, flags); } @@ -34,7 +34,7 @@ while (cycles < MAX_MII_RESET_RETRIES) { if (!(mdio_read(dev, phy_id, MII_BMCR) & BMCR_RESET)) { -@@ -335,12 +337,12 @@ +@@ -335,12 +337,12 @@ static void phy_reset(struct net_device cycles++; } @@ -50,7 +50,7 @@ __raw_writel(DEFAULT_TX_CNTRL0 & ~TX_CNTRL0_HALFDUPLEX, &port->regs->tx_control[0]); else -@@ -348,7 +350,7 @@ +@@ -348,7 +350,7 @@ static void eth_set_duplex(struct port * &port->regs->tx_control[0]); } @@ -59,7 +59,7 @@ static void phy_check_media(struct port *port, int init) { if (mii_check_media(&port->mii, 1, init)) -@@ -367,7 +369,63 @@ +@@ -367,7 +369,63 @@ static void phy_check_media(struct port } } } @@ -123,7 +123,7 @@ static void mdio_thread(struct work_struct *work) { -@@ -791,9 +849,12 @@ +@@ -791,9 +849,12 @@ static int eth_ioctl(struct net_device * if (!netif_running(dev)) return -EINVAL; @@ -138,7 +138,7 @@ return err; } -@@ -946,7 +1007,8 @@ +@@ -946,7 +1007,8 @@ static int eth_open(struct net_device *d } } @@ -148,7 +148,7 @@ memset(&msg, 0, sizeof(msg)); msg.cmd = NPE_VLAN_SETRXQOSENTRY; -@@ -1106,10 +1168,8 @@ +@@ -1106,10 +1168,8 @@ static int eth_close(struct net_device * printk(KERN_CRIT "%s: unable to disable loopback\n", dev->name); @@ -161,7 +161,7 @@ if (!ports_open) qmgr_disable_irq(TXDONE_QUEUE); -@@ -1119,6 +1179,42 @@ +@@ -1119,6 +1179,42 @@ static int eth_close(struct net_device * return 0; } @@ -204,7 +204,7 @@ static int __devinit eth_init_one(struct platform_device *pdev) { struct port *port; -@@ -1191,20 +1287,7 @@ +@@ -1191,20 +1287,7 @@ static int __devinit eth_init_one(struct __raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control); udelay(50); @@ -228,7 +228,7 @@ return 0; --- a/arch/arm/mach-ixp4xx/include/mach/platform.h +++ b/arch/arm/mach-ixp4xx/include/mach/platform.h -@@ -95,12 +95,15 @@ +@@ -95,12 +95,15 @@ struct sys_timer; #define IXP4XX_ETH_NPEB 0x10 #define IXP4XX_ETH_NPEC 0x20