Skip to content

Commit

Permalink
[PATCH] e1000: Added disable packet split capability
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
jbrandeb authored and jgarzik committed Jan 18, 2006
1 parent 7eb9b2f commit 35ec56b
Show file tree
Hide file tree
Showing 26 changed files with 36 additions and 2 deletions.
1 change: 1 addition & 0 deletions arch/arm/configs/ep80219_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/iq31244_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/iq80321_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/iq80331_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/iq80332_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions arch/i386/defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/ia64/configs/gensparse_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/ia64/configs/tiger_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/ia64/configs/zx1_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/ia64/defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/parisc/configs/a500_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/parisc/configs/c3000_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/configs/cell_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/configs/g5_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/configs/iseries_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/configs/maple_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/configs/ppc64_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/configs/pseries_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/ppc/configs/bamboo_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/ppc/configs/katana_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/ppc/configs/mpc834x_sys_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/ppc/configs/power3_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/sparc64/defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions arch/x86_64/defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 9 additions & 0 deletions drivers/net/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/e1000/e1000_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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.
Expand Down

0 comments on commit 35ec56b

Please sign in to comment.