* [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
* 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
* [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
* 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
* [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
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).