Re: [git patches] net driver updates
Divy Le Ray wrote: From: Divy Le Ray [EMAIL PROTECTED] Date: Wed, 20 Feb 2008 21:57:08 -0800 The driver is cxgb3 here, it uses LLTX. That's extremely unfortunate, hopefully you can update it to use a model like tg3 and others use. LLTX is a lost cause for hardware device drivers, and in fact we'd like to remove it tree wide eventually. It sounds like I messed up. cxgb3 does not use LLTX - The Chelsio driver does, thus should be converted. So, it sounds like Krishna's patch is ok, because the race does not exist anymore in this driver? Jeff -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
Marin Mitov wrote: On Tuesday 26 February 2008 12:59:04 am you wrote: Divy Le Ray wrote: From: Divy Le Ray [EMAIL PROTECTED] Date: Wed, 20 Feb 2008 21:57:08 -0800 The driver is cxgb3 here, it uses LLTX. That's extremely unfortunate, hopefully you can update it to use a model like tg3 and others use. LLTX is a lost cause for hardware device drivers, and in fact we'd like to remove it tree wide eventually. Just for info: loopback.c uses it too :-) Yes, we're all aware of this. Google for david miller loopback lltx for a few examples... Also, please do not strip CC's, that's quite annoying. Jeff -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
Divy Le Ray wrote: So, it sounds like Krishna's patch is ok, because the race does not exist anymore in this driver? The first part is right indeed, but the second part is breaking the current usage of txq_stopped and the logic that stops and restarts the Tx queue. I can submit a patch fixing it. Plese let me know what's more convenient for you. At this point, yes a fix (with a good patch description) would be preferred... Thanks, Jeff -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
So, it sounds like Krishna's patch is ok, because the race does not exist anymore in this driver? The first part is right indeed, but the second part is breaking the current usage of txq_stopped and the logic that stops and restarts the Tx queue. I can submit a patch fixing it. Plese let me know what's more convenient for you. Cheers, Divy -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
Divy Le Ray wrote: Jeff Garzik wrote: Mostly fixes, a few cleanups (generally assisting fixes), and an exception for PS3 wireless because it had been posted, reviewed and acked for a while, just not committed. Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem to receive the following updates: drivers/net/cxgb3/sge.c | 35 +- diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index 9ca8c66..979f3fc 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c @@ -1059,6 +1059,14 @@ static void write_tx_pkt_wr(struct adapter *adap, struct sk_buff *skb, htonl(V_WR_TID(q-token))); } +static inline void t3_stop_queue(struct net_device *dev, struct sge_qset *qs, + struct sge_txq *q) +{ +netif_stop_queue(dev); +set_bit(TXQ_ETH, qs-txq_stopped); +q-stops++; +} + /** *eth_xmit - add a packet to the Ethernet Tx queue *@skb: the packet @@ -1090,31 +1098,18 @@ int t3_eth_xmit(struct sk_buff *skb, struct net_device *dev) ndesc = calc_tx_descs(skb); if (unlikely(credits ndesc)) { -if (!netif_queue_stopped(dev)) { -netif_stop_queue(dev); -set_bit(TXQ_ETH, qs-txq_stopped); -q-stops++; -dev_err(adap-pdev-dev, -%s: Tx ring %u full while queue awake!\n, -dev-name, q-cntxt_id 7); -} +t3_stop_queue(dev, qs, q); +dev_err(adap-pdev-dev, +%s: Tx ring %u full while queue awake!\n, +dev-name, q-cntxt_id 7); spin_unlock(q-lock); return NETDEV_TX_BUSY; } q-in_use += ndesc; -if (unlikely(credits - ndesc q-stop_thres)) { -q-stops++; -netif_stop_queue(dev); -set_bit(TXQ_ETH, qs-txq_stopped); -#if !USE_GTS -if (should_restart_tx(q) -test_and_clear_bit(TXQ_ETH, qs-txq_stopped)) { -q-restarts++; -netif_wake_queue(dev); -} -#endif -} +if (unlikely(credits - ndesc q-stop_thres)) +if (USE_GTS || !should_restart_tx(q)) +t3_stop_queue(dev, qs, q); gen = q-gen; q-unacked += ndesc; Hi Jeff, I thought I had NAK'ed the patch modifying sge.c from Krishna Kumar. Looking back at my answer at the time, I was obviously unclear. Can you please revert the drivers/net/cxgb3sge.c change ? Explain why, so I can include it in the changelog please... Jeff -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
Jeff Garzik wrote: Divy Le Ray wrote: Jeff Garzik wrote: Mostly fixes, a few cleanups (generally assisting fixes), and an exception for PS3 wireless because it had been posted, reviewed and acked for a while, just not committed. Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem to receive the following updates: drivers/net/cxgb3/sge.c | 35 +- diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index 9ca8c66..979f3fc 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c @@ -1059,6 +1059,14 @@ static void write_tx_pkt_wr(struct adapter *adap, struct sk_buff *skb, htonl(V_WR_TID(q-token))); } +static inline void t3_stop_queue(struct net_device *dev, struct sge_qset *qs, + struct sge_txq *q) +{ +netif_stop_queue(dev); +set_bit(TXQ_ETH, qs-txq_stopped); +q-stops++; +} + /** *eth_xmit - add a packet to the Ethernet Tx queue *@skb: the packet @@ -1090,31 +1098,18 @@ int t3_eth_xmit(struct sk_buff *skb, struct net_device *dev) ndesc = calc_tx_descs(skb); if (unlikely(credits ndesc)) { -if (!netif_queue_stopped(dev)) { -netif_stop_queue(dev); -set_bit(TXQ_ETH, qs-txq_stopped); -q-stops++; -dev_err(adap-pdev-dev, -%s: Tx ring %u full while queue awake!\n, -dev-name, q-cntxt_id 7); -} +t3_stop_queue(dev, qs, q); +dev_err(adap-pdev-dev, +%s: Tx ring %u full while queue awake!\n, +dev-name, q-cntxt_id 7); spin_unlock(q-lock); return NETDEV_TX_BUSY; } q-in_use += ndesc; -if (unlikely(credits - ndesc q-stop_thres)) { -q-stops++; -netif_stop_queue(dev); -set_bit(TXQ_ETH, qs-txq_stopped); -#if !USE_GTS -if (should_restart_tx(q) -test_and_clear_bit(TXQ_ETH, qs-txq_stopped)) { -q-restarts++; -netif_wake_queue(dev); -} -#endif -} +if (unlikely(credits - ndesc q-stop_thres)) +if (USE_GTS || !should_restart_tx(q)) +t3_stop_queue(dev, qs, q); gen = q-gen; q-unacked += ndesc; Hi Jeff, I thought I had NAK'ed the patch modifying sge.c from Krishna Kumar. Looking back at my answer at the time, I was obviously unclear. Can you please revert the drivers/net/cxgb3sge.c change ? Explain why, so I can include it in the changelog please... Hi Jeff, The first part of the patch removes the !netif_queue_stopped(dev). It opens the race discussed a while ago between Stephen hemminger and David Miller: http://marc.info/?l=linux-netdevm=113383224512427w=2 The second part of the patch breaks the current usage of txq_stopped and the logic that stops and restarts the Tx queue. Cheers, Divy -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
Hi Divy, Explain why, so I can include it in the changelog please... Hi Jeff, The first part of the patch removes the !netif_queue_stopped(dev). It opens the race discussed a while ago between Stephen hemminger and David Miller: http://marc.info/?l=linux-netdevm=113383224512427w=2 I feel this race cannot happen anymore. I think the fix for that race was to introduce the __LINK_STATE_QDISC_RUNNING bit thus eliminating any races between CPU's. If one CPU has called xmit, the other CPU will enqueue skbs (by holding the queue_lock) and exit from qdisc_run since it finds the bit set already. Thanks, - KK -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
From: Krishna Kumar2 [EMAIL PROTECTED] Date: Thu, 21 Feb 2008 09:13:49 +0530 Hi Divy, Explain why, so I can include it in the changelog please... Hi Jeff, The first part of the patch removes the !netif_queue_stopped(dev). It opens the race discussed a while ago between Stephen hemminger and David Miller: http://marc.info/?l=linux-netdevm=113383224512427w=2 I feel this race cannot happen anymore. I think the fix for that race was to introduce the __LINK_STATE_QDISC_RUNNING bit thus eliminating any races between CPU's. If one CPU has called xmit, the other CPU will enqueue skbs (by holding the queue_lock) and exit from qdisc_run since it finds the bit set already. And the race is talking about LLTX, which S2IO doesn't use as far as I can tell. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [git patches] net driver updates
-Original Message- From: David Miller [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 20, 2008 9:47 PM To: [EMAIL PROTECTED] Cc: Divy Le Ray; [EMAIL PROTECTED]; [EMAIL PROTECTED]; netdev@vger.kernel.org Subject: Re: [git patches] net driver updates From: Krishna Kumar2 [EMAIL PROTECTED] Date: Thu, 21 Feb 2008 09:13:49 +0530 Hi Divy, Explain why, so I can include it in the changelog please... Hi Jeff, The first part of the patch removes the !netif_queue_stopped(dev). It opens the race discussed a while ago between Stephen hemminger and David Miller: http://marc.info/?l=linux-netdevm=113383224512427w=2 I feel this race cannot happen anymore. I think the fix for that race was to introduce the __LINK_STATE_QDISC_RUNNING bit thus eliminating any races between CPU's. If one CPU has called xmit, the other CPU will enqueue skbs (by holding the queue_lock) and exit from qdisc_run since it finds the bit set already. And the race is talking about LLTX, which S2IO doesn't use as far as I can tell. Dave, The driver is cxgb3 here, it uses LLTX. Cheers, Divy -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [git patches] net driver updates
Hi Divy, But the race doesn't exist even for LLTX drivers these days. There is no way two cpu's can execute the xmit handler at the same time. Thanks, - KK The first part of the patch removes the !netif_queue_stopped(dev). It opens the race discussed a while ago between Stephen hemminger and David Miller: http://marc.info/?l=linux-netdevm=113383224512427w=2 I feel this race cannot happen anymore. I think the fix for that race was to introduce the __LINK_STATE_QDISC_RUNNING bit thus eliminating any races between CPU's. If one CPU has called xmit, the other CPU will enqueue skbs (by holding the queue_lock) and exit from qdisc_run since it finds the bit set already. And the race is talking about LLTX, which S2IO doesn't use as far as I can tell. Dave, The driver is cxgb3 here, it uses LLTX. Cheers, Divy -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
From: Divy Le Ray [EMAIL PROTECTED] Date: Wed, 20 Feb 2008 21:57:08 -0800 The driver is cxgb3 here, it uses LLTX. That's extremely unfortunate, hopefully you can update it to use a model like tg3 and others use. LLTX is a lost cause for hardware device drivers, and in fact we'd like to remove it tree wide eventually. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [git patches] net driver updates
From: Divy Le Ray [EMAIL PROTECTED] Date: Wed, 20 Feb 2008 21:57:08 -0800 The driver is cxgb3 here, it uses LLTX. That's extremely unfortunate, hopefully you can update it to use a model like tg3 and others use. LLTX is a lost cause for hardware device drivers, and in fact we'd like to remove it tree wide eventually. It sounds like I messed up. cxgb3 does not use LLTX - The Chelsio driver does, thus should be converted. Divy -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
Ben Dooks wrote: These two where meant to be from Laurent Pinchart, they do have the correct signed-off lines in for him and start with Patch from:. Is there any chance of fixing the authour attribution now? The first line of the changeset mentions it. Other than that, nope. Jeff -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
On Mon, Feb 11, 2008 at 12:05:16PM -0500, Jeff Garzik wrote: Mostly fixes, a few cleanups (generally assisting fixes), and an exception for PS3 wireless because it had been posted, reviewed and acked for a while, just not committed. Thanks, good to get the DM9000 changes moving. Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem Ben Dooks (24): DM9000: Fix endian-ness of data accesses. DM9000: Add platform data to specify external phy These two where meant to be from Laurent Pinchart, they do have the correct signed-off lines in for him and start with Patch from:. Is there any chance of fixing the authour attribution now? -- Ben ([EMAIL PROTECTED], http://www.fluff.org/) 'a smiley only costs 4 bytes' -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
From: Jeff Garzik [EMAIL PROTECTED] Date: Mon, 11 Feb 2008 12:05:16 -0500 Mostly fixes, a few cleanups (generally assisting fixes), and an exception for PS3 wireless because it had been posted, reviewed and acked for a while, just not committed. Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem to receive the following updates: Pulled, thanks a lot Jeff! -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
Jeff Garzik wrote: Mostly fixes, a few cleanups (generally assisting fixes), and an exception for PS3 wireless because it had been posted, reviewed and acked for a while, just not committed. Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem to receive the following updates: drivers/net/cxgb3/sge.c | 35 +- diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index 9ca8c66..979f3fc 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c @@ -1059,6 +1059,14 @@ static void write_tx_pkt_wr(struct adapter *adap, struct sk_buff *skb, htonl(V_WR_TID(q-token))); } +static inline void t3_stop_queue(struct net_device *dev, struct sge_qset *qs, +struct sge_txq *q) +{ + netif_stop_queue(dev); + set_bit(TXQ_ETH, qs-txq_stopped); + q-stops++; +} + /** * eth_xmit - add a packet to the Ethernet Tx queue * @skb: the packet @@ -1090,31 +1098,18 @@ int t3_eth_xmit(struct sk_buff *skb, struct net_device *dev) ndesc = calc_tx_descs(skb); if (unlikely(credits ndesc)) { - if (!netif_queue_stopped(dev)) { - netif_stop_queue(dev); - set_bit(TXQ_ETH, qs-txq_stopped); - q-stops++; - dev_err(adap-pdev-dev, - %s: Tx ring %u full while queue awake!\n, - dev-name, q-cntxt_id 7); - } + t3_stop_queue(dev, qs, q); + dev_err(adap-pdev-dev, + %s: Tx ring %u full while queue awake!\n, + dev-name, q-cntxt_id 7); spin_unlock(q-lock); return NETDEV_TX_BUSY; } q-in_use += ndesc; - if (unlikely(credits - ndesc q-stop_thres)) { - q-stops++; - netif_stop_queue(dev); - set_bit(TXQ_ETH, qs-txq_stopped); -#if !USE_GTS - if (should_restart_tx(q) - test_and_clear_bit(TXQ_ETH, qs-txq_stopped)) { - q-restarts++; - netif_wake_queue(dev); - } -#endif - } + if (unlikely(credits - ndesc q-stop_thres)) + if (USE_GTS || !should_restart_tx(q)) + t3_stop_queue(dev, qs, q); gen = q-gen; q-unacked += ndesc; Hi Jeff, I thought I had NAK'ed the patch modifying sge.c from Krishna Kumar. Looking back at my answer at the time, I was obviously unclear. Can you please revert the drivers/net/cxgb3sge.c change ? Cheers, Divy -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[git patches] net driver updates
Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem to receive the following updates: drivers/net/forcedeth.c | 49 +- drivers/net/gianfar_mii.c |4 +- drivers/net/iseries_veth.c|2 +- drivers/net/ixgbe/ixgbe.h |4 +- drivers/net/ixgbe/ixgbe_ethtool.c | 91 +++- drivers/net/ixgbe/ixgbe_main.c| 305 drivers/net/mv643xx_eth.c | 11 +- drivers/net/sky2.c| 17 +-- drivers/net/sky2.h|2 +- drivers/net/tlan.c| 25 +++- drivers/net/tulip/xircom_cb.c |2 +- drivers/net/ucc_geth_mii.c|4 +- drivers/net/virtio_net.c | 10 +- drivers/net/wan/hdlc.c| 24 +-- drivers/net/wan/hdlc_cisco.c |5 +- drivers/net/wan/hdlc_fr.c | 53 +++ drivers/net/wan/hdlc_ppp.c|2 +- drivers/net/wan/hdlc_raw.c|2 +- drivers/net/wan/hdlc_raw_eth.c|6 +- drivers/net/wan/hdlc_x25.c| 10 +- include/linux/hdlc.h | 25 +--- 21 files changed, 398 insertions(+), 255 deletions(-) Andy Fleming (1): Fix PHY Lib support for gianfar and ucc_geth Ayaz Abdulla (3): forcedeth: restart tx/rx forcedeth: phy status fix forcedeth: preserve registers Ayyappan Veeraiyan (8): ixgbe: remove obsolete irq_sem, add driver state checking code ixbge: remove TX lock and redo TX accounting. ixbge: Make ethtool code account for media types ixgbe: Fix pause code for ethtool ixgbe: Fix FW init/release, make this code a function ixgbe: properly return CHECKSUM_NONE, cleanup csum code ixgbe: fix several counter register errata ixgbe: add real-time traffic counters Byron Bradley (1): mv643xx_eth: fix byte order when checksum offload is enabled Christian Borntraeger (1): virtio net: fix oops on interface-up Erik Mouw (1): xircom_cb should return NETDEV_TX_BUSY when no descriptors available Krzysztof Halasa (3): Generic HDLC - fix kernel panic Generic HDLC - remove now unneeded hdlc_device_desc Generic HDLC - use random_ether_addr() Leonardo Potenza (1): drivers/net/tlan.c: compilation warning fix Stephen Hemminger (1): sky2: fix for Yukon FE (regression in 2.6.25) Stephen Rothwell (1): iSeries: fix section mismatch in iseries_veth diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index 3634223..d4843d0 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c @@ -323,8 +323,8 @@ enum { NvRegMIIStatus = 0x180, #define NVREG_MIISTAT_ERROR0x0001 #define NVREG_MIISTAT_LINKCHANGE 0x0008 -#define NVREG_MIISTAT_MASK 0x000f -#define NVREG_MIISTAT_MASK20x000f +#define NVREG_MIISTAT_MASK_RW 0x0007 +#define NVREG_MIISTAT_MASK_ALL 0x000f NvRegMIIMask = 0x184, #define NVREG_MII_LINKCHANGE 0x0008 @@ -624,6 +624,9 @@ union ring_type { #define NV_MSI_X_VECTOR_TX0x1 #define NV_MSI_X_VECTOR_OTHER 0x2 +#define NV_RESTART_TX 0x1 +#define NV_RESTART_RX 0x2 + /* statistics */ struct nv_ethtool_str { char name[ETH_GSTRING_LEN]; @@ -1061,7 +1064,7 @@ static int mii_rw(struct net_device *dev, int addr, int miireg, int value) u32 reg; int retval; - writel(NVREG_MIISTAT_MASK, base + NvRegMIIStatus); + writel(NVREG_MIISTAT_MASK_RW, base + NvRegMIIStatus); reg = readl(base + NvRegMIIControl); if (reg NVREG_MIICTL_INUSE) { @@ -1432,16 +1435,30 @@ static void nv_mac_reset(struct net_device *dev) { struct fe_priv *np = netdev_priv(dev); u8 __iomem *base = get_hwbase(dev); + u32 temp1, temp2, temp3; dprintk(KERN_DEBUG %s: nv_mac_reset\n, dev-name); + writel(NVREG_TXRXCTL_BIT2 | NVREG_TXRXCTL_RESET | np-txrxctl_bits, base + NvRegTxRxControl); pci_push(base); + + /* save registers since they will be cleared on reset */ + temp1 = readl(base + NvRegMacAddrA); + temp2 = readl(base + NvRegMacAddrB); + temp3 = readl(base + NvRegTransmitPoll); + writel(NVREG_MAC_RESET_ASSERT, base + NvRegMacReset); pci_push(base); udelay(NV_MAC_RESET_DELAY); writel(0, base + NvRegMacReset); pci_push(base); udelay(NV_MAC_RESET_DELAY); + + /* restore saved registers */ + writel(temp1, base + NvRegMacAddrA); + writel(temp2, base + NvRegMacAddrB); + writel(temp3, base + NvRegTransmitPoll); + writel(NVREG_TXRXCTL_BIT2 | np-txrxctl_bits, base + NvRegTxRxControl); pci_push(base); } @@ -2767,6 +2784,7 @@ static int nv_update_linkspeed(struct net_device *dev) int mii_status; int retval = 0; u32 control_1000, status_1000, phyreg, pause_flags, txreg; + u32
Re: [git patches] net driver updates
From: Jeff Garzik [EMAIL PROTECTED] Date: Wed, 6 Feb 2008 06:49:50 -0500 Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem to receive the following updates: Pulled, thanks Jeff. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates #2
From: David Miller [EMAIL PROTECTED] Date: Fri, 01 Feb 2008 21:52:10 -0800 (PST) From: Jeff Garzik [EMAIL PROTECTED] Date: Fri, 1 Feb 2008 16:03:38 -0500 Please pull from 'upstream2-davem' branch of This is now pulled and pushed back out to net-2.6 The first S2io patch breaks the build so I'm removing it from the net-2.6 tree. I suspect you rejected an earlier patch that added the tx_lock member to the S2IO device private. If you do that Jeff, please at least do a quick sanity check of the build. If, instead, I messed things up somehow, my apologies in advance. drivers/net/s2io.c: In function 's2io_vlan_rx_kill_vid': drivers/net/s2io.c:395: error: 'struct s2io_nic' has no member named 'tx_lock' drivers/net/s2io.c:399: error: 'struct s2io_nic' has no member named 'tx_lock' S2io: Support for vlan_rx_kill_vid entry point - Added s2io_vlan_rx_kill_vid entry point function for unregistering vlan. - Fix to aggregate vlan packets. IP offset is incremented by 4 bytes if the packet contains vlan header. Signed-off-by: Surjit Reang [EMAIL PROTECTED] Signed-off-by: Ramkrishna Vepa [EMAIL PROTECTED] Signed-off-by: Jeff Garzik [EMAIL PROTECTED] --- drivers/net/s2io.c | 108 +--- drivers/net/s2io.h |7 ++- 2 files changed, 65 insertions(+), 50 deletions(-) diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index 5fab7d7..dcad502 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c @@ -386,6 +386,19 @@ static void s2io_vlan_rx_register(struct net_device *dev, /* A flag indicating whether 'RX_PA_CFG_STRIP_VLAN_TAG' bit is set or not */ static int vlan_strip_flag; +/* Unregister the vlan */ +static void s2io_vlan_rx_kill_vid(struct net_device *dev, unsigned long vid) +{ + unsigned long flags; + struct s2io_nic *nic = dev-priv; + + spin_lock_irqsave(nic-tx_lock, flags); + if (nic-vlgrp) + vlan_group_set_device(nic-vlgrp, vid, NULL); + + spin_unlock_irqrestore(nic-tx_lock, flags); +} + /* * Constants to be programmed into the Xena's registers, to configure * the XAUI. @@ -2948,7 +2961,7 @@ static void rx_intr_handler(struct ring_info *ring_data) struct lro *lro = nic-lro0_n[i]; if (lro-in_use) { update_L3L4_header(nic, lro); - queue_rx_frame(lro-parent); + queue_rx_frame(lro-parent, lro-vlan_tag); clear_lro_session(lro); } } @@ -7371,7 +7384,8 @@ static int rx_osm_handler(struct ring_info *ring_data, struct RxD_t * rxdp) { lro_append_pkt(sp, lro, skb, tcp_len); - queue_rx_frame(lro-parent); + queue_rx_frame(lro-parent, + lro-vlan_tag); clear_lro_session(lro); sp-mac_control.stats_info- sw_stat.flush_max_pkts++; @@ -7382,7 +7396,8 @@ static int rx_osm_handler(struct ring_info *ring_data, struct RxD_t * rxdp) lro-frags_len; sp-mac_control.stats_info- sw_stat.sending_both++; - queue_rx_frame(lro-parent); + queue_rx_frame(lro-parent, + lro-vlan_tag); clear_lro_session(lro); goto send_up; case 0: /* sessions exceeded */ @@ -7408,31 +7423,12 @@ static int rx_osm_handler(struct ring_info *ring_data, struct RxD_t * rxdp) */ skb-ip_summed = CHECKSUM_NONE; } - } else { + } else skb-ip_summed = CHECKSUM_NONE; - } + sp-mac_control.stats_info-sw_stat.mem_freed += skb-truesize; - if (!sp-lro) { - skb-protocol = eth_type_trans(skb, dev); - if ((sp-vlgrp RXD_GET_VLAN_TAG(rxdp-Control_2) - vlan_strip_flag)) { - /* Queueing the vlan frame to the upper layer */ - if (napi) - vlan_hwaccel_receive_skb(skb, sp-vlgrp, - RXD_GET_VLAN_TAG(rxdp-Control_2)); - else - vlan_hwaccel_rx(skb, sp-vlgrp, -
Re: [git patches] net driver updates #2
From: Jeff Garzik [EMAIL PROTECTED] Date: Fri, 1 Feb 2008 16:03:38 -0500 This submit is based on top of Linus's tree, since I'm not sure what's going on with net-2.6.git and my previous (lost?) submission. These changes do /not/ include anything from the previous submission, which was on top of net-2.6 -- but then you rebased, which probably made everything more difficult. :) Can you respin the tree with that previus submission init? The best I'll be able to do is clone that entire tree in order to pick the patches out, and from here in Australia with a dodgy link I might not even finish before I have to get on a plane back home on Monday :-) I'll pull in this second set later tonight. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates #2
From: Jeff Garzik [EMAIL PROTECTED] Date: Fri, 1 Feb 2008 16:03:38 -0500 Please pull from 'upstream2-davem' branch of This is now pulled and pushed back out to net-2.6 Thanks! -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
From: Jeff Garzik [EMAIL PROTECTED] Date: Tue, 22 Jan 2008 06:02:31 -0500 NOTE: This is the igb as Auke submitted it. It still needs a review against ultra-recent Intel driver work. Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem Pulled and pushed out, I'll try to take a stare at IGB after getting some sleep. Thanks! -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[git patches] net driver updates for 2.6.25
Please pull from the 'upstream' branch of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream to receive my 2.6.25 net driver queue into davem/net-2.6.25.git: Adam Baker (2): rt2x00: Unconstify rt2x00dev rt2x00: Place mutex around USB register access Adrian Bunk (4): drivers/net/netxen/: cleanups drivers/net/chelsio/: #if 0 unused functions ipg: add __devexit annotation e1000: remove no longer used code for pci read/write cfg Al Viro (15): endianness annotations and fixes for olympic sunhme endianness annotations sungem endianness annotations e1000e endianness annotations e1000 endianness annotations NULL noise in drivers/net forcedeth endianness bugs e100 endianness annotations ixgbe endianness annotations ixgb endianness annotations annotate tun annotate the rest of drivers/net/wan eepro100 annotations slhc annotations qla3xxx annotations Alan Cox (2): 3c501: Bring into compliance with the coding style slip: Drag kicking and screaming into coding style compliance Alejandro Martinez Ruiz (3): netdev: use ARRAY_SIZE() instead of sizeof(array) / ETH_GSTRING_LEN netdev: ARRAY_SIZE() cleanups sk98lin: kill bogus check and convert to use ARRAY_SIZE() Andrea Merello (1): rtl8187: fix tx power reading Andres Salomon (4): libertas: drop useless default_fw_name variable libertas: mark module_init/exit functions as __init/__exit libertas: reset devices upon disconnect rather than module unloading libertas: nuke useless variable usbdriver_name and useless comments Auke Kok (6): e1000e: Disable L1 ASPM power savings for 82573 mobile variants e1000/e1000e: Move PCI-Express device IDs over to e1000e ixgbe: Fix copper PHY initialization code [E1000E]: update netstats traffic counters realtime [E1000]: update netstats traffic counters realtime e1000: Dump the eeprom when a user encounters a bad checksum Ben M Cahill (29): iwl3945: re-align 3945 event log data iwl4965: add comments to rate scaling code iwlwifi: add comments to EEPROM stuff iwl-4965-hw.h: clean up unused eeprom structures and definitions iwlwifi: clean up and clarify some comments after 3945/4965 split iwlwifi: Move is_legacy() macro family from iwl-4965-hw.h to iwl-4965-rs.h iwlwifi: Add comments to some driver data structures iwlwifi: Document 4965 rate_n_flags bits iwlwifi: Document Rx calibration iwlwifi: Partially clean-up, add comments to iwl-*-hw.h iwlwifi: clean up some unused definitions in iwl-4965.h and iwl-3945.h iwlwifi: add comments, mostly on Tx queues iwlwifi: add comments to iwl*-base.c iwlwifi: Clean up unused definitions in iwl-3945-hw.h iwlwifi: clean up unused definitions in iwl-4965-hw.h iwlwifi: move uCode API definitions to iwl-4965-commands.h iwlwifi: move HT_IE_EXT_CHANNEL_* driver definitions to iwl-4965.h iwlwifi: document temperature calculation iwlwifi: document txpower calculations iwlwifi: document keep-warm buffer iwlwifi: document Rx registers iwlwifi: document Tx registers iwlwifi: document shared Tx structures iwlwifi: document 4965 Tx scheduler iwlwifi: document command header and alive responses iwlwifi: add comments to RXON command and txpower formats iwlwifi: add comments to QOS and ADD_STA commands iwlwifi: add comments to Tx commands iwlwifi: document 4965 rate scaling Bill Hayes (1): e1000e: alternate MAC address support Brajesh Dave (2): libertas: separate mesh connectivity from that of the main interface libertas: configurable beacon interval Christoph Hellwig (4): iwlwifi: mark more functions/variables static iwlwifi: keep 3945 and 4965 headers separate iwlwifi: cleanup Kconfig and ifdefs to split 3945 and 4965 iwlwifi: cleanup namespace Claudio Lanconelli (1): add driver for enc28j60 ethernet chip Dan Williams (12): orinoco: more reliable scan handling orinoco: always use latest BSS info when caching scan results libertas: make lbs_cmd() usage nicer libertas: clean up is_command_allowed_in_ps() libertas: clean up direct command handling libertas: add simple copyback command callback libertas: convert GET_HW_SPEC to a direct command libertas: rename and re-type bufvirtualaddr to cmdbuf libertas: fix case of FWT_ACCESS_LIST_ROUTE and FWT_ACCESS_LIST_NEIGHBOR commands libertas: convert DATA_RATE to a direct command libertas: convert RF_CHANNEL to a direct command libertas: endianness fixes for get_channel/set_channel Daniel Drake (3): zd1211rw: port to mac80211 zd1211rw: Add ID for Trendnet TEW-429UB A zd1211rw: add copyright notices David
Re: [git patches] net driver updates for 2.6.25
From: Jeff Garzik [EMAIL PROTECTED] Date: Fri, 18 Jan 2008 15:17:21 -0500 Please pull from the 'upstream' branch of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream to receive my 2.6.25 net driver queue into davem/net-2.6.25.git: Pulled and pushed back out, thanks Jeff. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[git patches] net driver updates
Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus to receive the following updates: Documentation/networking/00-INDEX|2 - Documentation/networking/net-modules.txt | 315 -- drivers/net/bonding/bond_main.c |5 +- drivers/net/bonding/bonding.h|1 - drivers/net/cpmac.c | 145 -- drivers/net/ehea/ehea.h |2 +- drivers/net/ehea/ehea_main.c |7 +- drivers/net/forcedeth.c | 16 ++ drivers/net/ipg.c| 22 ++- drivers/net/ipg.h| 20 -- drivers/net/natsemi.c|1 + drivers/net/usb/rndis_host.c | 18 ++- include/linux/pci_ids.h |4 + 13 files changed, 149 insertions(+), 409 deletions(-) delete mode 100644 Documentation/networking/net-modules.txt Adrian Bunk (4): remove Documentation/networking/net-modules.txt drivers/net/ipg.c: cleanups make bonding/bond_main.c:bond_deinit() static bonding/bond_main.c: fix cut'n'paste error Ayaz Abdulla (1): [netdrvr] forcedeth: add MCP77 device IDs Eugene Konev (3): cpmac: use print_mac() instead of MAC_FMT cpmac: convert to napi_struct interface cpmac: update to new fixed phy driver interface Ingo Molnar (1): natsemi: fix oops, link back netdevice from private-struct Jan-Bernd Themann (1): ehea: fix port_napi_disable/enable Thomas Sailer (1): rndis_host: reduce MTU instead of refusing to talk to devices with low max packet size diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX index 153d84d..f5a5e6d 100644 --- a/Documentation/networking/00-INDEX +++ b/Documentation/networking/00-INDEX @@ -80,8 +80,6 @@ multicast.txt - Behaviour of cards under Multicast ncsa-telnet - notes on how NCSA telnet (DOS) breaks with MTU discovery enabled. -net-modules.txt - - info and insmod parameters for all network driver modules. netdevices.txt - info on network device driver functions exported to the kernel. olympic.txt diff --git a/Documentation/networking/net-modules.txt b/Documentation/networking/net-modules.txt deleted file mode 100644 index 98c4392..000 --- a/Documentation/networking/net-modules.txt +++ /dev/null @@ -1,315 +0,0 @@ -Wed 2-Aug-95 [EMAIL PROTECTED] - - Linux network driver modules - - Do not mistake this for README.modules at the top-level - directory! That document tells about modules in general, while - this one tells only about network device driver modules. - - This is a potpourri of INSMOD-time(*) configuration options - (if such exists) and their default values of various modules - in the Linux network drivers collection. - - Some modules have also hidden (= non-documented) tunable values. - The choice of not documenting them is based on general belief, that - the less the user needs to know, the better. (There are things that - driver developers can use, others should not confuse themselves.) - - In many cases it is highly preferred that insmod:ing is done - ONLY with defining an explicit address for the card, AND BY - NOT USING AUTO-PROBING! - - Now most cards have some explicitly defined base address that they - are compiled with (to avoid auto-probing, among other things). - If that compiled value does not match your actual configuration, - do use the io=0xXXX -parameter for the insmod, and give there - a value matching your environment. - - If you are adventurous, you can ask the driver to autoprobe - by using the io=0 parameter, however it is a potentially dangerous - thing to do in a live system. (If you don't know where the - card is located, you can try autoprobing, and after possible - crash recovery, insmod with proper IO-address..) - - -- - (*) INSMOD-time means when you load module with - /sbin/insmod you can feed it optional parameters. - See man insmod. - -- - - - 8390 based Network Modules (Paul Gortmaker, Nov 12, 1995) - -- - -(Includes: smc-ultra, ne, wd, 3c503, hp, hp-plus, e2100 and ac3200) - -The 8390 series of network drivers now support multiple card systems without -reloading the same module multiple times (memory efficient!) This is done by -specifying multiple comma separated values, such as: - - insmod 3c503.o io=0x280,0x300,0x330,0x350 xcvr=0,1,0,1 - -The above would have the one module controlling four 3c503 cards, with card 2 -and 4 using external transceivers. The insmod manual describes the usage -of comma separated value lists. - -It is *STRONGLY
[git patches] net driver updates
Please pull from the 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem to receive these changes: Auke Kok (2): e1000e: Simple optimizations in e1000_xmit_frame e1000e: restore flow control settings properly Jan-Bernd Themann (1): ehea: use kernel event queue Krishna Kumar (1): e1000: Simple optimizations in e1000_xmit_frame Mark Brown (1): natsemi: Use NATSEMI_TIMER_FREQ consistently Roland Dreier (4): IPoIB: Fix unused variable warning ibm_emac: Convert to use napi_struct independent of struct net_device ibm_new_emac: Nuke SET_MODULE_OWNER() use ibm_emac: Convert to use napi_struct independent of struct net_device Stephen Hemminger (4): s2io: sparse warnings fix (rev2) network drivers: sparse warning fixes chelsio: sparse warning fixes (old cxgb2) cxgb3 sparse warning fixes drivers/infiniband/ulp/ipoib/ipoib_main.c |1 drivers/net/acenic.c | 37 +-- drivers/net/atl1/atl1_main.c |5 drivers/net/chelsio/Makefile |2 drivers/net/chelsio/common.h |1 drivers/net/chelsio/mac.c | 368 -- drivers/net/chelsio/subr.c|2 drivers/net/cxgb3/cxgb3_main.c|4 drivers/net/cxgb3/cxgb3_offload.c | 44 +-- drivers/net/cxgb3/sge.c |6 drivers/net/cxgb3/t3_hw.c |8 drivers/net/cxgb3/xgmac.c |2 drivers/net/dl2k.c|8 drivers/net/e100.c|2 drivers/net/e1000/e1000_main.c|9 drivers/net/e1000e/ethtool.c |1 drivers/net/e1000e/lib.c | 12 drivers/net/e1000e/netdev.c | 10 drivers/net/ehea/ehea.h |3 drivers/net/ehea/ehea_main.c | 28 -- drivers/net/ehea/ehea_qmr.c |3 drivers/net/hamachi.c |3 drivers/net/ibm_emac/ibm_emac_mal.c | 48 +-- drivers/net/ibm_emac/ibm_emac_mal.h |2 drivers/net/ibm_newemac/core.c|1 drivers/net/ibm_newemac/mal.c | 55 +--- drivers/net/ibm_newemac/mal.h |2 drivers/net/natsemi.c | 10 drivers/net/s2io.c| 97 --- drivers/net/tehuti.c |4 include/linux/netdevice.h | 10 31 files changed, 195 insertions(+), 593 deletions(-) diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c index 6b1b4b2..855c9de 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c @@ -854,7 +854,6 @@ struct ipoib_neigh *ipoib_neigh_alloc(struct neighbour *neighbour) void ipoib_neigh_free(struct net_device *dev, struct ipoib_neigh *neigh) { - struct ipoib_dev_priv *priv = netdev_priv(dev); struct sk_buff *skb; *to_ipoib_neigh(neigh-neighbour) = NULL; while ((skb = __skb_dequeue(neigh-queue))) { diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c index 2c2ed6d..6c19265 100644 --- a/drivers/net/acenic.c +++ b/drivers/net/acenic.c @@ -406,7 +406,7 @@ MODULE_DEVICE_TABLE(pci, acenic_pci_tbl); #define DEF_STAT (2 * TICKS_PER_SEC) -static int link[ACE_MAX_MOD_PARMS]; +static int link_state[ACE_MAX_MOD_PARMS]; static int trace[ACE_MAX_MOD_PARMS]; static int tx_coal_tick[ACE_MAX_MOD_PARMS]; static int rx_coal_tick[ACE_MAX_MOD_PARMS]; @@ -419,7 +419,7 @@ MODULE_AUTHOR(Jes Sorensen [EMAIL PROTECTED]); MODULE_LICENSE(GPL); MODULE_DESCRIPTION(AceNIC/3C985/GA620 Gigabit Ethernet driver); -module_param_array(link, int, NULL, 0); +module_param_array_named(link, link_state, int, NULL, 0); module_param_array(trace, int, NULL, 0); module_param_array(tx_coal_tick, int, NULL, 0); module_param_array(max_tx_desc, int, NULL, 0); @@ -987,27 +987,27 @@ static int __devinit ace_init(struct net_device *dev) mac1 = 0; for(i = 0; i 4; i++) { - int tmp; + int t; mac1 = mac1 8; - tmp = read_eeprom_byte(dev, 0x8c+i); - if (tmp 0) { + t = read_eeprom_byte(dev, 0x8c+i); + if (t 0) { ecode = -EIO; goto init_error; } else - mac1 |= (tmp 0xff); + mac1 |= (t 0xff); } mac2 = 0; for(i = 4; i 8; i++) { - int tmp; + int t; mac2 = mac2 8; - tmp = read_eeprom_byte(dev, 0x8c+i); - if (tmp 0) { + t = read_eeprom_byte(dev, 0x8c+i); + if (t 0) { ecode = -EIO; goto
Re: [git patches] net driver updates
From: Jeff Garzik [EMAIL PROTECTED] Date: Tue, 9 Oct 2007 21:03:26 -0400 Please pull from the 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem to receive these changes: Pulled and pushed back out, thanks Jeff! - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
From: Jeff Garzik [EMAIL PROTECTED] Date: Fri, 5 Oct 2007 14:20:08 -0400 Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem Pulled, and pushed back out to net-2.6.24, thanks Jeff. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[git patches] net driver updates
Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem to receive the following updates: Auke Kok (2): e1000e: fix debugging printout code e1000e: Fix ethtool register test code Frank Blaschka (1): qeth: EDDP does not work on large MTUs Klaus D. Wacker (2): qeth: HiperSockets layer-3 interface drop non IPv4 or non IPv6 packets lcs: Channel errors drive lcs_recovery which leads to kernel panic. Ursula Braun (2): qeth: avoid duplicate deletion of multicast addresses qeth: discard inbound packets with unknown header id drivers/net/e1000e/ethtool.c | 14 ++ drivers/net/e1000e/hw.h |2 +- drivers/net/e1000e/netdev.c |4 +--- drivers/s390/net/lcs.c | 11 --- drivers/s390/net/lcs.h |1 + drivers/s390/net/qeth_eddp.c | 16 +--- drivers/s390/net/qeth_main.c | 19 +-- 7 files changed, 43 insertions(+), 24 deletions(-) diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c index 3423f33..2e8218f 100644 --- a/drivers/net/e1000e/ethtool.c +++ b/drivers/net/e1000e/ethtool.c @@ -784,10 +784,16 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data) REG_SET_AND_CHECK(E1000_RCTL, before, 0x003B); REG_SET_AND_CHECK(E1000_TCTL, 0x, 0x); - REG_SET_AND_CHECK(E1000_RCTL, 0x, 0x01FF); - REG_PATTERN_TEST(E1000_RDBAL, 0xF000, 0x); - REG_PATTERN_TEST(E1000_TXCW, 0x, 0x); - REG_PATTERN_TEST(E1000_TDBAL, 0xF000, 0x); + REG_SET_AND_CHECK(E1000_RCTL, before, 0x); + REG_PATTERN_TEST(E1000_RDBAL, 0xFFF0, 0x); + if ((mac-type != e1000_ich8lan) + (mac-type != e1000_ich9lan)) + REG_PATTERN_TEST(E1000_TXCW, 0xC000, 0x); + REG_PATTERN_TEST(E1000_TDBAL, 0xFFF0, 0x); + REG_PATTERN_TEST(E1000_TIDV, 0x, 0x); + for (i = 0; i mac-rar_entry_count; i++) + REG_PATTERN_TEST_ARRAY(E1000_RA, ((i 1) + 1), + 0x8003, 0x); for (i = 0; i mac-mta_reg_count; i++) REG_PATTERN_TEST_ARRAY(E1000_MTA, i, 0x, 0x); diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h index 848217a..aa82f1a 100644 --- a/drivers/net/e1000e/hw.h +++ b/drivers/net/e1000e/hw.h @@ -852,7 +852,7 @@ struct e1000_hw { #ifdef DEBUG #define hw_dbg(hw, format, arg...) \ - printk(KERN_DEBUG, %s: format, e1000_get_hw_dev_name(hw), ##arg); + printk(KERN_DEBUG, %s: format, e1000e_get_hw_dev_name(hw), ##arg); #else static inline int __attribute__ ((format (printf, 2, 3))) hw_dbg(struct e1000_hw *hw, const char *format, ...) diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c index 4a21d7d..3a0bb2a 100644 --- a/drivers/net/e1000e/netdev.c +++ b/drivers/net/e1000e/netdev.c @@ -66,9 +66,7 @@ static const struct e1000_info *e1000_info_tbl[] = { **/ char *e1000e_get_hw_dev_name(struct e1000_hw *hw) { - struct e1000_adapter *adapter = hw-back; - struct net_device *netdev = adapter-netdev; - return netdev-name; + return hw-adapter-netdev-name; } #endif diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c index e4b11af..0fd663b 100644 --- a/drivers/s390/net/lcs.c +++ b/drivers/s390/net/lcs.c @@ -1400,11 +1400,14 @@ lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) PRINT_WARN(check on device %s, dstat=0x%X, cstat=0x%X \n, cdev-dev.bus_id, dstat, cstat); if (rc) { - lcs_schedule_recovery(card); - wake_up(card-wait_q); - return; + channel-state = LCS_CH_STATE_ERROR; } } + if (channel-state == LCS_CH_STATE_ERROR) { + lcs_schedule_recovery(card); + wake_up(card-wait_q); + return; + } /* How far in the ccw chain have we processed? */ if ((channel-state != LCS_CH_STATE_INIT) (irb-scsw.fctl SCSW_FCTL_START_FUNC)) { @@ -1708,6 +1711,8 @@ lcs_stopcard(struct lcs_card *card) if (card-read.state != LCS_CH_STATE_STOPPED card-write.state != LCS_CH_STATE_STOPPED + card-read.state != LCS_CH_STATE_ERROR + card-write.state != LCS_CH_STATE_ERROR card-state == DEV_STATE_UP) { lcs_clear_multicast_list(card); rc = lcs_send_stoplan(card,LCS_INITIATOR_TCPIP); diff --git a/drivers/s390/net/lcs.h b/drivers/s390/net/lcs.h index 0e1e4a0..8976fb0 100644 --- a/drivers/s390/net/lcs.h +++ b/drivers/s390/net/lcs.h @@ -138,6 +138,7 @@ enum lcs_channel_states { LCS_CH_STATE_RUNNING,
[git patches] net driver updates
Normally I wait a day or two between pushes, to queue up patches and also to avoid annoying my upstream :) But this includes a couple fixes I felt should be upstreamed sooner rather than later. Please pull from 'upstream' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream to receive the following updates: Jeff Garzik (1): drivers/net/qla3xxx: trim trailing whitespace Olof Johansson (11): pasemi_mac: basic error checking pasemi_mac: fix bug in receive buffer dma mapping pasemi_mac: rework ring management pasemi_mac: implement sg support pasemi_mac: workaround for erratum 5971 pasemi_mac: add local skb alignment pasemi_mac: further performance tweaks pasemi_mac: update todo list pasemi_mac: clear out old errors on interface open pasemi_mac: use buffer index pointer in clean_rx() pasemi_mac: enable iommu support trem (1): ipg.c doesn't compile with with CONFIG_HIGHMEM64G [EMAIL PROTECTED] (1): Fix typo in new EMAC driver. arch/powerpc/platforms/pasemi/Kconfig | 10 arch/powerpc/platforms/pasemi/iommu.c | 15 drivers/net/ibm_newemac/core.c|4 drivers/net/ipg.c | 10 drivers/net/pasemi_mac.c | 595 ++ drivers/net/pasemi_mac.h | 67 ++- drivers/net/qla3xxx.c | 128 +++ drivers/net/qla3xxx.h |6 8 files changed, 527 insertions(+), 308 deletions(-) diff --git a/arch/powerpc/platforms/pasemi/Kconfig b/arch/powerpc/platforms/pasemi/Kconfig index 95cd90f..e95261e 100644 --- a/arch/powerpc/platforms/pasemi/Kconfig +++ b/arch/powerpc/platforms/pasemi/Kconfig @@ -18,6 +18,16 @@ config PPC_PASEMI_IOMMU help IOMMU support for PA6T-1682M +config PPC_PASEMI_IOMMU_DMA_FORCE + bool Force DMA engine to use IOMMU + depends on PPC_PASEMI_IOMMU + help + This option forces the use of the IOMMU also for the + DMA engine. Otherwise the kernel will use it only when + running under a hypervisor. + + If in doubt, say N. + config PPC_PASEMI_MDIO depends on PHYLIB tristate MDIO support via GPIO diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c index 9014d55..ab5 100644 --- a/arch/powerpc/platforms/pasemi/iommu.c +++ b/arch/powerpc/platforms/pasemi/iommu.c @@ -25,6 +25,7 @@ #include asm/iommu.h #include asm/machdep.h #include asm/abs_addr.h +#include asm/firmware.h #define IOBMAP_PAGE_SHIFT 12 @@ -175,13 +176,17 @@ static void pci_dma_dev_setup_pasemi(struct pci_dev *dev) { pr_debug(pci_dma_dev_setup, dev %p (%s)\n, dev, pci_name(dev)); - /* DMA device is untranslated, but all other PCI-e goes through -* the IOMMU +#if !defined(CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE) + /* For non-LPAR environment, don't translate anything for the DMA +* engine. The exception to this is if the user has enabled +* CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE at build time. */ - if (dev-vendor == 0x1959 dev-device == 0xa007) + if (dev-vendor == 0x1959 dev-device == 0xa007 + !firmware_has_feature(FW_FEATURE_LPAR)) dev-dev.archdata.dma_ops = dma_direct_ops; - else - dev-dev.archdata.dma_data = iommu_table_iobmap; +#endif + + dev-dev.archdata.dma_data = iommu_table_iobmap; } static void pci_dma_bus_setup_null(struct pci_bus *b) { } diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c index 653bfdc..ce127b9 100644 --- a/drivers/net/ibm_newemac/core.c +++ b/drivers/net/ibm_newemac/core.c @@ -1232,9 +1232,9 @@ static inline int emac_xmit_finish(struct emac_instance *dev, int len) * instead */ if (emac_has_feature(dev, EMAC_FTR_EMAC4)) - out_be32(p-tmr0, EMAC_TMR0_XMIT); - else out_be32(p-tmr0, EMAC4_TMR0_XMIT); + else + out_be32(p-tmr0, EMAC_TMR0_XMIT); if (unlikely(++dev-tx_cnt == NUM_TX_BUFF)) { netif_stop_queue(ndev); diff --git a/drivers/net/ipg.c b/drivers/net/ipg.c index dfdc96f..59898ce 100644 --- a/drivers/net/ipg.c +++ b/drivers/net/ipg.c @@ -25,6 +25,8 @@ #include linux/mii.h #include linux/mutex.h +#include asm/div64.h + #define IPG_RX_RING_BYTES (sizeof(struct ipg_rx) * IPG_RFDLIST_LENGTH) #define IPG_TX_RING_BYTES (sizeof(struct ipg_tx) * IPG_TFDLIST_LENGTH) #define IPG_RESET_MASK \ @@ -836,10 +838,14 @@ static void ipg_nic_txfree(struct net_device *dev) { struct ipg_nic_private *sp = netdev_priv(dev); void __iomem *ioaddr = sp-ioaddr; - const unsigned int curr = ipg_r32(TFD_LIST_PTR_0) - - (sp-txd_map / sizeof(struct ipg_tx)) - 1; + unsigned int curr; + u64 txd_map; unsigned int released, pending; + txd_map =
Re: [git patches] net driver updates
From: Jeff Garzik [EMAIL PROTECTED] Date: Wed, 3 Oct 2007 14:39:16 -0400 Normally I wait a day or two between pushes, to queue up patches and also to avoid annoying my upstream :) But this includes a couple fixes I felt should be upstreamed sooner rather than later. Please pull from 'upstream' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream Pulled, thanks Jeff! - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
From: Jeff Garzik [EMAIL PROTECTED] Date: Tue, 2 Oct 2007 13:41:50 -0400 Please pull from the 'upstream' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream Pulled and pushed back out to net-2.6.24, thanks Jeff! - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[git patches] net driver updates
[this, sans patch which was too big for netdev, was just sent upstream. the patch can be recreated via 'git diff net-2.6.24..upstream'] NOTE that sky2 will also be going upstream for 2.6.23-rc, as just posted on netdev. Please pull from the 'upstream' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream to receive the following changes: Al Viro (20): 8139cp: trivial endianness annotations endianness annotations drivers/net/bonding/ fix vlan in 8139cp on big-endian 3c59x: trivial endianness annotations, NULL noise removal amd8111e: trivial endianness annotations, NULL noise removal amd8111e big-endian fix arcnet endianness annotations tulip: endianness annotations typhoon: trivial endianness annotations pcnet32: endianness ixgb: endianness drivers/net/irda: endianness, NULL noise starfire: trivial endianness annotations r8169: endianness via-rhine: endianness pppoe: endianness tms380tr: trivial endianness annotations drivers/net/appletalk: endianness 3c509: endianness cxgb3: trivial endianness annotations Alex Landau (1): Blackfin EMAC driver: add function to change the MAC address Bryan Wu (3): Blackfin EMAC driver: add power management interface and change the bf537mac_reset to bf537mac_disable Blackfin EMAC driver: Add phy abstraction layer supporting in bfin_emac driver Blackfin EMAC driver: add a select for the PHYLIB of this driver David Gibson (1): Device tree aware EMAC driver Dhananjay Phadke (1): netxen: ethtool fixes Jeff Garzik (1): [netdrvr] Stop using legacy hooks -self_test_count, -get_stats_count Maciej W. Rozycki (3): sb1250-mac.c: Fix stats references NET_SB1250_MAC: Update Kconfig entry NET_SB1250_MAC: Rename to SB1250_MAC Sivakumar Subramani (4): S2io: Change kmalloc+memset to k[zc]alloc S2io: Removed unused feature - bimodal interrupts S2io: Added support set_mac_address driver entry point S2io: Updating transceiver information in ethtool function Stephen Hemminger (3): sky2: fix VLAN receive processing (resend) sky2: ethtool speed report bug sky2: version 1.18 Ursula Braun (1): s390 networking MAINTAINERS Vitaly Bordug (2): FS_ENET: TX stuff should use fep-tx_lock, instead of fep-lock. FS_ENET: Add polling support Documentation/powerpc/booting-without-of.txt | 156 + MAINTAINERS | 12 arch/mips/configs/bigsur_defconfig |2 arch/mips/configs/sb1250-swarm_defconfig |2 arch/powerpc/platforms/44x/Kconfig |3 arch/powerpc/platforms/cell/Kconfig |4 drivers/net/3c509.c |4 drivers/net/3c59x.c | 39 drivers/net/8139cp.c | 59 drivers/net/8139too.c| 11 drivers/net/Kconfig | 89 drivers/net/Makefile |3 drivers/net/amd8111e.c |9 drivers/net/amd8111e.h | 24 drivers/net/appletalk/ipddp.c|2 drivers/net/appletalk/ipddp.h|2 drivers/net/arcnet/rfc1051.c |4 drivers/net/arcnet/rfc1201.c |6 drivers/net/atl1/atl1_ethtool.c | 11 drivers/net/b44.c| 11 drivers/net/bfin_mac.c | 347 ++- drivers/net/bfin_mac.h | 53 drivers/net/bnx2.c | 20 drivers/net/bonding/bond_3ad.c | 42 drivers/net/bonding/bond_3ad.h | 20 drivers/net/bonding/bond_alb.c | 19 drivers/net/bonding/bond_alb.h |4 drivers/net/bonding/bond_main.c | 22 drivers/net/bonding/bond_sysfs.c |8 drivers/net/bonding/bonding.h|6 drivers/net/cassini.c| 11 drivers/net/chelsio/cxgb2.c | 11 drivers/net/cxgb3/common.h |4 drivers/net/cxgb3/cxgb3_main.c | 11 drivers/net/cxgb3/sge.c |6 drivers/net/e100.c | 19 drivers/net/e1000/e1000_ethtool.c| 22 drivers/net/e1000e/ethtool.c | 21 drivers/net/ehea/ehea_ethtool.c | 13 drivers/net/forcedeth.c | 45 drivers/net/fs_enet/fs_enet-main.c | 77 drivers/net/fs_enet/mac-fcc.c| 12 drivers/net/fs_enet/mac-fec.c| 30 drivers/net/fs_enet/mac-scc.c| 20 drivers/net/fs_enet/mii-bitbang.c| 10 drivers/net/gianfar_ethtool.c| 20 drivers/net/ibm_emac/Kconfig
Re: [git patches] net driver updates
From: Jeff Garzik [EMAIL PROTECTED] Date: Thu, 20 Sep 2007 03:26:10 -0400 Please pull from the 'upstream' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream to receive the following changes: Pulled into net-2.6.24 and pushed out, thanks Jeff! - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[git patches] net driver updates
Nothing highly notable. Wireless pull, and new blackfin eth driver (didn't get merged with rest of blackfin, since additional review was requested). Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus to receive the following updates: Documentation/powerpc/booting-without-of.txt |6 + MAINTAINERS |7 + arch/powerpc/boot/dts/mpc8641_hpcn.dts |4 + arch/powerpc/sysdev/fsl_soc.c|9 + drivers/net/Kconfig | 44 ++ drivers/net/Makefile |1 + drivers/net/arm/ether3.c |2 +- drivers/net/bfin_mac.c | 1009 ++ drivers/net/bfin_mac.h | 132 drivers/net/ehea/ehea.h |2 +- drivers/net/ehea/ehea_main.c | 37 +- drivers/net/gianfar.c| 12 +- drivers/net/ni5010.c |6 +- drivers/net/ns83820.c|2 +- drivers/net/phy/vitesse.c| 46 +- drivers/net/saa9730.c|9 +- drivers/net/tc35815.c|2 +- drivers/net/wireless/ipw2100.c |6 +- drivers/net/wireless/ipw2200.c | 18 +- drivers/net/wireless/zd1211rw/zd_usb.c |2 + include/linux/fsl_devices.h |1 + net/ieee80211/ieee80211_wx.c |7 +- 22 files changed, 1308 insertions(+), 56 deletions(-) create mode 100644 drivers/net/bfin_mac.c create mode 100644 drivers/net/bfin_mac.h Andy Fleming (4): Fix Vitesse 824x PHY interrupt acking Add phy-connection-type to gianfar nodes Fix Vitesse RGMII-ID support Fix RGMII-ID handling in gianfar Bryan Wu (1): Blackfin ethernet driver: on chip ethernet MAC controller driver Daniel Drake (1): zd1211rw: Add ID for Siemens Gigaset USB Stick 54 Jean Tourrilhes (1): softmac: Channel is listed twice in scan output Masakazu Mokuno (1): zd1211rw: Add ID for Planex GW-US54GXS Thomas Klein (1): eHEA: Fix bonding support YOSHIFUJI Hideaki / 吉藤英明 (4): NS83820: Handle multicast frames. NI5010: Handle multicast frames. SAA9730: Handle multicast frames. ARM/ETHER3: Handle multicast frames. Yoichi Yuasa (1): fix wrong argument of tc35815_read_plat_dev_addr() Zhu Yi (4): ipw2100: Fix `iwpriv set_power` error Fix ipw2200 set wrong power parameter causing firmware error ipw2200: Fix ipw_isr() comments error on shared IRQ Update version ipw2200 stamp to 1.2.2 diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index 0c24348..76733a3 100644 --- a/Documentation/powerpc/booting-without-of.txt +++ b/Documentation/powerpc/booting-without-of.txt @@ -1250,6 +1250,12 @@ platforms are moved over to use the flattened-device-tree model. network device. This is used by the bootwrapper to interpret MAC addresses passed by the firmware when no information other than indices is available to associate an address with a device. +- phy-connection-type : a string naming the controller/PHY interface type, + i.e., mii (default), rmii, gmii, rgmii, rgmii-id, sgmii, + tbi, or rtbi. This property is only really needed if the connection + is of type rgmii-id, as all other connection types are detected by + hardware. + Example: diff --git a/MAINTAINERS b/MAINTAINERS index e78f62f..f6b2665 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -732,6 +732,13 @@ L: [EMAIL PROTECTED] (subscribers-only) W: http://blackfin.uclinux.org S: Supported +BLACKFIN EMAC DRIVER +P: Bryan Wu +M: [EMAIL PROTECTED] +L: [EMAIL PROTECTED] (subscribers-only) +W: http://blackfin.uclinux.org +S: Supported + BLACKFIN RTC DRIVER P: Mike Frysinger M: [EMAIL PROTECTED] diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts b/arch/powerpc/boot/dts/mpc8641_hpcn.dts index db56a02..6a78a2b 100644 --- a/arch/powerpc/boot/dts/mpc8641_hpcn.dts +++ b/arch/powerpc/boot/dts/mpc8641_hpcn.dts @@ -131,6 +131,7 @@ interrupts = 1d 2 1e 2 22 2; interrupt-parent = mpic; phy-handle = phy0; + phy-connection-type = rgmii-id; }; [EMAIL PROTECTED] { @@ -150,6 +151,7 @@ interrupts = 23 2 24 2 28 2; interrupt-parent = mpic; phy-handle = phy1; + phy-connection-type = rgmii-id; }; [EMAIL PROTECTED] { @@ -169,6 +171,7 @@ interrupts = 1F 2 20 2 21 2; interrupt-parent = mpic;
Re: [git patches] net driver updates
On Mon, Jul 16, 2007 at 06:57:21PM -0400, Jeff Garzik wrote: Minor fixes and cleanups, and a wireless pull from Linville. Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus did you get the dgrs removal patch? mail didn't hit netdev due to beeing too large, but you were on cc. shall i rebase? -- maks - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
On Tue, 10 Jul 2007, Jeff Garzik wrote: Various minor updates. The only thing of note is sk98lin driver removal. Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus This is probably going to cause a new entry in regressions list, as at least Chris Stromsoe has reported bonding-related problems with skge that don't happen with sklin - http://www.uwsg.indiana.edu/hypermail/linux/kernel/0707.1/1158.html -- Jiri Kosina - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
Hello, diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index 7053026..111f23d 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h @@ -279,6 +279,40 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg) ... +#define SMC_outb(v, a, r) outw(((inw((a)+((r)~1))*(0xff8*(r%2 | ((v)(8*(r2, (a) + ((r)~1)) This one has unbalanced parenthesis. Regards, Mariusz - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
On Fri, 18 May 2007 23:46:21 +0200 Mariusz Koz__owski [EMAIL PROTECTED] wrote: Hello, diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index 7053026..111f23d 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h @@ -279,6 +279,40 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg) ... +#define SMC_outb(v, a, r) __ __ __outw(((inw((a)+((r)~1))*(0xff8*(r%2 | ((v)(8*(r2, (a) + ((r)~1)) This one has unbalanced parenthesis. I dunno how you can tell - I can't count that high. Can this be programmed in C, rather than in cpp? - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index 7053026..111f23d 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h @@ -279,6 +279,40 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg) ... +#define SMC_outb(v, a, r) __ __ __outw(((inw((a)+((r)~1))*(0xff8*(r%2 | ((v)(8*(r2, (a) + ((r)~1)) This one has unbalanced parenthesis. I dunno how you can tell - I can't count that high. Me neither. Simple script does that for me ;) Not sure where exactly the parenthesis is missing so I leave it up to someone (the author?) who knows better. Regards, Mariusz - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
On Friday 18 May 2007, Andrew Morton wrote: On Fri, 18 May 2007 23:46:21 +0200 Mariusz Koz__owski [EMAIL PROTECTED] wrote: Hello, diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index 7053026..111f23d 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h @@ -279,6 +279,40 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg) ... +#define SMC_outb(v, a, r) __ __ __outw(((inw((a)+((r)~1))*(0xff8*(r%2 | ((v)(8*(r2, (a) + ((r)~1)) This one has unbalanced parenthesis. I dunno how you can tell - I can't count that high. Try removing the one in front of the comma, it makes the count -1. And I wrote, probably a good 20 years ago, a gizmo I called cntx that found that stuff for you. I occasionally use it to run over a section of the kernel tree, but it rarely finds anything to fuss about. And I really do need to make it handle shell expansions so you don't have write a quick script to have it scan everything in a directory. However I suspect that most of you already have such a tool in your bag of tricks. Can this be programmed in C, rather than in cpp? - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ -- Cheers, Gene There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) I'm definitely not in Omaha! - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[git patches] net driver updates
(just sent this upstream to Linus and Andrew) The only really notable thing is the merging of the wireless driver for the OLPC, libertas. Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus to receive the following updates: Documentation/DocBook/kernel-api.tmpl |6 + Documentation/networking/bcm43xx.txt | 97 +- MAINTAINERS| 20 +- arch/mips/mips-boards/sim/Makefile |3 +- arch/mips/mips-boards/sim/sim_platform.c | 35 + arch/powerpc/sysdev/qe_lib/ucc_fast.c |3 + crypto/michael_mic.c |4 +- drivers/net/3c509.c|1 - drivers/net/Kconfig| 15 +- drivers/net/Makefile |2 +- drivers/net/chelsio/Makefile |4 +- drivers/net/chelsio/common.h |6 +- drivers/net/chelsio/cphy.h | 16 +- drivers/net/chelsio/gmac.h | 10 +- drivers/net/chelsio/ixf1010.c | 505 - drivers/net/chelsio/mac.c |2 +- drivers/net/chelsio/mv88e1xxx.c|8 +- drivers/net/chelsio/mv88x201x.c|8 +- drivers/net/chelsio/my3126.c |8 +- drivers/net/chelsio/pm3393.c |8 +- drivers/net/chelsio/subr.c | 199 ++- drivers/net/chelsio/vsc7326.c |2 +- drivers/net/chelsio/vsc8244.c | 367 drivers/net/chelsio/vsc8244_reg.h | 172 -- drivers/net/e100.c | 159 +- drivers/net/e1000/e1000.h |3 - drivers/net/e1000/e1000_ethtool.c | 34 +- drivers/net/e1000/e1000_main.c | 45 +- drivers/net/e1000/e1000_param.c|4 +- drivers/net/eexpress.c |9 +- drivers/net/ehea/ehea.h| 42 +- drivers/net/ehea/ehea_ethtool.c| 115 +- drivers/net/ehea/ehea_main.c | 940 +--- drivers/net/ehea/ehea_phyp.c |6 +- drivers/net/ehea/ehea_phyp.h |6 +- drivers/net/ehea/ehea_qmr.c| 184 ++- drivers/net/ehea/ehea_qmr.h| 16 +- drivers/net/hamradio/baycom_ser_fdx.c | 13 +- drivers/net/ibmveth.c | 10 +- drivers/net/ixgb/ixgb.h|3 - drivers/net/ixgb/ixgb_ethtool.c|4 +- drivers/net/ixgb/ixgb_main.c |4 +- drivers/net/ixgb/ixgb_param.c |8 +- drivers/net/mii.c | 57 + drivers/net/mipsnet.c | 53 +- drivers/net/mv643xx_eth.c | 59 +- drivers/net/mv643xx_eth.h |4 - drivers/net/netxen/netxen_nic.h| 189 +- drivers/net/netxen/netxen_nic_ethtool.c| 212 ++- drivers/net/netxen/netxen_nic_hdr.h| 12 + drivers/net/netxen/netxen_nic_hw.c | 401 +++- drivers/net/netxen/netxen_nic_hw.h | 85 +- drivers/net/netxen/netxen_nic_init.c | 130 +- drivers/net/netxen/netxen_nic_isr.c| 101 +- drivers/net/netxen/netxen_nic_main.c | 769 --- drivers/net/netxen/netxen_nic_niu.c| 168 +- drivers/net/netxen/netxen_nic_phan_reg.h | 134 +- drivers/net/pcnet32.c | 159 +- drivers/net/phy/mdio_bus.c | 19 +- drivers/net/phy/phy.c | 194 ++- drivers/net/phy/phy_device.c | 114 +- drivers/net/qla3xxx.c | 371 +++- drivers/net/qla3xxx.h | 33 +- drivers/net/s2io-regs.h|2 +- drivers/net/s2io.c | 78 +- drivers/net/s2io.h |8 +- drivers/net/sb1250-mac.c | 294 ++- drivers/net/sgiseeq.c | 28 +- drivers/net/sk98lin/skge.c | 20 +- drivers/net/skfp/h/lnkstat.h | 84 - drivers/net/skge.c | 30 +- drivers/net/skge.h | 10 +- drivers/net/smc911x.c |2 +- drivers/net/tc35815.c | 2554 -- drivers/net/tulip/dmfe.c | 118 +- drivers/net/tulip/interrupt.c |4 +- drivers/net/tulip/media.c | 40 +- drivers/net/tulip/tulip.h |9 +- drivers/net/tulip/tulip_core.c |6 +- drivers/net/tulip/winbond-840.c|2 +-
Re: [git patches] net driver updates
On Sun, Apr 29, 2007 at 12:19:01PM -0400, Jeff Garzik wrote: (just sent this upstream to Linus and Andrew) The only really notable thing is the merging of the wireless driver for the OLPC, libertas. I don't think it's quite ready yet, at least I've got no feedback about completion of the todo list of obvious items I sent out a while ago. Nor has an updated patchset been posted to lkml. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
On Wed, 2007-02-21 at 08:27 -0500, John W. Linville wrote: On Wed, Feb 21, 2007 at 12:46:46PM +0100, Roger While wrote: Dan Williams (1): prism54: correct assignment of DOT1XENABLE in WE-19 codepaths Where did this spring from ? I see no posting of this patch let alone an ACK. The patch is also doing rather more than the description - It is inserting extra breaks into a switch statement with no comment as to why. Dan posted it to [EMAIL PROTECTED] on 13 Feb 2007. The description in the body is quoted below: It was also posted to [EMAIL PROTECTED] and accepted for 2.6.19 and 2.6.20. Dan Correct assignment of DOT1XENABLE in WE-19 codepaths. RX_UNENCRYPTED_EAPOL = 1 really means setting DOT1XENABLE _off_, and vice versa. The original WE-19 patch erroneously reversed that. This patch fixes association with unencrypted and WEP networks when using wpa_supplicant. It also adds two missing break statements that, left out, could result in incorrect card configuration. Please commit to both development and stable branches. Hth... John - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[git patches] net driver updates
Dan Williams (1): prism54: correct assignment of DOT1XENABLE in WE-19 codepaths Where did this spring from ? I see no posting of this patch let alone an ACK. The patch is also doing rather more than the description - It is inserting extra breaks into a switch statement with no comment as to why. Roger While - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
On Wed, 2007-02-21 at 12:46 +0100, Roger While wrote: Dan Williams (1): prism54: correct assignment of DOT1XENABLE in WE-19 codepaths Where did this spring from ? wireless I see no posting of this patch let alone an ACK. The patch is also doing rather more than the description - It is inserting extra breaks into a switch statement with no comment as to why. The patch description clearly indicates those break statements, and they're also clearly necessary. http://kernel.org/git/?p=linux/kernel/git/linville/wireless-2.6.git;a=commit;h=b5c41651645f7604dda7abc3445e1622f9b1b9ab johannes signature.asc Description: This is a digitally signed message part
Re: [git patches] net driver updates
On Wed, Feb 21, 2007 at 12:46:46PM +0100, Roger While wrote: Dan Williams (1): prism54: correct assignment of DOT1XENABLE in WE-19 codepaths Where did this spring from ? I see no posting of this patch let alone an ACK. The patch is also doing rather more than the description - It is inserting extra breaks into a switch statement with no comment as to why. Dan posted it to [EMAIL PROTECTED] on 13 Feb 2007. The description in the body is quoted below: Correct assignment of DOT1XENABLE in WE-19 codepaths. RX_UNENCRYPTED_EAPOL = 1 really means setting DOT1XENABLE _off_, and vice versa. The original WE-19 patch erroneously reversed that. This patch fixes association with unencrypted and WEP networks when using wpa_supplicant. It also adds two missing break statements that, left out, could result in incorrect card configuration. Please commit to both development and stable branches. Hth... John -- John W. Linville [EMAIL PROTECTED] - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[git patches] net driver updates
Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus to receive the following updates: drivers/net/8139too.c | 40 ++--- drivers/net/hamradio/baycom_epp.c | 13 +-- drivers/net/hamradio/hdlcdrv.c | 13 +-- drivers/net/hamradio/yam.c | 11 +- drivers/net/natsemi.c | 43 +- drivers/net/r8169.c | 25 ++- drivers/net/s2io.c | 21 ++- drivers/net/sis190.c|7 +- drivers/net/skge.c |9 +- drivers/net/wireless/airo.c |4 +- drivers/net/wireless/bcm43xx/bcm43xx.h |8 +- drivers/net/wireless/bcm43xx/bcm43xx_ilt.c | 15 ++ drivers/net/wireless/bcm43xx/bcm43xx_ilt.h |1 + drivers/net/wireless/bcm43xx/bcm43xx_main.c | 20 +-- drivers/net/wireless/bcm43xx/bcm43xx_phy.c | 195 ++- drivers/net/wireless/bcm43xx/bcm43xx_radio.c| 13 +- drivers/net/wireless/bcm43xx/bcm43xx_xmit.h | 10 +- drivers/net/wireless/hostap/hostap.h|3 +- drivers/net/wireless/ipw2100.c | 14 +- drivers/net/wireless/prism54/isl_ioctl.c|8 +- drivers/net/wireless/prism54/oid_mgt.c |4 +- drivers/net/wireless/wavelan.c | 14 +- drivers/net/wireless/wavelan.p.h|3 - drivers/net/wireless/zd1211rw/zd_chip.c |2 +- include/linux/wireless.h|4 +- net/ieee80211/softmac/ieee80211softmac_module.c | 13 +-- net/ieee80211/softmac/ieee80211softmac_wx.c | 11 +- 27 files changed, 264 insertions(+), 260 deletions(-) Ahmed S. Darwish (4): ipw2100: Use ARRAY_SIZE macro when appropriate misc-wireless: Use ARRAY_SIZE macro when appropriate hostap: Use ARRAY_SIZE macro when appropriate wavelan: Use ARRAY_SIZE macro when appropriate Dan Williams (1): prism54: correct assignment of DOT1XENABLE in WE-19 codepaths Daniel Drake (1): zd1211rw: Readd zd_addr_t cast Francois Romieu (4): r8169: RTNL and flush_scheduled_work deadlock sis190: RTNL and flush_scheduled_work deadlock 8139too: RTNL and flush_scheduled_work deadlock s2io: RTNL and flush_scheduled_work deadlock Ingo van Lil (1): wireless: fix IW_IS_{GET,SET} comment in wireless.h Larry Finger (5): bcm43xx: Janitorial change - remove two unused variables bcm43xx: Fix for oops on resume bcm43xx: Fix for 4311 and 02/07/07 specification changes bcm43xx: OFDM fix for rev 1 cards ieee80211softmac: Fix setting of initial transmit rates Mark Brown (2): natsemi: Add support for using MII port with no PHY natsemi: Support Aculab E1/T1 PMXc cPCI carrier cards Michael Buesch (1): bcm43xx: Ignore ampdu status reports Ralf Baechle (1): Replace local random function with random32() Stephen Hemminger (1): skge: race with workq and RTNL diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index 35ad5cf..99304b2 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c @@ -1109,6 +1109,8 @@ static void __devexit rtl8139_remove_one (struct pci_dev *pdev) assert (dev != NULL); + flush_scheduled_work(); + unregister_netdev (dev); __rtl8139_cleanup_dev (dev); @@ -1603,18 +1605,21 @@ static void rtl8139_thread (struct work_struct *work) struct net_device *dev = tp-mii.dev; unsigned long thr_delay = next_tick; + rtnl_lock(); + + if (!netif_running(dev)) + goto out_unlock; + if (tp-watchdog_fired) { tp-watchdog_fired = 0; rtl8139_tx_timeout_task(work); - } else if (rtnl_trylock()) { - rtl8139_thread_iter (dev, tp, tp-mmio_addr); - rtnl_unlock (); - } else { - /* unlikely race. mitigate with fast poll. */ - thr_delay = HZ / 2; - } + } else + rtl8139_thread_iter(dev, tp, tp-mmio_addr); - schedule_delayed_work(tp-thread, thr_delay); + if (tp-have_thread) + schedule_delayed_work(tp-thread, thr_delay); +out_unlock: + rtnl_unlock (); } static void rtl8139_start_thread(struct rtl8139_private *tp) @@ -1626,19 +1631,11 @@ static void rtl8139_start_thread(struct rtl8139_private *tp) return; tp-have_thread = 1; + tp-watchdog_fired = 0; schedule_delayed_work(tp-thread, next_tick); } -static void rtl8139_stop_thread(struct rtl8139_private *tp) -{ - if (tp-have_thread) { - cancel_rearming_delayed_work(tp-thread); - tp-have_thread = 0; - } else - flush_scheduled_work(); -} - static inline void rtl8139_tx_clear
[git patches] net driver updates
Just sent this upstream... Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus to receive the following updates: Documentation/feature-removal-schedule.txt|7 + MAINTAINERS | 18 +- drivers/net/3c59x.c |3 +- drivers/net/Kconfig | 65 +- drivers/net/Makefile |6 +- drivers/net/Space.c |4 - drivers/net/amd8111e.c|3 +- drivers/net/b44.c |8 +- drivers/net/b44.h | 10 +- drivers/net/bmac.c| 20 +- drivers/net/bnx2.c| 13 +- drivers/net/bonding/bond_main.c | 23 +- drivers/net/bonding/bond_sysfs.c | 15 + drivers/net/bonding/bonding.h |9 +- drivers/net/chelsio/common.h |2 +- drivers/net/chelsio/cpl5_cmd.h| 18 +- drivers/net/chelsio/cxgb2.c | 149 +- drivers/net/chelsio/elmer0.h | 40 +- drivers/net/chelsio/espi.c| 44 +- drivers/net/chelsio/fpga_defs.h |6 +- drivers/net/chelsio/gmac.h| 11 +- drivers/net/chelsio/ixf1010.c | 100 +- drivers/net/chelsio/mv88e1xxx.c | 27 +- drivers/net/chelsio/my3126.c | 16 +- drivers/net/chelsio/pm3393.c | 91 +- drivers/net/chelsio/sge.c | 328 ++-- drivers/net/chelsio/subr.c| 89 +- drivers/net/chelsio/tp.c | 62 +- drivers/net/chelsio/vsc7326.c | 139 +- drivers/net/chelsio/vsc7326_reg.h | 139 +- drivers/net/chelsio/vsc8244.c | 41 +- drivers/net/cxgb3/Makefile|8 + drivers/net/cxgb3/adapter.h | 279 ++ drivers/net/cxgb3/ael1002.c | 251 ++ drivers/net/cxgb3/common.h| 729 ++ drivers/net/cxgb3/cxgb3_ctl_defs.h| 164 ++ drivers/net/cxgb3/cxgb3_defs.h| 99 + drivers/net/cxgb3/cxgb3_ioctl.h | 185 ++ drivers/net/cxgb3/cxgb3_main.c| 2515 ++ drivers/net/cxgb3/cxgb3_offload.c | 1222 + drivers/net/cxgb3/cxgb3_offload.h | 193 ++ drivers/net/cxgb3/firmware_exports.h | 177 ++ drivers/net/cxgb3/l2t.c | 450 drivers/net/cxgb3/l2t.h | 143 ++ drivers/net/cxgb3/mc5.c | 473 drivers/net/cxgb3/regs.h | 2195 drivers/net/cxgb3/sge.c | 2681 drivers/net/cxgb3/sge_defs.h | 251 ++ drivers/net/cxgb3/t3_cpl.h| 1444 +++ drivers/net/cxgb3/t3_hw.c | 3375 + drivers/net/cxgb3/t3cdev.h| 73 + drivers/net/cxgb3/version.h | 39 + drivers/net/cxgb3/vsc8211.c | 228 ++ drivers/net/cxgb3/xgmac.c | 409 +++ drivers/net/declance.c| 164 +- drivers/net/e1000/e1000.h |7 - drivers/net/e1000/e1000_ethtool.c |6 - drivers/net/e1000/e1000_main.c| 128 +- drivers/net/e1000/e1000_osdep.h |4 +- drivers/net/e1000/e1000_param.c | 15 +- drivers/net/forcedeth.c | 1342 +++ drivers/net/hp100.c |2 +- drivers/net/ixgb/ixgb.h |2 - drivers/net/ixgb/ixgb_ethtool.c |6 - drivers/net/ixgb/ixgb_main.c |4 - drivers/net/macb.c| 25 +- drivers/net/macb.h|8 +- drivers/net/mace.c| 16 +- drivers/net/macmace.c | 18 +- drivers/net/macsonic.c|6 +- drivers/net/myri10ge/myri10ge.c | 10 - drivers/net/netxen/netxen_nic.h | 17 +- drivers/net/netxen/netxen_nic_ethtool.c | 96 +- drivers/net/netxen/netxen_nic_init.c | 279 ++- drivers/net/oaknet.c | 666 - drivers/net/pasemi_mac.c | 1019 drivers/net/pasemi_mac.h | 460 drivers/net/qla3xxx.c | 363 +++- drivers/net/qla3xxx.h | 88 +- drivers/net/s2io-regs.h |7 +- drivers/net/s2io.c| 1178 +- drivers/net/s2io.h| 223 +-
[git patches] net driver updates
Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus to receive the following updates: drivers/net/Kconfig |8 + drivers/net/chelsio/cxgb2.c | 23 +- drivers/net/chelsio/sge.c | 115 - drivers/net/chelsio/sge.h |4 drivers/net/macb.c |8 - drivers/net/macb.h |6 drivers/net/myri10ge/myri10ge.c | 498 --- drivers/net/smc91x.h| 90 --- drivers/net/ucc_geth.c | 12 + 9 files changed, 334 insertions(+), 430 deletions(-) Brice Goglin: myri10ge: indentation cleanups myri10ge: add page-based skb routines myri10ge: switch to page-based skb myri10ge: drop contiguous skb routines myri10ge: Full vlan frame in small_bytes myri10ge: fix big_bytes in case of vlan frames myri10ge: update driver version to 1.1.0 Haavard Skinnemoen: MACB: Use struct delayed_work instead of struct work_struct MACB: Use __raw register access Paul Mundt: smc91x: Kill off excessive versatile hooks. Scott Wood: ucc_geth: compilation error fixes ucc_geth: Initialize mdio_lock. Stephen Hemminger: chelsio: working NAPI diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 9de0eed..8aa8dd0 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -2384,6 +2384,14 @@ config CHELSIO_T1_1G Enables support for Chelsio's gigabit Ethernet PCI cards. If you are using only 10G cards say 'N' here. +config CHELSIO_T1_NAPI + bool Use Rx Polling (NAPI) + depends on CHELSIO_T1 + default y + help + NAPI is a driver API designed to reduce CPU and interrupt load + when the driver is receiving lots of packets from the card. + config EHEA tristate eHEA Ethernet support depends on IBMEBUS diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c index de48ead..fd5d821 100644 --- a/drivers/net/chelsio/cxgb2.c +++ b/drivers/net/chelsio/cxgb2.c @@ -220,9 +220,8 @@ static int cxgb_up(struct adapter *adapt t1_interrupts_clear(adapter); - adapter-params.has_msi = !disable_msi pci_enable_msi(adapter-pdev) == 0; - err = request_irq(adapter-pdev-irq, - t1_select_intr_handler(adapter), + adapter-params.has_msi = !disable_msi !pci_enable_msi(adapter-pdev); + err = request_irq(adapter-pdev-irq, t1_interrupt, adapter-params.has_msi ? 0 : IRQF_SHARED, adapter-name, adapter); if (err) { @@ -764,18 +763,7 @@ static int set_coalesce(struct net_devic { struct adapter *adapter = dev-priv; - /* -* If RX coalescing is requested we use NAPI, otherwise interrupts. -* This choice can be made only when all ports and the TOE are off. -*/ - if (adapter-open_device_map == 0) - adapter-params.sge.polling = c-use_adaptive_rx_coalesce; - - if (adapter-params.sge.polling) { - adapter-params.sge.rx_coalesce_usecs = 0; - } else { - adapter-params.sge.rx_coalesce_usecs = c-rx_coalesce_usecs; - } + adapter-params.sge.rx_coalesce_usecs = c-rx_coalesce_usecs; adapter-params.sge.coalesce_enable = c-use_adaptive_rx_coalesce; adapter-params.sge.sample_interval_usecs = c-rate_sample_interval; t1_sge_set_coalesce_params(adapter-sge, adapter-params.sge); @@ -944,7 +932,7 @@ static void t1_netpoll(struct net_device struct adapter *adapter = dev-priv; local_irq_save(flags); - t1_select_intr_handler(adapter)(adapter-pdev-irq, adapter); + t1_interrupt(adapter-pdev-irq, adapter); local_irq_restore(flags); } #endif @@ -1165,7 +1153,10 @@ #endif #ifdef CONFIG_NET_POLL_CONTROLLER netdev-poll_controller = t1_netpoll; #endif +#ifdef CONFIG_CHELSIO_T1_NAPI netdev-weight = 64; + netdev-poll = t1_poll; +#endif SET_ETHTOOL_OPS(netdev, t1_ethtool_ops); } diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c index 0ca8d87..659cb22 100644 --- a/drivers/net/chelsio/sge.c +++ b/drivers/net/chelsio/sge.c @@ -1413,16 +1413,20 @@ static int sge_rx(struct sge *sge, struc if (unlikely(adapter-vlan_grp p-vlan_valid)) { st-vlan_xtract++; - if (adapter-params.sge.polling) +#ifdef CONFIG_CHELSIO_T1_NAPI vlan_hwaccel_receive_skb(skb, adapter-vlan_grp, ntohs(p-vlan)); - else +#else vlan_hwaccel_rx(skb, adapter-vlan_grp, ntohs(p-vlan)); - } else if (adapter-params.sge.polling) +#endif + } else { +#ifdef CONFIG_CHELSIO_T1_NAPI
[git patches] net driver updates
[just sent this upstream] Random schtuff. Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus to receive the following updates: drivers/net/3c501.c|2 drivers/net/3c503.c|2 drivers/net/3c505.c|2 drivers/net/3c507.c|2 drivers/net/3c523.c|2 drivers/net/3c527.c|2 drivers/net/ac3200.c |2 drivers/net/apne.c |4 drivers/net/appletalk/cops.c |2 drivers/net/arm/at91_ether.c | 88 ++-- drivers/net/arm/at91_ether.h |1 drivers/net/arm/ether1.c |6 drivers/net/arm/ether3.c |8 drivers/net/at1700.c |2 drivers/net/atarilance.c |4 drivers/net/bonding/bond_main.c|2 drivers/net/cs89x0.c |2 drivers/net/declance.c | 404 ++-- drivers/net/e2100.c|2 drivers/net/eepro.c|2 drivers/net/eexpress.c |2 drivers/net/es3210.c |2 drivers/net/eth16i.c |2 drivers/net/hp-plus.c |2 drivers/net/hp.c |2 drivers/net/lance.c|2 drivers/net/lne390.c |2 drivers/net/mv643xx_eth.c |4 drivers/net/mvme147.c |4 drivers/net/myri10ge/myri10ge.c| 95 +++-- drivers/net/myri10ge/myri10ge_mcp.h| 56 +-- drivers/net/myri10ge/myri10ge_mcp_gen_header.h |2 drivers/net/ne.c |2 drivers/net/ne2.c |2 drivers/net/netxen/netxen_nic.h| 331 drivers/net/netxen/netxen_nic_ethtool.c| 65 ++- drivers/net/netxen/netxen_nic_hdr.h|6 drivers/net/netxen/netxen_nic_hw.c | 483 +++- drivers/net/netxen/netxen_nic_hw.h | 10 drivers/net/netxen/netxen_nic_init.c | 361 ++ drivers/net/netxen/netxen_nic_ioctl.h |8 drivers/net/netxen/netxen_nic_isr.c| 51 +-- drivers/net/netxen/netxen_nic_main.c | 306 +-- drivers/net/netxen/netxen_nic_niu.c| 32 +- drivers/net/netxen/netxen_nic_phan_reg.h | 228 +++ drivers/net/ni52.c |2 drivers/net/ni65.c |2 drivers/net/ns83820.c | 25 + drivers/net/r8169.c| 84 +++- drivers/net/seeq8005.c |2 drivers/net/sk98lin/skgesirq.c |2 drivers/net/skge.h | 150 --- drivers/net/sky2.c | 117 +++--- drivers/net/sky2.h | 54 +-- drivers/net/smc-ultra.c|2 drivers/net/smc-ultra32.c |2 drivers/net/smc9194.c |2 drivers/net/smc91x.h | 24 + drivers/net/sun3lance.c|4 drivers/net/tokenring/smctr.c |2 drivers/net/wd.c |2 drivers/net/wireless/hostap/hostap_ap.c|4 drivers/net/wireless/hostap/hostap_cs.c|3 drivers/net/wireless/hostap/hostap_download.c |4 drivers/net/wireless/hostap/hostap_hw.c| 12 - drivers/net/wireless/hostap/hostap_info.c |3 drivers/net/wireless/hostap/hostap_ioctl.c | 12 - drivers/net/wireless/hostap/hostap_pci.c |3 drivers/net/wireless/hostap/hostap_plx.c |3 drivers/net/wireless/ipw2100.c |2 drivers/net/wireless/ipw2200.c | 24 + drivers/net/wireless/prism54/isl_ioctl.c |9 drivers/net/wireless/prism54/oid_mgt.c |4 drivers/net/wireless/zd1211rw/zd_chip.c| 13 + drivers/net/wireless/zd1211rw/zd_chip.h| 43 ++ drivers/net/wireless/zd1211rw/zd_mac.c | 53 ++- drivers/net/wireless/zd1211rw/zd_mac.h |3 drivers/net/wireless/zd1211rw/zd_netdev.c |2 net/ieee80211/softmac/ieee80211softmac_assoc.c | 14 + net/ieee80211/softmac/ieee80211softmac_auth.c |2 net/ieee80211/softmac/ieee80211softmac_priv.h |2 net/ieee80211/softmac/ieee80211softmac_wx.c|3 82 files changed, 2115 insertions(+), 1180
[git patches] net driver updates
[just sent upstream to Andrew Linus; patch available in git, it's too large to post] Nothing major of interest. A couple new drivers (ehea, qla3xxx, ep93xx_eth), a lot of trailing whitespace killed, a deleted MIPS driver, e1000 update, ... Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus to receive the following updates: Documentation/networking/LICENSE.qla3xxx| 46 MAINTAINERS | 37 drivers/isdn/i4l/Kconfig|1 drivers/net/3c501.c | 61 drivers/net/3c501.h |4 drivers/net/3c503.c | 16 drivers/net/3c503.h |4 drivers/net/3c505.c | 24 drivers/net/3c505.h |2 drivers/net/3c507.c | 14 drivers/net/3c509.c | 53 drivers/net/3c515.c | 64 drivers/net/3c523.c | 28 drivers/net/3c523.h | 14 drivers/net/3c527.c | 530 drivers/net/3c527.h |4 drivers/net/3c59x.c | 36 drivers/net/7990.c | 60 drivers/net/7990.h | 24 drivers/net/8139cp.c| 122 drivers/net/8139too.c | 11 drivers/net/82596.c | 12 drivers/net/8390.c | 246 drivers/net/8390.h |2 drivers/net/Kconfig | 67 drivers/net/Makefile| 13 drivers/net/Space.c | 24 drivers/net/a2065.c | 40 drivers/net/a2065.h |4 drivers/net/ac3200.c|6 drivers/net/acenic.c| 46 drivers/net/acenic.h|6 drivers/net/acenic_firmware.h |18808 drivers/net/amd8111e.c | 489 drivers/net/amd8111e.h | 102 drivers/net/apne.c | 10 drivers/net/arcnet/com20020-pci.c |2 drivers/net/ariadne.c |2 drivers/net/arm/Kconfig |7 drivers/net/arm/Makefile|1 drivers/net/arm/at91_ether.c|2 drivers/net/arm/ep93xx_eth.c| 944 + drivers/net/arm/etherh.c|2 drivers/net/at1700.c| 30 drivers/net/atari_bionet.c | 14 drivers/net/atari_pamsnet.c |2 drivers/net/atarilance.c| 22 drivers/net/atp.c |2 drivers/net/au1000_eth.c| 71 drivers/net/au1000_eth.h| 12 drivers/net/b44.c |4 drivers/net/bmac.c | 54 drivers/net/bmac.h |2 drivers/net/bnx2.c | 166 drivers/net/bnx2.h | 82 drivers/net/bonding/bond_main.c |2 drivers/net/bsd_comp.c | 68 drivers/net/cassini.c | 540 drivers/net/cassini.h | 766 drivers/net/chelsio/cxgb2.c |4 drivers/net/cris/eth_v10.c |4 drivers/net/cs89x0.c| 82 drivers/net/cs89x0.h|4 drivers/net/de600.c |4 drivers/net/de620.c | 38 drivers/net/declance.c |8 drivers/net/defxx.c | 270 drivers/net/defxx.h | 192 drivers/net/depca.c | 110 drivers/net/depca.h | 28 drivers/net/dgrs.c | 26 drivers/net/dgrs.h |4 drivers/net/dgrs_asstruct.h |2 drivers/net/dgrs_bcomm.h|2 drivers/net/dgrs_ether.h|4 drivers/net/dgrs_i82596.h |2 drivers/net/dl2k.c | 164 drivers/net/dl2k.h |6 drivers/net/dummy.c | 28 drivers/net/e100.c | 32
[git patches] net driver updates
Just sent this to Andrew/Linus... Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus to receive the following updates: MAINTAINERS|7 drivers/net/8139cp.c | 35 drivers/net/8139too.c | 34 drivers/net/b44.c | 27 drivers/net/bnx2.c | 30 drivers/net/cassini.c | 25 drivers/net/declance.c |7 drivers/net/dl2k.c | 43 drivers/net/eepro100.c |6 drivers/net/epic100.c | 93 - drivers/net/fealnx.c | 36 drivers/net/gt96100eth.c |3 drivers/net/gt96100eth.h |2 drivers/net/hamachi.c | 16 drivers/net/myri10ge/myri10ge.c| 17 drivers/net/natsemi.c | 117 - drivers/net/ne2k-pci.c |9 drivers/net/ni5010.c | 52 drivers/net/ns83820.c | 41 drivers/net/pci-skeleton.c | 19 drivers/net/pcnet32.c | 520 +--- drivers/net/phy/cicada.c | 42 drivers/net/r8169.c| 40 drivers/net/starfire.c | 123 - drivers/net/sundance.c | 106 - drivers/net/tulip/winbond-840.c| 29 drivers/net/tulip/xircom_tulip_cb.c| 27 drivers/net/via-rhine.c| 121 - drivers/net/via-velocity.c | 102 - drivers/net/via-velocity.h |4 drivers/net/wan/Kconfig| 12 drivers/net/wan/Makefile |1 drivers/net/wireless/Kconfig |1 drivers/net/wireless/Makefile |1 drivers/net/wireless/bcm43xx/bcm43xx_main.c| 31 drivers/net/wireless/bcm43xx/bcm43xx_main.h| 24 drivers/net/wireless/bcm43xx/bcm43xx_radio.c |7 drivers/net/wireless/bcm43xx/bcm43xx_wx.c |2 drivers/net/wireless/bcm43xx/bcm43xx_xmit.c|5 drivers/net/wireless/hostap/hostap_plx.c |2 drivers/net/wireless/zd1211rw/Kconfig | 19 drivers/net/wireless/zd1211rw/Makefile | 11 drivers/net/wireless/zd1211rw/zd_chip.c| 1615 + drivers/net/wireless/zd1211rw/zd_chip.h| 825 drivers/net/wireless/zd1211rw/zd_def.h | 48 drivers/net/wireless/zd1211rw/zd_ieee80211.c | 191 ++ drivers/net/wireless/zd1211rw/zd_ieee80211.h | 85 + drivers/net/wireless/zd1211rw/zd_mac.c | 1057 drivers/net/wireless/zd1211rw/zd_mac.h | 190 ++ drivers/net/wireless/zd1211rw/zd_netdev.c | 267 drivers/net/wireless/zd1211rw/zd_netdev.h | 45 drivers/net/wireless/zd1211rw/zd_rf.c | 151 ++ drivers/net/wireless/zd1211rw/zd_rf.h | 82 + drivers/net/wireless/zd1211rw/zd_rf_al2230.c | 308 drivers/net/wireless/zd1211rw/zd_rf_rf2959.c | 279 drivers/net/wireless/zd1211rw/zd_types.h | 71 + drivers/net/wireless/zd1211rw/zd_usb.c | 1316 drivers/net/wireless/zd1211rw/zd_usb.h | 240 +++ drivers/net/wireless/zd1211rw/zd_util.c| 82 + drivers/net/wireless/zd1211rw/zd_util.h| 29 drivers/net/yellowfin.c| 39 include/net/ieee80211softmac.h |1 net/ieee80211/ieee80211_rx.c |4 net/ieee80211/ieee80211_tx.c | 15 net/ieee80211/softmac/ieee80211softmac_assoc.c | 31 net/ieee80211/softmac/ieee80211softmac_auth.c |4 net/ieee80211/softmac/ieee80211softmac_io.c|3 net/ieee80211/softmac/ieee80211softmac_wx.c| 36 68 files changed, 7760 insertions(+), 1103 deletions(-) Andreas Mohr: NI5010 netcard cleanup Brice Goglin: myri10ge - Use dev_info() when printing parameters after probe myri10ge - Export more parameters to ethtool [EMAIL PROTECTED]: myri10ge - Drop unused pm_state myri10ge - Drop ununsed nvidia chipset id Daniel Drake: bcm43xx: use softmac-suggested TX rate bcm43xx: enable shared key authentication ZyDAS ZD1211 USB-WLAN driver zd1211rw: disable TX queue during stop Don Fry: pcnet32: Fix Section mismatch error pcnet32: Use PCI_DEVICE macro pcnet32: Fix off-by-one in get_ringparam pcnet32: Use kcalloc instead of kmalloc and memset pcnet32: Handle memory allocation failures cleanly when resizing tx/rx rings pcnet32: Suspend the chip rather than restart when changing
[git patches] net driver updates
Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git to receive the following updates: drivers/net/3c59x.c | 79 +++ drivers/net/dl2k.h | 12 +--- drivers/net/dm9000.c| 34 +++-- drivers/net/eepro100.c |5 -- drivers/net/epic100.c | 20 +--- drivers/net/fealnx.c| 10 drivers/net/hamradio/dmascc.c |2 drivers/net/natsemi.c | 100 +++- drivers/net/pcnet32.c |6 -- drivers/net/phy/lxt.c |8 +-- drivers/net/tulip/winbond-840.c | 26 ++ drivers/net/wan/c101.c |2 drivers/net/wan/n2.c|2 drivers/net/wan/pci200syn.c |2 drivers/net/yellowfin.c | 24 ++--- 15 files changed, 133 insertions(+), 199 deletions(-) Adrian Bunk: drivers/net/hamradio/dmascc.c: fix section mismatch Ben Dooks: DM9000 - better checks for platform resources DM9000 - check for MAC left in by bootloader DM9000 - do no re-init spin lock DM9000 - minor code cleanups Jeff Garzik: [netdrvr] natsemi: Separate out media initialization code [netdrvr] natsemi: minor cleanups [netdrvr] Remove long-unused bits from Becker template drivers Krzysztof Halasa: WAN: update info page for a bunch of my drivers Uwe Zeisberger: Fix phy id for LXT971A/LXT972A diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c index e277789..b467c38 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c @@ -375,8 +375,7 @@ limit of 4K. of the drivers, and will likely be provided by some future kernel. */ enum pci_flags_bit { - PCI_USES_IO=1, PCI_USES_MEM=2, PCI_USES_MASTER=4, - PCI_ADDR0=0x100, PCI_ADDR1=0x101, PCI_ADDR2=0x102, PCI_ADDR3=0x103, + PCI_USES_MASTER=4, }; enum { IS_VORTEX=1, IS_BOOMERANG=2, IS_CYCLONE=4, IS_TORNADO=8, @@ -446,95 +445,95 @@ static struct vortex_chip_info { int io_size; } vortex_info_tbl[] __devinitdata = { {3c590 Vortex 10Mbps, -PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, }, +PCI_USES_MASTER, IS_VORTEX, 32, }, {3c592 EISA 10Mbps Demon/Vortex, /* AKPM: from Don's 3c59x_cb.c 0.49H */ -PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, }, +PCI_USES_MASTER, IS_VORTEX, 32, }, {3c597 EISA Fast Demon/Vortex, /* AKPM: from Don's 3c59x_cb.c 0.49H */ -PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, }, +PCI_USES_MASTER, IS_VORTEX, 32, }, {3c595 Vortex 100baseTx, -PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, }, +PCI_USES_MASTER, IS_VORTEX, 32, }, {3c595 Vortex 100baseT4, -PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, }, +PCI_USES_MASTER, IS_VORTEX, 32, }, {3c595 Vortex 100base-MII, -PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, }, +PCI_USES_MASTER, IS_VORTEX, 32, }, {3c900 Boomerang 10baseT, -PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|EEPROM_RESET, 64, }, +PCI_USES_MASTER, IS_BOOMERANG|EEPROM_RESET, 64, }, {3c900 Boomerang 10Mbps Combo, -PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|EEPROM_RESET, 64, }, +PCI_USES_MASTER, IS_BOOMERANG|EEPROM_RESET, 64, }, {3c900 Cyclone 10Mbps TPO, /* AKPM: from Don's 0.99M */ -PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, }, +PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, }, {3c900 Cyclone 10Mbps Combo, -PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, }, +PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, }, {3c900 Cyclone 10Mbps TPC, /* AKPM: from Don's 0.99M */ -PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, }, +PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, }, {3c900B-FL Cyclone 10base-FL, -PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, }, +PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, }, {3c905 Boomerang 100baseTx, -PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|HAS_MII|EEPROM_RESET, 64, }, +PCI_USES_MASTER, IS_BOOMERANG|HAS_MII|EEPROM_RESET, 64, }, {3c905 Boomerang 100baseT4, -PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|HAS_MII|EEPROM_RESET, 64, }, +PCI_USES_MASTER, IS_BOOMERANG|HAS_MII|EEPROM_RESET, 64, }, {3c905B Cyclone 100baseTx, -PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM|EXTRA_PREAMBLE, 128, }, +PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM|EXTRA_PREAMBLE, 128, }, {3c905B Cyclone 10/100/BNC, -PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM, 128, }, +PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM, 128,
Re: [git patches] net driver updates
Andi Kleen wrote: My NF4Pro machine now reliably does Disconnecting: Bad packet length 3742984839. when I display a lot of data through ssh. Apparently it generates some corruption that's not caught by the TCP checksum. The nic does hw checksumming - thus the tcp checksum won't catch driver bugs. Would that be fixed by this change too? No idea, but unlikely. The fix removes a duplicate request_irq call. Is it possible that the both instances run concurrently? -- Manfred - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
No idea, but unlikely. The fix removes a duplicate request_irq call. Is it possible that the both instances run concurrently? The system has two Forcedeth ports, but only one has a cable connected. I don't think there is any parallelism. Just one connection with a lot of data. It didn't happen with 2.6.16. If you don't have any other good ideas I will try to track it down. -Andi - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
Jeff Garzik [EMAIL PROTECTED] wrote: Andrew Morton: revert forcedeth: fix multi irq issues Manfred just found the fix for this, so we should no longer need to revert. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
On Sat, 20 May 2006, Andrew Morton wrote: Jeff Garzik [EMAIL PROTECTED] wrote: Andrew Morton: revert forcedeth: fix multi irq issues Manfred just found the fix for this, so we should no longer need to revert. Hmm. I already pulled. I guess we can revert the revert and apply Manfreds fix. Jeff? Linus - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver updates
On Saturday 20 May 2006 19:55, Andrew Morton wrote: Linus Torvalds [EMAIL PROTECTED] wrote: On Sat, 20 May 2006, Andrew Morton wrote: Jeff Garzik [EMAIL PROTECTED] wrote: Andrew Morton: revert forcedeth: fix multi irq issues Manfred just found the fix for this, so we should no longer need to revert. Hmm. I already pulled. I guess we can revert the revert and apply Manfreds fix. Jeff? I can cook up the necessary pieces. My NF4Pro machine now reliably does Disconnecting: Bad packet length 3742984839. when I display a lot of data through ssh. Apparently it generates some corruption that's not caught by the TCP checksum. Would that be fixed by this change too? -Andi - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[git patches] net driver updates
Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git to receive the following updates: drivers/net/forcedeth.c | 312 +++- drivers/net/pcmcia/axnet_cs.c | 13 - drivers/net/skge.c |8 drivers/net/sky2.c | 54 ++-- drivers/net/sky2.h |2 drivers/net/tulip/winbond-840.c |4 drivers/net/via-rhine.c | 34 --- drivers/net/wireless/bcm43xx/bcm43xx_main.c |6 8 files changed, 131 insertions(+), 302 deletions(-) Andrew Morton: revert forcedeth: fix multi irq issues David Woodhouse: bcm43xx: associate on 'ifconfig up' Erling A. Jacobsen: winbond-840-remove-badness-in-pci_map_single John W. Linville: via-rhine: revert change mdelay to msleep and remove from ISR path Komuro: network: axnet_cs: bug fix multicast code (support older ax88190 chipset) Stephen Hemminger: sky2: allow dual port usage Subjec: sky2, skge: correct PCI id for DGE-560T sky2: more fixes for Yukon Ultra sky2: force NAPI repoll if busy sky2 version 1.4 skge: bad checksums on big-endian platforms skge: don't allow transmit ring to be too small diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index f7235c9..7e078b4 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c @@ -106,7 +106,6 @@ * 0.51: 20 Jan 2006: Add 64bit consistent memory allocation for rings. * 0.52: 20 Jan 2006: Add MSI/MSIX support. * 0.53: 19 Mar 2006: Fix init from low power mode and add hw reset. - * 0.54: 21 Mar 2006: Fix spin locks for multi irqs and cleanup. * * Known bugs: * We suspect that on some hardware no TX done interrupts are generated. @@ -118,7 +117,7 @@ * DEV_NEED_TIMERIRQ will not harm you on sane hardware, only generating a few * superfluous timer interrupts from the nic. */ -#define FORCEDETH_VERSION 0.54 +#define FORCEDETH_VERSION 0.53 #define DRV_NAME forcedeth #include linux/module.h @@ -711,72 +710,6 @@ static void setup_hw_rings(struct net_de } } -static int using_multi_irqs(struct net_device *dev) -{ - struct fe_priv *np = get_nvpriv(dev); - - if (!(np-msi_flags NV_MSI_X_ENABLED) || - ((np-msi_flags NV_MSI_X_ENABLED) -((np-msi_flags NV_MSI_X_VECTORS_MASK) == 0x1))) - return 0; - else - return 1; -} - -static void nv_enable_irq(struct net_device *dev) -{ - struct fe_priv *np = get_nvpriv(dev); - - if (!using_multi_irqs(dev)) { - if (np-msi_flags NV_MSI_X_ENABLED) - enable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_ALL].vector); - else - enable_irq(dev-irq); - } else { - enable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_RX].vector); - enable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_TX].vector); - enable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector); - } -} - -static void nv_disable_irq(struct net_device *dev) -{ - struct fe_priv *np = get_nvpriv(dev); - - if (!using_multi_irqs(dev)) { - if (np-msi_flags NV_MSI_X_ENABLED) - disable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_ALL].vector); - else - disable_irq(dev-irq); - } else { - disable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_RX].vector); - disable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_TX].vector); - disable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector); - } -} - -/* In MSIX mode, a write to irqmask behaves as XOR */ -static void nv_enable_hw_interrupts(struct net_device *dev, u32 mask) -{ - u8 __iomem *base = get_hwbase(dev); - - writel(mask, base + NvRegIrqMask); -} - -static void nv_disable_hw_interrupts(struct net_device *dev, u32 mask) -{ - struct fe_priv *np = get_nvpriv(dev); - u8 __iomem *base = get_hwbase(dev); - - if (np-msi_flags NV_MSI_X_ENABLED) { - writel(mask, base + NvRegIrqMask); - } else { - if (np-msi_flags NV_MSI_ENABLED) - writel(0, base + NvRegMSIIrqMask); - writel(0, base + NvRegIrqMask); - } -} - #define MII_READ (-1) /* mii_rw: read/write a register on the PHY. * @@ -1086,25 +1019,24 @@ static void nv_do_rx_refill(unsigned lon struct net_device *dev = (struct net_device *) data; struct fe_priv *np = netdev_priv(dev); - if (!using_multi_irqs(dev)) { - if (np-msi_flags NV_MSI_X_ENABLED) - disable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_ALL].vector); - else - disable_irq(dev-irq); + + if (!(np-msi_flags
[git patches] net driver updates
[just sent upstream] The 'upstream-linus' branch of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git contains the following updates: Documentation/networking/bcm43xx.txt| 36 drivers/net/8390.h |2 drivers/net/acenic_firmware.h | 10 drivers/net/b44.c | 14 drivers/net/bonding/bond_3ad.c | 28 drivers/net/bonding/bond_3ad.h |1 drivers/net/bonding/bond_main.c | 97 drivers/net/bonding/bonding.h |4 drivers/net/ixp2000/ixpdev.c|5 drivers/net/natsemi.c | 18 drivers/net/pcmcia/axnet_cs.c | 61 drivers/net/pcnet32.c |4 drivers/net/spider_net.c|4 drivers/net/via-rhine.c | 21 drivers/net/wireless/Kconfig|7 drivers/net/wireless/Makefile |1 drivers/net/wireless/bcm43xx/Kconfig| 62 drivers/net/wireless/bcm43xx/Makefile | 12 drivers/net/wireless/bcm43xx/bcm43xx.h | 926 + drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c | 499 +++ drivers/net/wireless/bcm43xx/bcm43xx_debugfs.h | 117 drivers/net/wireless/bcm43xx/bcm43xx_dma.c | 968 + drivers/net/wireless/bcm43xx/bcm43xx_dma.h | 218 + drivers/net/wireless/bcm43xx/bcm43xx_ethtool.c | 50 drivers/net/wireless/bcm43xx/bcm43xx_ethtool.h |8 drivers/net/wireless/bcm43xx/bcm43xx_ilt.c | 337 ++ drivers/net/wireless/bcm43xx/bcm43xx_ilt.h | 32 drivers/net/wireless/bcm43xx/bcm43xx_leds.c | 293 + drivers/net/wireless/bcm43xx/bcm43xx_leds.h | 56 drivers/net/wireless/bcm43xx/bcm43xx_main.c | 3973 drivers/net/wireless/bcm43xx/bcm43xx_main.h | 168 + drivers/net/wireless/bcm43xx/bcm43xx_phy.c | 2345 ++ drivers/net/wireless/bcm43xx/bcm43xx_phy.h | 74 drivers/net/wireless/bcm43xx/bcm43xx_pio.c | 606 +++ drivers/net/wireless/bcm43xx/bcm43xx_pio.h | 138 drivers/net/wireless/bcm43xx/bcm43xx_power.c| 358 ++ drivers/net/wireless/bcm43xx/bcm43xx_power.h| 47 drivers/net/wireless/bcm43xx/bcm43xx_radio.c| 2026 drivers/net/wireless/bcm43xx/bcm43xx_radio.h| 99 drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c| 322 + drivers/net/wireless/bcm43xx/bcm43xx_sysfs.h| 25 drivers/net/wireless/bcm43xx/bcm43xx_wx.c | 1002 ++ drivers/net/wireless/bcm43xx/bcm43xx_wx.h | 36 drivers/net/wireless/bcm43xx/bcm43xx_xmit.c | 582 +++ drivers/net/wireless/bcm43xx/bcm43xx_xmit.h | 156 drivers/net/wireless/hostap/hostap_80211.h |2 drivers/net/wireless/hostap/hostap_80211_tx.c |9 drivers/usb/net/zd1201.c|2 net/ieee80211/ieee80211_wx.c|4 net/ieee80211/softmac/ieee80211softmac_module.c | 17 net/ieee80211/softmac/ieee80211softmac_priv.h |2 net/ieee80211/softmac/ieee80211softmac_wx.c | 12 52 files changed, 15820 insertions(+), 76 deletions(-) Adrian Bunk: PCMCIA_SPECTRUM must select FW_LOADER Arthur Othieno: net: remove CONFIG_NET_CBUS conditional for NS8390 Danny van Dyk: Sync bcm43xx_phy_initb6() with specs David Woodhouse: softmac: reduce scan dwell time softmac: reduce default rate to 11Mbps. Gary Zambrano: b44: fix force mac address before ifconfig up b44: ensure valid mac addr Jay Vosburgh: bonding: support carrier state for master Jean Tourrilhes: zd1201 wireless stat update Jens Osterkamp: spidernet : reduce console spam spidernet : enable tx checksum offloading by default John W. Linville: wireless: import bcm43xx sources bcm43xx: patch Kconfig and wireless/Makefile for import Jouni Malinen: hostap: Make hostap_tx_encrypt() static hostap: Fix EAPOL frame encryption Komuro: axnet_cs.c : add hardware multicast support Larry Finger: Minor (janitorial) change to ieee80211 Lennert Buytenhek: ixp2000: fix gcc4 breakage Linas Vepstas: Janitor: drivers/net/pcnet32: fix incorrect comments Mark Brown: natsemi: Support oversized EEPROMs Michael Buesch: bcm43xx: sync with svn.berlios.de bcm43xx: remove linux version compatibility code. bcm43xx: Move README file to Documentation directory. bcm43xx: remove redundant COPYING file. bcm43xx: add DEBUG Kconfig option. Also fix indention. bcm43xx: Fix makefile. Remove all the out-of-tree stuff. bcm43xx: Add more initvals sanity checks and error out, if one sanity check fails. bcm43xx: Remove function bcm43xx_channel_is_allowed() bcm43xx: basic ethtool support bcm43xx: Wireless Ext update bcm43xx: fix txpower
[git patches] net driver updates
Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git to receive the following updates: drivers/net/Makefile |4 +- drivers/net/au1000_eth.c | 18 -- drivers/net/depca.c |2 - drivers/net/sis900.c |1 drivers/net/sky2.c | 27 +--- drivers/net/sky2.h | 71 +-- drivers/net/tulip/de2104x.c |2 - drivers/s390/net/qeth_main.c | 57 +++--- drivers/s390/net/qeth_proc.c | 56 - drivers/s390/net/qeth_sys.c |2 - 10 files changed, 104 insertions(+), 136 deletions(-) Artur Skawina: sis900 adm7001 PHY support Eric Sesterhenn: Use after free in net/tulip/de2104x.c Use of uninitialized variable in drivers/net/depca.c Frank Pavlic: s390: qeth driver statistics fixes s390: qeth driver cleanups s390: qeth :allow setting of attribute route6 to no_router. Jens Osterkamp: fix spidernet build issue Sergei Shtylylov: AMD Au1xx0: fix Ethernet TX stats Stephen Hemminger: sky2: more ethtool stats diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 00e72b1..b90468a 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -58,8 +58,8 @@ obj-$(CONFIG_STNIC) += stnic.o 8390.o obj-$(CONFIG_FEALNX) += fealnx.o obj-$(CONFIG_TIGON3) += tg3.o obj-$(CONFIG_BNX2) += bnx2.o -spidernet-y += spider_net.o spider_net_ethtool.o sungem_phy.o -obj-$(CONFIG_SPIDER_NET) += spidernet.o +spidernet-y += spider_net.o spider_net_ethtool.o +obj-$(CONFIG_SPIDER_NET) += spidernet.o sungem_phy.o obj-$(CONFIG_TC35815) += tc35815.o obj-$(CONFIG_SKGE) += skge.o obj-$(CONFIG_SKY2) += sky2.o diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c index cd0b1dc..1363083 100644 --- a/drivers/net/au1000_eth.c +++ b/drivers/net/au1000_eth.c @@ -90,8 +90,6 @@ static void au1000_tx_timeout(struct net static int au1000_set_config(struct net_device *dev, struct ifmap *map); static void set_rx_mode(struct net_device *); static struct net_device_stats *au1000_get_stats(struct net_device *); -static inline void update_tx_stats(struct net_device *, u32, u32); -static inline void update_rx_stats(struct net_device *, u32); static void au1000_timer(unsigned long); static int au1000_ioctl(struct net_device *, struct ifreq *, int); static int mdio_read(struct net_device *, int, int); @@ -1825,16 +1823,11 @@ static void __exit au1000_cleanup_module } } - -static inline void -update_tx_stats(struct net_device *dev, u32 status, u32 pkt_len) +static void update_tx_stats(struct net_device *dev, u32 status) { struct au1000_private *aup = (struct au1000_private *) dev-priv; struct net_device_stats *ps = aup-stats; - ps-tx_packets++; - ps-tx_bytes += pkt_len; - if (status TX_FRAME_ABORTED) { if (dev-if_port == IF_PORT_100BASEFX) { if (status (TX_JAB_TIMEOUT | TX_UNDERRUN)) { @@ -1867,7 +1860,7 @@ static void au1000_tx_ack(struct net_dev ptxd = aup-tx_dma_ring[aup-tx_tail]; while (ptxd-buff_stat TX_T_DONE) { - update_tx_stats(dev, ptxd-status, ptxd-len 0x3ff); + update_tx_stats(dev, ptxd-status); ptxd-buff_stat = ~TX_T_DONE; ptxd-len = 0; au_sync(); @@ -1889,6 +1882,7 @@ static void au1000_tx_ack(struct net_dev static int au1000_tx(struct sk_buff *skb, struct net_device *dev) { struct au1000_private *aup = (struct au1000_private *) dev-priv; + struct net_device_stats *ps = aup-stats; volatile tx_dma_t *ptxd; u32 buff_stat; db_dest_t *pDB; @@ -1908,7 +1902,7 @@ static int au1000_tx(struct sk_buff *skb return 1; } else if (buff_stat TX_T_DONE) { - update_tx_stats(dev, ptxd-status, ptxd-len 0x3ff); + update_tx_stats(dev, ptxd-status); ptxd-len = 0; } @@ -1928,6 +1922,9 @@ static int au1000_tx(struct sk_buff *skb else ptxd-len = skb-len; + ps-tx_packets++; + ps-tx_bytes += ptxd-len; + ptxd-buff_stat = pDB-dma_addr | TX_DMA_ENABLE; au_sync(); dev_kfree_skb(skb); @@ -1936,7 +1933,6 @@ static int au1000_tx(struct sk_buff *skb return 0; } - static inline void update_rx_stats(struct net_device *dev, u32 status) { struct au1000_private *aup = (struct au1000_private *) dev-priv; diff --git a/drivers/net/depca.c b/drivers/net/depca.c index 03804cc..0941d40 100644 --- a/drivers/net/depca.c +++ b/drivers/net/depca.c @@ -1412,7 +1412,7 @@ static int __init depca_mca_probe(struct irq = 11; break; default: - printk(%s: mca_probe IRQ error. You should never get here (%d).\n, dev-name, where); +
[git patches] net driver updates
[just sent upstream; patch snipped due to size] Please pull from 'upstream-linus' branch of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git to receive the following updates: Documentation/DocBook/sis900.tmpl | 585 -- Documentation/networking/sis900.txt| 257 Documentation/DocBook/Makefile |2 Documentation/feature-removal-schedule.txt |7 Documentation/networking/00-INDEX |2 Documentation/networking/README.ipw2100| 12 Documentation/networking/README.ipw2200| 44 arch/ppc/platforms/hdpu.c |5 drivers/net/3c509.c| 70 - drivers/net/3c523.c|9 drivers/net/3c59x.c|7 drivers/net/7990.c |2 drivers/net/8139cp.c |2 drivers/net/8139too.c |4 drivers/net/82596.c|2 drivers/net/Kconfig| 29 drivers/net/apne.c |7 drivers/net/arcnet/Kconfig |4 drivers/net/arcnet/arc-rawmode.c |2 drivers/net/arcnet/arc-rimi.c | 68 - drivers/net/arcnet/arcnet.c| 20 drivers/net/arcnet/com90xx.c | 132 +- drivers/net/arcnet/rfc1051.c |2 drivers/net/arcnet/rfc1201.c |2 drivers/net/arm/etherh.c |3 drivers/net/bnx2.c | 10 drivers/net/bnx2_fw.h | 84 - drivers/net/bonding/bond_alb.c |2 drivers/net/bonding/bond_main.c| 45 drivers/net/bonding/bond_sysfs.c |6 drivers/net/bonding/bonding.h | 33 drivers/net/chelsio/espi.c | 14 drivers/net/chelsio/subr.c |2 drivers/net/dgrs.c |2 drivers/net/dgrs_firmware.c|4 drivers/net/dl2k.c |4 drivers/net/e100.c |6 drivers/net/e1000/e1000.h | 68 - drivers/net/e1000/e1000_ethtool.c | 110 -- drivers/net/e1000/e1000_hw.c | 734 + drivers/net/e1000/e1000_hw.h | 319 + drivers/net/e1000/e1000_main.c | 609 --- drivers/net/e1000/e1000_param.c|2 drivers/net/eepro100.c |4 drivers/net/epic100.c |4 drivers/net/eth16i.c | 11 drivers/net/fealnx.c |2 drivers/net/forcedeth.c| 593 ++- drivers/net/hamachi.c |2 drivers/net/hamradio/baycom_epp.c |2 drivers/net/hp100.c| 35 drivers/net/ibm_emac/ibm_emac_core.c | 40 drivers/net/ibm_emac/ibm_emac_core.h |2 drivers/net/ibm_emac/ibm_emac_debug.c |2 drivers/net/ibm_emac/ibm_emac_rgmii.h |2 drivers/net/ibm_emac/ibm_emac_zmii.c |7 drivers/net/ibm_emac/ibm_emac_zmii.h |2 drivers/net/irda/Kconfig |4 drivers/net/macsonic.c |2 drivers/net/mv643xx_eth.c | 1560 ++--- drivers/net/mv643xx_eth.h | 250 +--- drivers/net/natsemi.c | 192 ++- drivers/net/ne-h8300.c |5 drivers/net/ne.c |7 drivers/net/ne2.c |7 drivers/net/ne2k-pci.c |2 drivers/net/ns83820.c |7 drivers/net/oaknet.c |3 drivers/net/pcmcia/3c574_cs.c |2 drivers/net/pcmcia/3c589_cs.c |5 drivers/net/pcmcia/fmvj18x_cs.c|2 drivers/net/pcmcia/nmclan_cs.c |2 drivers/net/pcmcia/pcnet_cs.c |3 drivers/net/pcmcia/smc91c92_cs.c |4 drivers/net/pcmcia/xirc2ps_cs.c|2 drivers/net/pcnet32.c |6 drivers/net/phy/phy.c |2 drivers/net/plip.c |4 drivers/net/ppp_async.c|3 drivers/net/ppp_synctty.c |2 drivers/net/r8169.c|4 drivers/net/s2io.c | 617 ++- drivers/net/s2io.h | 55 - drivers/net/sb1000.c |2 drivers/net/sb1250-mac.c | 109 +- drivers/net/seeq8005.c |5 drivers/net/sgiseeq.c | 17 drivers/net/shaper.c |3 drivers/net/sis190.c |2 drivers/net/sis900.c |8