Skip to contentSkip to conversation

myri10ge updates for 2.6.21

PATCH Superseded Brice Goglin 2 participants 10 messages Mar 18, 2007 – Mar 23, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover myri10ge updates for 2.6.21

Hi Jeff,

Here's 3 minor updates for myri10ge in 2.6.21:
1. use regular firmware on Serverworks HT2100
2. update wcfifo and intr_coal_delay default values
3. update driver version to 1.3.0-1.225

Please apply.

Thanks,
Brice

#1 lore raw

PATCH 1/3 myri10ge: use regular firmware on Serverworks HT2100

[PATCH 1/3] myri10ge: use regular firmware on Serverworks HT2100

Use the regular firmware on Serverworks HT2100 PCIe ports since this chipset provides aligned PCIe completions.

---
 drivers/net/myri10ge/myri10ge.c |    8 ++++++++
 1 file changed, 8 insertions(+)
drivers/net/myri10ge/myri10ge.c +8 -0
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -2483,6 +2483,8 @@
 
 #define PCI_DEVICE_ID_INTEL_E5000_PCIE23 0x25f7
 #define PCI_DEVICE_ID_INTEL_E5000_PCIE47 0x25fa
+#define PCI_DEVICE_ID_SERVERWORKS_HT2100_PCIE_FIRST 0x140
+#define PCI_DEVICE_ID_SERVERWORKS_HT2100_PCIE_LAST 0x142
 
 static void myri10ge_select_firmware(struct myri10ge_priv *mgp)
 {
@@ -2514,6 +2516,12 @@
 			   ((bridge->vendor == PCI_VENDOR_ID_SERVERWORKS
 			     && bridge->device ==
 			     PCI_DEVICE_ID_SERVERWORKS_HT2000_PCIE)
+			    /* ServerWorks HT2100 */
+			    || (bridge->vendor == PCI_VENDOR_ID_SERVERWORKS
+				&& bridge->device >=
+				PCI_DEVICE_ID_SERVERWORKS_HT2100_PCIE_FIRST
+				&& bridge->device <=
+				PCI_DEVICE_ID_SERVERWORKS_HT2100_PCIE_LAST)
 			    /* All Intel E5000 PCIE ports */
 			    || (bridge->vendor == PCI_VENDOR_ID_INTEL
 				&& bridge->device >=
#2 lore raw

PATCH 2/3 myri10ge: update wcfifo and intr_coal_delay default values

In reply to Brice Goglin

Update the default value of 2 module parameters:
* wcfifo disabled
* intr_coal_delay 75us

---
 drivers/net/myri10ge/myri10ge.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/myri10ge/myri10ge.c +2 -2
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -234,7 +234,7 @@
 module_param(myri10ge_msi, int, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(myri10ge_msi, "Enable Message Signalled Interrupts\n");
 
-static int myri10ge_intr_coal_delay = 25;
+static int myri10ge_intr_coal_delay = 75;
 module_param(myri10ge_intr_coal_delay, int, S_IRUGO);
 MODULE_PARM_DESC(myri10ge_intr_coal_delay, "Interrupt coalescing delay\n");
 
@@ -279,7 +279,7 @@
 module_param(myri10ge_fill_thresh, int, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(myri10ge_fill_thresh, "Number of empty rx slots allowed\n");
 
-static int myri10ge_wcfifo = 1;
+static int myri10ge_wcfifo = 0;
 module_param(myri10ge_wcfifo, int, S_IRUGO);
 MODULE_PARM_DESC(myri10ge_wcfifo, "Enable WC Fifo when WC is enabled\n");
 
#3 lore raw

PATCH 3/3 myri10ge: update driver version to 1.3.0-1.225

In reply to Brice Goglin

Driver version is now 1.3.0-1.225.

---
 drivers/net/myri10ge/myri10ge.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/myri10ge/myri10ge.c +1 -1
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -71,7 +71,7 @@
 #include "myri10ge_mcp.h"
 #include "myri10ge_mcp_gen_header.h"
 
-#define MYRI10GE_VERSION_STR "1.2.0"
+#define MYRI10GE_VERSION_STR "1.3.0-1.225"
 
 MODULE_DESCRIPTION("Myricom 10G driver (10GbE)");
 MODULE_AUTHOR("Maintainer: [email protected]");
#4 lore raw

cover was: [PATCH 0/3] myri10ge updates for 2.6.21

In reply to Brice Goglin
Quoted 7 lines · Brice Goglin

Hi Jeff,

Here's 3 minor updates for myri10ge in 2.6.21:
1. use regular firmware on Serverworks HT2100
2. update wcfifo and intr_coal_delay default values
3. update driver version to 1.3.0-1.225

Quoted 5 lines

Please apply.

Thanks,
Brice

I just got a last minute fix (management of allocated pages was wrong on architectures with page size != 4kB. Please drop this serie, I am going to resend all the patches.

Thanks,
Brice

#5 lore raw

PATCH 1/4 myri10ge: Serverworks HT2100 provides aligned PCIe completion

[PATCH 1/4] myri10ge: Serverworks HT2100 provides aligned PCIe completion

Use the regular firmware on Serverworks HT2100 PCIe ports since this chipset provides aligned PCIe completion.

---
 drivers/net/myri10ge/myri10ge.c |    8 ++++++++
 1 file changed, 8 insertions(+)
drivers/net/myri10ge/myri10ge.c +8 -0
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -2483,6 +2483,8 @@
 
 #define PCI_DEVICE_ID_INTEL_E5000_PCIE23 0x25f7
 #define PCI_DEVICE_ID_INTEL_E5000_PCIE47 0x25fa
+#define PCI_DEVICE_ID_SERVERWORKS_HT2100_PCIE_FIRST 0x140
+#define PCI_DEVICE_ID_SERVERWORKS_HT2100_PCIE_LAST 0x142
 
 static void myri10ge_select_firmware(struct myri10ge_priv *mgp)
 {
@@ -2514,6 +2516,12 @@
 			   ((bridge->vendor == PCI_VENDOR_ID_SERVERWORKS
 			     && bridge->device ==
 			     PCI_DEVICE_ID_SERVERWORKS_HT2000_PCIE)
+			    /* ServerWorks HT2100 */
+			    || (bridge->vendor == PCI_VENDOR_ID_SERVERWORKS
+				&& bridge->device >=
+				PCI_DEVICE_ID_SERVERWORKS_HT2100_PCIE_FIRST
+				&& bridge->device <=
+				PCI_DEVICE_ID_SERVERWORKS_HT2100_PCIE_LAST)
 			    /* All Intel E5000 PCIE ports */
 			    || (bridge->vendor == PCI_VENDOR_ID_INTEL
 				&& bridge->device >=
#7 lore raw

PATCH 2/4 myri10ge: update wcfifo and intr_coal_delay default values

In reply to Brice Goglin

Update the default value of 2 module parameters:
* wcfifo disabled
* intr_coal_delay 75us

---
 drivers/net/myri10ge/myri10ge.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/myri10ge/myri10ge.c +2 -2
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -234,7 +234,7 @@
 module_param(myri10ge_msi, int, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(myri10ge_msi, "Enable Message Signalled Interrupts\n");
 
-static int myri10ge_intr_coal_delay = 25;
+static int myri10ge_intr_coal_delay = 75;
 module_param(myri10ge_intr_coal_delay, int, S_IRUGO);
 MODULE_PARM_DESC(myri10ge_intr_coal_delay, "Interrupt coalescing delay\n");
 
@@ -279,7 +279,7 @@
 module_param(myri10ge_fill_thresh, int, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(myri10ge_fill_thresh, "Number of empty rx slots allowed\n");
 
-static int myri10ge_wcfifo = 1;
+static int myri10ge_wcfifo = 0;
 module_param(myri10ge_wcfifo, int, S_IRUGO);
 MODULE_PARM_DESC(myri10ge_wcfifo, "Enable WC Fifo when WC is enabled\n");
 
#8 lore raw

PATCH 3/4 myri10ge: fix management of >4kB allocated pages

In reply to Brice Goglin

Fix management of allocated physical pages when the architecture page size is not 4kB since the firmware cannot cross 4K boundary.

---
 drivers/net/myri10ge/myri10ge.c |    8 ++++++++
 1 file changed, 8 insertions(+)
drivers/net/myri10ge/myri10ge.c +8 -0
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -905,6 +905,14 @@
 		    (rx->page_offset + bytes <= MYRI10GE_ALLOC_SIZE)) {
 			/* we can use part of previous page */
 			get_page(rx->page);
+#if MYRI10GE_ALLOC_SIZE > 4096
+			/* Firmware cannot cross 4K boundary.. */
+			if ((rx->page_offset >> 12) !=
+			    ((rx->page_offset + bytes - 1) >> 12)) {
+				rx->page_offset =
+				    (rx->page_offset + bytes) & ~4095;
+			}
+#endif
 		} else {
 			/* we need a new page */
 			page =
#9 lore raw

PATCH 4/4 myri10ge: update driver version to 1.3.0-1.226

In reply to Brice Goglin

Driver version is now 1.3.0-1.226.

---
 drivers/net/myri10ge/myri10ge.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/myri10ge/myri10ge.c +1 -1
Index: linux-rc/drivers/net/myri10ge/myri10ge.c
===================================================================
@@ -71,7 +71,7 @@
 #include "myri10ge_mcp.h"
 #include "myri10ge_mcp_gen_header.h"
 
-#define MYRI10GE_VERSION_STR "1.2.0"
+#define MYRI10GE_VERSION_STR "1.3.0-1.226"
 
 MODULE_DESCRIPTION("Myricom 10G driver (10GbE)");
 MODULE_AUTHOR("Maintainer: [email protected]");
#6 lore raw

Re: [PATCH 1/4] myri10ge: Serverworks HT2100 provides aligned PCIe completion

In reply to Brice Goglin
Quoted 9 lines · Brice Goglin

[PATCH 1/4] myri10ge: Serverworks HT2100 provides aligned PCIe completion

Use the regular firmware on Serverworks HT2100 PCIe ports since this chipset provides aligned PCIe completion.

---
 drivers/net/myri10ge/myri10ge.c |    8 ++++++++
 1 file changed, 8 insertions(+)

applied 1-4