netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next PATCH 0/3] enic: updates to version 2.1.1.33
@ 2012-02-03 18:25 Neel Patel
  2012-02-03 18:25 ` [net-next PATCH 1/3] enic: Enable support for multiple hardware receive queues Neel Patel
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Neel Patel @ 2012-02-03 18:25 UTC (permalink / raw)
  To: davem; +Cc: netdev

This patch series implements the following enic driver updates:

1/3 - enic: Enable support for multiple hardware receive queues
2/3 - enic: Check firmware capability before issuing firmware commands
3/3 - enic: Update enic maintainers

Signed-off-by: Neel Patel <neepatel@cisco.com>
Signed-off-by: Christian Benvenuti <benve@cisco.com>
Signed-off-by: Roopa Prabhu <roprabhu@cisco.com>
Signed-off-by: Nishank Trivedi <nistrive@cisco.com>

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

* [net-next PATCH 1/3] enic: Enable support for multiple hardware receive queues
  2012-02-03 18:25 [net-next PATCH 0/3] enic: updates to version 2.1.1.33 Neel Patel
@ 2012-02-03 18:25 ` Neel Patel
  2012-02-03 18:25 ` [net-next PATCH 2/3] enic: Check firmware capability before issuing firmware commands Neel Patel
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Neel Patel @ 2012-02-03 18:25 UTC (permalink / raw)
  To: davem; +Cc: netdev

From: Neel Patel <neepatel@cisco.com>

This patch enables support for multiple receive queues. If multiple receive
queues are used ingress traffic is hashed into one of the receive queues based
on IP or TCP or both headers. The max number of supported receive queues per
vnic is 8.

Signed-off-by: Neel Patel <neepatel@cisco.com>
Signed-off-by: Christian Benvenuti <benve@cisco.com>
Signed-off-by: Roopa Prabhu <roprabhu@cisco.com>
Signed-off-by: Nishank Trivedi <nistrive@cisco.com>
--
 drivers/net/ethernet/cisco/enic/enic.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


diff --git a/drivers/net/ethernet/cisco/enic/enic.h b/drivers/net/ethernet/cisco/enic/enic.h
index ee93a20..24bb088 100644
--- a/drivers/net/ethernet/cisco/enic/enic.h
+++ b/drivers/net/ethernet/cisco/enic/enic.h
@@ -32,13 +32,13 @@
 
 #define DRV_NAME		"enic"
 #define DRV_DESCRIPTION		"Cisco VIC Ethernet NIC Driver"
-#define DRV_VERSION		"2.1.1.31"
+#define DRV_VERSION		"2.1.1.32"
 #define DRV_COPYRIGHT		"Copyright 2008-2011 Cisco Systems, Inc"
 
 #define ENIC_BARS_MAX		6
 
 #define ENIC_WQ_MAX		1
-#define ENIC_RQ_MAX		1
+#define ENIC_RQ_MAX		8
 #define ENIC_CQ_MAX		(ENIC_WQ_MAX + ENIC_RQ_MAX)
 #define ENIC_INTR_MAX		(ENIC_CQ_MAX + 2)
 

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

* [net-next PATCH 2/3] enic: Check firmware capability before issuing firmware commands
  2012-02-03 18:25 [net-next PATCH 0/3] enic: updates to version 2.1.1.33 Neel Patel
  2012-02-03 18:25 ` [net-next PATCH 1/3] enic: Enable support for multiple hardware receive queues Neel Patel
@ 2012-02-03 18:25 ` Neel Patel
  2012-02-03 18:25 ` [net-next PATCH 3/3] enic: Update enic maintainers Neel Patel
  2012-02-04 21:05 ` [net-next PATCH 0/3] enic: updates to version 2.1.1.33 David Miller
  3 siblings, 0 replies; 5+ messages in thread
From: Neel Patel @ 2012-02-03 18:25 UTC (permalink / raw)
  To: davem; +Cc: netdev

From: Neel Patel <neepatel@cisco.com>

Check if firmware supports a particular command by first checking capability
using devcmd CMD_CAPABILITY.

Signed-off-by: Neel Patel <neepatel@cisco.com>
Signed-off-by: Christian Benvenuti <benve@cisco.com>
Signed-off-by: Roopa Prabhu <roprabhu@cisco.com>
Signed-off-by: Nishank Trivedi <nistrive@cisco.com>
--
 drivers/net/ethernet/cisco/enic/enic.h     |    2 -
 drivers/net/ethernet/cisco/enic/vnic_dev.c |   58 +++++++++++++++-------------
 2 files changed, 32 insertions(+), 28 deletions(-)


diff --git a/drivers/net/ethernet/cisco/enic/enic.h b/drivers/net/ethernet/cisco/enic/enic.h
index 24bb088..54fd9c3 100644
--- a/drivers/net/ethernet/cisco/enic/enic.h
+++ b/drivers/net/ethernet/cisco/enic/enic.h
@@ -32,7 +32,7 @@
 
 #define DRV_NAME		"enic"
 #define DRV_DESCRIPTION		"Cisco VIC Ethernet NIC Driver"
-#define DRV_VERSION		"2.1.1.32"
+#define DRV_VERSION		"2.1.1.33"
 #define DRV_COPYRIGHT		"Copyright 2008-2011 Cisco Systems, Inc"
 
 #define ENIC_BARS_MAX		6
diff --git a/drivers/net/ethernet/cisco/enic/vnic_dev.c b/drivers/net/ethernet/cisco/enic/vnic_dev.c
index 31e7f9b..298ad6f 100644
--- a/drivers/net/ethernet/cisco/enic/vnic_dev.c
+++ b/drivers/net/ethernet/cisco/enic/vnic_dev.c
@@ -439,11 +439,12 @@ int vnic_dev_fw_info(struct vnic_dev *vdev,
 		a1 = sizeof(struct vnic_devcmd_fw_info);
 
 		/* only get fw_info once and cache it */
-		err = vnic_dev_cmd(vdev, CMD_MCPU_FW_INFO, &a0, &a1, wait);
-		if (err == ERR_ECMDUNKNOWN) {
+		if (vnic_dev_capable(vdev, CMD_MCPU_FW_INFO))
+			err = vnic_dev_cmd(vdev, CMD_MCPU_FW_INFO,
+				&a0, &a1, wait);
+		else
 			err = vnic_dev_cmd(vdev, CMD_MCPU_FW_INFO_OLD,
 				&a0, &a1, wait);
-		}
 	}
 
 	*fw_info = vdev->fw_info;
@@ -504,13 +505,11 @@ int vnic_dev_enable_wait(struct vnic_dev *vdev)
 {
 	u64 a0 = 0, a1 = 0;
 	int wait = 1000;
-	int err;
 
-	err = vnic_dev_cmd(vdev, CMD_ENABLE_WAIT, &a0, &a1, wait);
-	if (err == ERR_ECMDUNKNOWN)
+	if (vnic_dev_capable(vdev, CMD_ENABLE_WAIT))
+		return vnic_dev_cmd(vdev, CMD_ENABLE_WAIT, &a0, &a1, wait);
+	else
 		return vnic_dev_cmd(vdev, CMD_ENABLE, &a0, &a1, wait);
-
-	return err;
 }
 
 int vnic_dev_disable(struct vnic_dev *vdev)
@@ -574,16 +573,15 @@ int vnic_dev_hang_reset(struct vnic_dev *vdev, int arg)
 	int wait = 1000;
 	int err;
 
-	err = vnic_dev_cmd(vdev, CMD_HANG_RESET, &a0, &a1, wait);
-	if (err == ERR_ECMDUNKNOWN) {
+	if (vnic_dev_capable(vdev, CMD_HANG_RESET)) {
+		return vnic_dev_cmd(vdev, CMD_HANG_RESET,
+				&a0, &a1, wait);
+	} else {
 		err = vnic_dev_soft_reset(vdev, arg);
 		if (err)
 			return err;
-
 		return vnic_dev_init(vdev, 0);
 	}
-
-	return err;
 }
 
 int vnic_dev_hang_reset_done(struct vnic_dev *vdev, int *done)
@@ -594,11 +592,13 @@ int vnic_dev_hang_reset_done(struct vnic_dev *vdev, int *done)
 
 	*done = 0;
 
-	err = vnic_dev_cmd(vdev, CMD_HANG_RESET_STATUS, &a0, &a1, wait);
-	if (err) {
-		if (err == ERR_ECMDUNKNOWN)
-			return vnic_dev_soft_reset_done(vdev, done);
-		return err;
+	if (vnic_dev_capable(vdev, CMD_HANG_RESET_STATUS)) {
+		err = vnic_dev_cmd(vdev, CMD_HANG_RESET_STATUS,
+				&a0, &a1, wait);
+		if (err)
+			return err;
+	} else {
+		return vnic_dev_soft_reset_done(vdev, done);
 	}
 
 	*done = (a0 == 0);
@@ -691,13 +691,12 @@ int vnic_dev_set_ig_vlan_rewrite_mode(struct vnic_dev *vdev,
 {
 	u64 a0 = ig_vlan_rewrite_mode, a1 = 0;
 	int wait = 1000;
-	int err;
 
-	err = vnic_dev_cmd(vdev, CMD_IG_VLAN_REWRITE_MODE, &a0, &a1, wait);
-	if (err == ERR_ECMDUNKNOWN)
+	if (vnic_dev_capable(vdev, CMD_IG_VLAN_REWRITE_MODE))
+		return vnic_dev_cmd(vdev, CMD_IG_VLAN_REWRITE_MODE,
+				&a0, &a1, wait);
+	else
 		return 0;
-
-	return err;
 }
 
 static int vnic_dev_notify_setcmd(struct vnic_dev *vdev,
@@ -835,7 +834,10 @@ int vnic_dev_intr_coal_timer_info(struct vnic_dev *vdev)
 
 	memset(vdev->args, 0, sizeof(vdev->args));
 
-	err = _vnic_dev_cmd(vdev, CMD_INTR_COAL_CONVERT, wait);
+	if (vnic_dev_capable(vdev, CMD_INTR_COAL_CONVERT))
+		err = _vnic_dev_cmd(vdev, CMD_INTR_COAL_CONVERT, wait);
+	else
+		err = ERR_ECMDUNKNOWN;
 
 	/* Use defaults when firmware doesn't support the devcmd at all or
 	 * supports it for only specific hardware
@@ -848,9 +850,11 @@ int vnic_dev_intr_coal_timer_info(struct vnic_dev *vdev)
 		return 0;
 	}
 
-	vdev->intr_coal_timer_info.mul = (u32) vdev->args[0];
-	vdev->intr_coal_timer_info.div = (u32) vdev->args[1];
-	vdev->intr_coal_timer_info.max_usec = (u32) vdev->args[2];
+	if (!err) {
+		vdev->intr_coal_timer_info.mul = (u32) vdev->args[0];
+		vdev->intr_coal_timer_info.div = (u32) vdev->args[1];
+		vdev->intr_coal_timer_info.max_usec = (u32) vdev->args[2];
+	}
 
 	return err;
 }

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

* [net-next PATCH 3/3] enic: Update enic maintainers
  2012-02-03 18:25 [net-next PATCH 0/3] enic: updates to version 2.1.1.33 Neel Patel
  2012-02-03 18:25 ` [net-next PATCH 1/3] enic: Enable support for multiple hardware receive queues Neel Patel
  2012-02-03 18:25 ` [net-next PATCH 2/3] enic: Check firmware capability before issuing firmware commands Neel Patel
@ 2012-02-03 18:25 ` Neel Patel
  2012-02-04 21:05 ` [net-next PATCH 0/3] enic: updates to version 2.1.1.33 David Miller
  3 siblings, 0 replies; 5+ messages in thread
From: Neel Patel @ 2012-02-03 18:25 UTC (permalink / raw)
  To: davem; +Cc: netdev

From: Neel Patel <neepatel@cisco.com>



Signed-off-by: Neel Patel <neepatel@cisco.com>
Signed-off-by: Christian Benvenuti <benve@cisco.com>
Signed-off-by: Roopa Prabhu <roprabhu@cisco.com>
Signed-off-by: Nishank Trivedi <nistrive@cisco.com>
--
 MAINTAINERS |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)


diff --git a/MAINTAINERS b/MAINTAINERS
index 087b65d..6929dce 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1804,7 +1804,8 @@ F:	Documentation/zh_CN/
 CISCO VIC ETHERNET NIC DRIVER
 M:	Christian Benvenuti <benve@cisco.com>
 M:	Roopa Prabhu <roprabhu@cisco.com>
-M:	David Wang <dwang2@cisco.com>
+M:	Neel Patel <neepatel@cisco.com>
+M:	Nishank Trivedi <nistrive@cisco.com>
 S:	Supported
 F:	drivers/net/ethernet/cisco/enic/
 

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

* Re: [net-next PATCH 0/3] enic: updates to version 2.1.1.33
  2012-02-03 18:25 [net-next PATCH 0/3] enic: updates to version 2.1.1.33 Neel Patel
                   ` (2 preceding siblings ...)
  2012-02-03 18:25 ` [net-next PATCH 3/3] enic: Update enic maintainers Neel Patel
@ 2012-02-04 21:05 ` David Miller
  3 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2012-02-04 21:05 UTC (permalink / raw)
  To: neepatel; +Cc: netdev

From: Neel Patel <neepatel@cisco.com>
Date: Fri, 03 Feb 2012 10:25:09 -0800

> This patch series implements the following enic driver updates:
> 
> 1/3 - enic: Enable support for multiple hardware receive queues
> 2/3 - enic: Check firmware capability before issuing firmware commands
> 3/3 - enic: Update enic maintainers
> 
> Signed-off-by: Neel Patel <neepatel@cisco.com>
> Signed-off-by: Christian Benvenuti <benve@cisco.com>
> Signed-off-by: Roopa Prabhu <roprabhu@cisco.com>
> Signed-off-by: Nishank Trivedi <nistrive@cisco.com>

All applied.

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

end of thread, other threads:[~2012-02-04 21:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-03 18:25 [net-next PATCH 0/3] enic: updates to version 2.1.1.33 Neel Patel
2012-02-03 18:25 ` [net-next PATCH 1/3] enic: Enable support for multiple hardware receive queues Neel Patel
2012-02-03 18:25 ` [net-next PATCH 2/3] enic: Check firmware capability before issuing firmware commands Neel Patel
2012-02-03 18:25 ` [net-next PATCH 3/3] enic: Update enic maintainers Neel Patel
2012-02-04 21:05 ` [net-next PATCH 0/3] enic: updates to version 2.1.1.33 David Miller

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