[PATCH] e1000: Added disable packet split capability
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Wed, 18 Jan 2006 21:01:30 +0000 (13:01 -0800)
committerJeff Garzik <jgarzik@pobox.com>
Wed, 18 Jan 2006 21:17:57 +0000 (16:17 -0500)
Adds the ability to disability packet split at compile time and use the legacy receive path on PCI express hardware.  Made this a CONFIG option and modified the Kconfig, to reflect the new option.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
26 files changed:
arch/arm/configs/ep80219_defconfig
arch/arm/configs/iq31244_defconfig
arch/arm/configs/iq80321_defconfig
arch/arm/configs/iq80331_defconfig
arch/arm/configs/iq80332_defconfig
arch/i386/defconfig
arch/ia64/configs/gensparse_defconfig
arch/ia64/configs/tiger_defconfig
arch/ia64/configs/zx1_defconfig
arch/ia64/defconfig
arch/parisc/configs/a500_defconfig
arch/parisc/configs/c3000_defconfig
arch/powerpc/configs/cell_defconfig
arch/powerpc/configs/g5_defconfig
arch/powerpc/configs/iseries_defconfig
arch/powerpc/configs/maple_defconfig
arch/powerpc/configs/ppc64_defconfig
arch/powerpc/configs/pseries_defconfig
arch/ppc/configs/bamboo_defconfig
arch/ppc/configs/katana_defconfig
arch/ppc/configs/mpc834x_sys_defconfig
arch/ppc/configs/power3_defconfig
arch/sparc64/defconfig
arch/x86_64/defconfig
drivers/net/Kconfig
drivers/net/e1000/e1000_main.c

index fbe312e757cb17f4267b3ee8b5ee477280083d0b..3c73b707c2f387c3bb4aba5e69e9d32f700c67cd 100644 (file)
@@ -522,6 +522,7 @@ CONFIG_E100=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index c07628ceaf0c46aa60ded382c7db861a116bbcbe..32467160a6df96040d5605bafc170d38b0889930 100644 (file)
@@ -493,6 +493,7 @@ CONFIG_NETDEVICES=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 18fa1615fdfdd7f64c6cd46152cb6d3a0d4aee25..b000da753c41bb60aaeffac9848f95d6e5b832a1 100644 (file)
@@ -415,6 +415,7 @@ CONFIG_NETDEVICES=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index f50035de1fff2196e2dd03e966d3fdd7b8c3e3ee..46c79e1efe070644ed116f6b10eeb9a5cfbfa4ea 100644 (file)
@@ -496,6 +496,7 @@ CONFIG_NETDEVICES=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 18b3f372ed68a46eb9618abe67c5fac216b8b5d0..11959b705d822298380e2b2249cb1d0d1497d51f 100644 (file)
@@ -496,6 +496,7 @@ CONFIG_NETDEVICES=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 6a431b9260190f52f45b5c463189b104f7e108b8..3cbe6e9cb9fcb3799f573fb8799d1f0380fe6155 100644 (file)
@@ -644,6 +644,8 @@ CONFIG_8139TOO_PIO=y
 # CONFIG_ACENIC is not set
 # CONFIG_DL2K is not set
 # CONFIG_E1000 is not set
+# CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 1d07d8072ec21aebbc5fc2c21318c8bccb98d77f..991c07b57c24c4d62ccc1a4c1a171987970ca149 100644 (file)
@@ -557,6 +557,7 @@ CONFIG_E100=m
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index b1e8f09e9fd5654f46b3736156741b397bf8a2a9..6859119bc9ddd57eff42d325c3d4d6dfa3502e63 100644 (file)
@@ -565,6 +565,7 @@ CONFIG_E100=m
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 0856ca67dd502e5023bbbe9659e61792b1f4c045..53899dc8eb531b4243c5734dc618b79bfe2d1b50 100644 (file)
@@ -548,6 +548,7 @@ CONFIG_E100=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 275a26c6e5aa5eec4ef4d3c8c15ccf62ca6dd861..dcbc78a4cfa404b9b84acebba6f377fbbe0cc7e1 100644 (file)
@@ -565,6 +565,7 @@ CONFIG_E100=m
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 955ef5084f3ed5322d3998957e7d98e183d70f5a..959ad3c4e37218a00497744c9fbd151e82e4c4f8 100644 (file)
@@ -602,6 +602,7 @@ CONFIG_ACENIC_OMIT_TIGON_I=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=m
 CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 9d86b6b1ebd1e504a4657c5d36796eaa1d53f620..0b1c8c1fa8a33a504542af00acb3ba16115e8da6 100644 (file)
@@ -626,6 +626,7 @@ CONFIG_ACENIC=m
 # CONFIG_DL2K is not set
 CONFIG_E1000=m
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index b657f7e447624b28424dbf35d6fb342a6d1e8a9d..063b84f2cbeaac3a5f26ac48b555728ec7889f22 100644 (file)
@@ -533,6 +533,7 @@ CONFIG_MII=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=m
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 3c22ccb185194bbb782e6645fdad164658312fc9..d6fed3f56580b12a3440e9095eb22632d4d8eaa2 100644 (file)
@@ -675,6 +675,7 @@ CONFIG_ACENIC_OMIT_TIGON_I=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 751a622fb7a787db68ab68f8a8c7df308218324a..c775027947f90ae7e107709dfda64734cbe853ad 100644 (file)
@@ -567,6 +567,7 @@ CONFIG_ACENIC=m
 # CONFIG_DL2K is not set
 CONFIG_E1000=m
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 07b6d3d23360a1828a9e64f0ea0932d1a0f09140..68194c03f6d19cb89cd451ce1e13a9e707f03cd9 100644 (file)
@@ -454,6 +454,7 @@ CONFIG_AMD8111_ETH=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 0b2b55a79c3cd9b6ba2659cad70dd877b40530e2..6f6c6bed1aa59ebb8243d71c737c46cb4f1853e6 100644 (file)
@@ -724,6 +724,7 @@ CONFIG_ACENIC_OMIT_TIGON_I=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index a50ce0fa9243862c2facd9709348042eed8a5250..aa9893a1f6e8aee5c982c88d3262d6c4c037e944 100644 (file)
@@ -671,6 +671,7 @@ CONFIG_ACENIC_OMIT_TIGON_I=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 0ba4e70d50b6e8dbde692a328aebfd5723974221..41fd3938fa5cba3f74c7d3fa252be7f67e04a8db 100644 (file)
@@ -499,6 +499,7 @@ CONFIG_NATSEMI=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 0f3bb9af9c22bcf346a8559c7f11458cd22d9060..7311fe6b42decc55c810976594745f93d6d63edc 100644 (file)
@@ -488,6 +488,7 @@ CONFIG_E100=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 673dc64ebcb1df1804480245db281c7215a836c0..b96a6d6dad0e109c58ae5a2e5c987a52c35da39b 100644 (file)
@@ -402,6 +402,7 @@ CONFIG_E100=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 93da595a4738e5b311bba6f53745111707fd9667..a1ef929bca59c4b1362c7b03d23319a39cf04310 100644 (file)
@@ -442,6 +442,7 @@ CONFIG_E100=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index a3fb3376ffa06c744e96338d17ecc519c237c24f..92b2fb6aaa46d703983ade326fd5a20d48369cf2 100644 (file)
@@ -529,6 +529,7 @@ CONFIG_NET_PCI=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=m
 CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_MYRI_SBUS is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
index 5231fe83ea4ba6229a5047429fd8d803f717871d..09a3eb743315313b4770ce37982893a09fe4bbbe 100644 (file)
@@ -646,6 +646,7 @@ CONFIG_8139TOO=y
 # CONFIG_DL2K is not set
 CONFIG_E1000=y
 # CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
index 1421941487c45d3d0d68e5e25b2ff6a6e67b905b..0c69918671caae99db5fde400cfb94ed24c207ff 100644 (file)
@@ -1914,6 +1914,15 @@ config E1000_NAPI
 
          If in doubt, say N.
 
+config E1000_DISABLE_PACKET_SPLIT
+       bool "Disable Packet Split for PCI express adapters"
+       depends on E1000
+       help
+         Say Y here if you want to use the legacy receive path for PCI express
+         hadware.
+
+         If in doubt, say N.
+
 source "drivers/net/ixp2000/Kconfig"
 
 config MYRI_SBUS
index d0a5d1656c5facad671562dfd5e88a2b541bdc01..73b2a7be212641c799cb187d3768656e3bb0670f 100644 (file)
@@ -1621,7 +1621,7 @@ e1000_setup_rctl(struct e1000_adapter *adapter)
 {
        uint32_t rctl, rfctl;
        uint32_t psrctl = 0;
-#ifdef CONFIG_E1000_PACKET_SPLIT
+#ifndef CONFIG_E1000_DISABLE_PACKET_SPLIT
        uint32_t pages = 0;
 #endif
 
@@ -1672,7 +1672,7 @@ e1000_setup_rctl(struct e1000_adapter *adapter)
                }
        }
 
-#ifdef CONFIG_E1000_PACKET_SPLIT
+#ifndef CONFIG_E1000_DISABLE_PACKET_SPLIT
        /* 82571 and greater support packet-split where the protocol
         * header is placed in skb->data and the packet data is
         * placed in pages hanging off of skb_shinfo(skb)->nr_frags.