netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH NEXT 0/3]netxen: updates
@ 2010-12-27  8:43 Amit Kumar Salecha
  2010-12-27  8:43 ` [PATCH NEXT 1/3] netxen: update module description Amit Kumar Salecha
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Amit Kumar Salecha @ 2010-12-27  8:43 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, anirban.chakraborty


Hi,
  Series of 3 patches to update netxen nic driver. Apply these
  on net-next branch.

-Thanks
 Amit

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH NEXT 1/3] netxen: update module description
  2010-12-27  8:43 [PATCH NEXT 0/3]netxen: updates Amit Kumar Salecha
@ 2010-12-27  8:43 ` Amit Kumar Salecha
  2010-12-31 18:55   ` David Miller
  2010-12-27  8:43 ` [PATCH NEXT 2/3] netxen: enable LRO based on NETIF_F_LRO Amit Kumar Salecha
  2010-12-27  8:43 ` [PATCH NEXT 3/3] netxen: update driver version 4.0.75 Amit Kumar Salecha
  2 siblings, 1 reply; 6+ messages in thread
From: Amit Kumar Salecha @ 2010-12-27  8:43 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, anirban.chakraborty

This driver supports only Intelligent Ethernet Adapters.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/netxen/netxen_nic_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index ceeaac9..58a3643 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -38,7 +38,7 @@
 #include <linux/sysfs.h>
 #include <linux/aer.h>
 
-MODULE_DESCRIPTION("QLogic/NetXen (1/10) GbE Converged Ethernet Driver");
+MODULE_DESCRIPTION("QLogic/NetXen (1/10) GbE Intelligent Ethernet Driver");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(NETXEN_NIC_LINUX_VERSIONID);
 MODULE_FIRMWARE(NX_UNIFIED_ROMIMAGE_NAME);
-- 
1.7.3.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH NEXT 2/3] netxen: enable LRO based on NETIF_F_LRO
  2010-12-27  8:43 [PATCH NEXT 0/3]netxen: updates Amit Kumar Salecha
  2010-12-27  8:43 ` [PATCH NEXT 1/3] netxen: update module description Amit Kumar Salecha
@ 2010-12-27  8:43 ` Amit Kumar Salecha
  2010-12-31 18:58   ` David Miller
  2010-12-27  8:43 ` [PATCH NEXT 3/3] netxen: update driver version 4.0.75 Amit Kumar Salecha
  2 siblings, 1 reply; 6+ messages in thread
From: Amit Kumar Salecha @ 2010-12-27  8:43 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, anirban.chakraborty, Sucheta Chakraborty

From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>

o Enable/disable LRO in device based on NETIF_F_LRO flag, instead of using
  driver private flag.
o Disable LRO, if rx csum offloading is off.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/netxen/netxen_nic.h         |    1 +
 drivers/net/netxen/netxen_nic_ethtool.c |   26 +++++++++++++++++++++++++-
 drivers/net/netxen/netxen_nic_hw.c      |    5 -----
 drivers/net/netxen/netxen_nic_main.c    |    4 +---
 4 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
index 8e8a978..4e54587 100644
--- a/drivers/net/netxen/netxen_nic.h
+++ b/drivers/net/netxen/netxen_nic.h
@@ -1132,6 +1132,7 @@ typedef struct {
 #define NETXEN_NIC_MSI_ENABLED		0x02
 #define NETXEN_NIC_MSIX_ENABLED		0x04
 #define NETXEN_NIC_LRO_ENABLED		0x08
+#define NETXEN_NIC_LRO_DISABLED		0x00
 #define NETXEN_NIC_BRIDGE_ENABLED       0X10
 #define NETXEN_NIC_DIAG_ENABLED		0x20
 #define NETXEN_IS_MSI_FAMILY(adapter) \
diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c
index b30de24..a62620c 100644
--- a/drivers/net/netxen/netxen_nic_ethtool.c
+++ b/drivers/net/netxen/netxen_nic_ethtool.c
@@ -720,6 +720,21 @@ static u32 netxen_nic_get_rx_csum(struct net_device *dev)
 static int netxen_nic_set_rx_csum(struct net_device *dev, u32 data)
 {
 	struct netxen_adapter *adapter = netdev_priv(dev);
+
+	if (!!data) {
+		adapter->rx_csum = !!data;
+		return 0;
+	}
+
+	if (dev->features & NETIF_F_LRO) {
+		if (netxen_config_hw_lro(adapter, NETXEN_NIC_LRO_DISABLED))
+			return -EIO;
+
+		dev->features &= ~NETIF_F_LRO;
+		netxen_send_lro_cleanup(adapter);
+		dev_info(&adapter->pdev->dev,
+					"disabling LRO as rx_csum is off\n");
+	}
 	adapter->rx_csum = !!data;
 	return 0;
 }
@@ -893,11 +908,20 @@ static int netxen_nic_set_flags(struct net_device *netdev, u32 data)
 	if (!(adapter->capabilities & NX_FW_CAPABILITY_HW_LRO))
 		return -EINVAL;
 
+	if (!adapter->rx_csum) {
+		dev_info(&adapter->pdev->dev, "rx csum is off, "
+			"cannot toggle LRO\n");
+		return -EINVAL;
+	}
+
+	if (!!(data & ETH_FLAG_LRO) == !!(netdev->features & NETIF_F_LRO))
+		return 0;
+
 	if (data & ETH_FLAG_LRO) {
 		hw_lro = NETXEN_NIC_LRO_ENABLED;
 		netdev->features |= NETIF_F_LRO;
 	} else {
-		hw_lro = 0;
+		hw_lro = NETXEN_NIC_LRO_DISABLED;
 		netdev->features &= ~NETIF_F_LRO;
 	}
 
diff --git a/drivers/net/netxen/netxen_nic_hw.c b/drivers/net/netxen/netxen_nic_hw.c
index e42d26e..5cef718 100644
--- a/drivers/net/netxen/netxen_nic_hw.c
+++ b/drivers/net/netxen/netxen_nic_hw.c
@@ -809,9 +809,6 @@ int netxen_config_hw_lro(struct netxen_adapter *adapter, int enable)
 	u64 word;
 	int rv = 0;
 
-	if ((adapter->flags & NETXEN_NIC_LRO_ENABLED) == enable)
-		return 0;
-
 	memset(&req, 0, sizeof(nx_nic_req_t));
 
 	req.qhdr = cpu_to_le64(NX_HOST_REQUEST << 23);
@@ -827,8 +824,6 @@ int netxen_config_hw_lro(struct netxen_adapter *adapter, int enable)
 			"configure hw lro request\n");
 	}
 
-	adapter->flags ^= NETXEN_NIC_LRO_ENABLED;
-
 	return rv;
 }
 
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index 58a3643..33fac32 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -762,8 +762,6 @@ netxen_check_options(struct netxen_adapter *adapter)
 	if (adapter->fw_version >= NETXEN_VERSION_CODE(4, 0, 222))
 		adapter->capabilities = NXRD32(adapter, CRB_FW_CAPABILITIES_1);
 
-	adapter->flags &= ~NETXEN_NIC_LRO_ENABLED;
-
 	if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
 		adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_10G;
 		adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
@@ -990,7 +988,7 @@ __netxen_nic_up(struct netxen_adapter *adapter, struct net_device *netdev)
 	if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
 		netxen_config_intr_coalesce(adapter);
 
-	if (adapter->capabilities & NX_FW_CAPABILITY_HW_LRO)
+	if (netdev->features & NETIF_F_LRO)
 		netxen_config_hw_lro(adapter, NETXEN_NIC_LRO_ENABLED);
 
 	netxen_napi_enable(adapter);
-- 
1.7.3.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH NEXT 3/3] netxen: update driver version 4.0.75
  2010-12-27  8:43 [PATCH NEXT 0/3]netxen: updates Amit Kumar Salecha
  2010-12-27  8:43 ` [PATCH NEXT 1/3] netxen: update module description Amit Kumar Salecha
  2010-12-27  8:43 ` [PATCH NEXT 2/3] netxen: enable LRO based on NETIF_F_LRO Amit Kumar Salecha
@ 2010-12-27  8:43 ` Amit Kumar Salecha
  2 siblings, 0 replies; 6+ messages in thread
From: Amit Kumar Salecha @ 2010-12-27  8:43 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, anirban.chakraborty

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/netxen/netxen_nic.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
index 4e54587..a113805 100644
--- a/drivers/net/netxen/netxen_nic.h
+++ b/drivers/net/netxen/netxen_nic.h
@@ -53,8 +53,8 @@
 
 #define _NETXEN_NIC_LINUX_MAJOR 4
 #define _NETXEN_NIC_LINUX_MINOR 0
-#define _NETXEN_NIC_LINUX_SUBVERSION 74
-#define NETXEN_NIC_LINUX_VERSIONID  "4.0.74"
+#define _NETXEN_NIC_LINUX_SUBVERSION 75
+#define NETXEN_NIC_LINUX_VERSIONID  "4.0.75"
 
 #define NETXEN_VERSION_CODE(a, b, c)	(((a) << 24) + ((b) << 16) + (c))
 #define _major(v)	(((v) >> 24) & 0xff)
-- 
1.7.3.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH NEXT 1/3] netxen: update module description
  2010-12-27  8:43 ` [PATCH NEXT 1/3] netxen: update module description Amit Kumar Salecha
@ 2010-12-31 18:55   ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2010-12-31 18:55 UTC (permalink / raw)
  To: amit.salecha; +Cc: netdev, ameen.rahman, anirban.chakraborty

From: Amit Kumar Salecha <amit.salecha@qlogic.com>
Date: Mon, 27 Dec 2010 00:43:41 -0800

> This driver supports only Intelligent Ethernet Adapters.
> 
> Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>

Applied.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH NEXT 2/3] netxen: enable LRO based on NETIF_F_LRO
  2010-12-27  8:43 ` [PATCH NEXT 2/3] netxen: enable LRO based on NETIF_F_LRO Amit Kumar Salecha
@ 2010-12-31 18:58   ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2010-12-31 18:58 UTC (permalink / raw)
  To: amit.salecha
  Cc: netdev, ameen.rahman, anirban.chakraborty, sucheta.chakraborty

From: Amit Kumar Salecha <amit.salecha@qlogic.com>
Date: Mon, 27 Dec 2010 00:43:42 -0800

> +	if (!!data) {

This form of the test is not only unnecessary, it's ugly.  Please just
test plain "data".

> +		dev->features &= ~NETIF_F_LRO;
> +		netxen_send_lro_cleanup(adapter);
> +		dev_info(&adapter->pdev->dev,
> +					"disabling LRO as rx_csum is off\n");

You should use netdev_info() and fix the tabbing here.

> +	if (!adapter->rx_csum) {
> +		dev_info(&adapter->pdev->dev, "rx csum is off, "
> +			"cannot toggle LRO\n");
> +		return -EINVAL;
> +	}

Please use netdev_info().

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-12-31 18:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-27  8:43 [PATCH NEXT 0/3]netxen: updates Amit Kumar Salecha
2010-12-27  8:43 ` [PATCH NEXT 1/3] netxen: update module description Amit Kumar Salecha
2010-12-31 18:55   ` David Miller
2010-12-27  8:43 ` [PATCH NEXT 2/3] netxen: enable LRO based on NETIF_F_LRO Amit Kumar Salecha
2010-12-31 18:58   ` David Miller
2010-12-27  8:43 ` [PATCH NEXT 3/3] netxen: update driver version 4.0.75 Amit Kumar Salecha

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).