Lucid pull request, igb: Add full support for 82580 devices

Tim Gardner timg at tpi.com
Tue Mar 16 15:32:06 UTC 2010


Andy,

Please consider this wholesale backport of the Intel igb gigabit ethernet driver from 2.6.33.
I've tested that it does not break existing igb support, at least on the one that I have:

01:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)

Here are the list of commits to drivers/net/igb from v2.6.32 to v2.6.33. All applied cleanly except for the
few that I've commented out. They were global changes that also incidentally touched igb,
but will have no impact on a 2.6.32. There have been no stable updates to date for igb in 2.6.33.

cc9073bbc901a0b695c9c5966d65520c29af70af igb: remove unused temp variable from stats clearing path
70d92f86dc162fc24e13cd79fd3481ae39b66f72 igb: update comments for serdes config and update to handle duplex
008c3422d48b217792789bdea822dbc2efe2165c igb: update the approach taken to acquiring and releasing the phy lock
bf6f7a928d313ddecb0a16ea60fa6b45ac1414a7 igb: add locking to reads of the i2c interface
26ad91783c489486d3fd1a6932e5bdab9d404a38 igb: add combined function for setting rar and pool bits
68d480c4defb69d834e75fd0be9069a8447afe36 igb: make use of the uta to allow for promiscous mode filter
747d49baaf4e3f4ad5ae77477830da026eeef69d igb: add support for 82576NS SerDes adapter
0acb6fde5fc84009be1c7efc0aaa8e69e394a2e2 igb: add function to handle mailbox lock
3272686c98da64d6eeaa2434782f42270b110758 igb: fix a few items where weren't correctly setup for mbx timeout
22896639af98ebc721a94ed71fc3acf2fb4a24dc igb: change how we handle alternate mac addresses
285b4167458ec7cc49008b2e61cbe0362deed335 igb: remove microwire support from igb
81fadd81a5bc897c8d0424d1cd90cb999d8e12b0 igb: move the generic copper link setup code into e1000_phy.c
ab576389b733b458495529f81839f499b3fece78 igb: add code to retry a phy read in the event of failure on link check
2553bb2681645bf932db2845121b8f33954f6f39 igb: add additional error handling to the phy code
6deac6f2b46f84b8822683cce92eab4edf2ade5e igb: add flushes between RAR writes when setting mac address
8d24e93309d688d59d4b6cf0b9cffc40337e067d igb: Use the instance of net_device_stats from net_device.
#89d71a66c40d629e3b1285def543ab1425558cd5 net: Use netdev_alloc_skb_ip_align()
231835e4163cf14c90e295f1729004f571ee1cc7 igb: Fix erroneous display of stats by ethtool -S
047e0030f1e601233ae5b03910602ec93c620bce igb: add new data structure for handling interrupts and NAPI
094919a4b0c56d6afbfb5ea14567fbb2f8d47554 igb: remove rx checksum good counter
7d95b7170eca3f95bad939fc9eb365b823c05e39 igb: increase minimum rx buffer size to 1K
85b430b47736d1f59e8f9efb0e47bc46aeb2b01d igb: move the tx and rx ring specific config into seperate functions
6ec43fe635fb5c96fbc0955b2794b74fee69b723 igb: remove rx_ps_hdr_len
952f72a8ceee3996ef8476a2f05ece1627080c20 igb: move SRRCTL register configuration into ring specific config
fce99e341524c204ef3dd3e7c5f77265a7e05ddd igb: change the head and tail offsets into pointers
80785298aa5b6f2005a34afb97457ae7a65af270 igb: add pci device pointer to ring structure
4c844851d15cc08d995179ab5118172711be6eb0 igb: move rx_buffer_len into the ring structure
04a5fcaaf0e12d066411aa54e42591952aa18da7 igb: move alloc_failed and csum_err stats into per rx-ring stat
85ad76b2f9c4956ec90c86298b22bb35c326e772 igb: add a flags value to the ring
e694e964fc1241b4981873bdccce70438d5f0394 igb: place a pointer to the netdev struct in the ring itself
06cf2666c7f5cc4ba4bf2687d041c61ada76fa3c igb: move the multiple receive queue configuration into seperate function
d4960307ea63a5625a175cc2d7b192e68e6b4fba igb: delay VF reset notification until after interrupts are enabed
10d8e9073a320a1c9cc13f996bd600b477eb4872 igb: setup vlan tag replication stripping in igb_vmm_control
d7ee5b3a78f57a8ca9ca2392ff5d03f91ec90bdb igb: re-use ring configuration code in ethtool testing
b1a436c34c44c6e3fb03c12545d87b4c2818f31d igb: make tx ring map and free functionality non-static
ad93d17efe063b6e95f3177fa01706f3b3b15dde igb: make ethtool use core xmit map and free functionality
4eefa8f0131410eddaca323cd65e1ebefe3b3328 igb: add single vector msi-x testing to interrupt test
83ab50a56e6ea94627fea83ce7b03332bd4c2f02 igb: cleanup "todo" code found in igb_ethtool.c
4fc82adfb01bdee79ec21e44557dc409ef31419a igb: add support for seperate tx-usecs setting in ethtool
c5b9bd5e4f7caea10d113f610b85cc2093cc3179 igb: cleanup some of the code related to hw timestamping
317f66bdadc31f0c037b91ae7857f5c3d2a4e3e5 igb: misc cleanups within igb_ethtool.c
d249be54745259980dcbd898bdfeb7307c9c5e10 igb: use packet buffer sizes from RXPBS register
f2ca0dbe077389f061ffa15de9dd7fc96a5b97d2 igb: replace the VF clear_to_send with a flags value
7d5753f08c5be5440ac0385b5f2518d2630be7b7 igb: rework use of VMOLR in regards to PF and VFs
51466239fb9f95343e88c14475a0f99fe4882c54 igb: rework handling of the vfta and vlvf registers in relation to mng_vlan
a6b623e0e5787ba5ffd2a3c4448ff6d1eaa904a9 igb: move vf init into a seperate function
3f9c01648146a256d8238292ac9c63fed7e00473 igb: only process global stats in igb_update_stats
4337e993e13eb2f2e05dd65a3ab25b57c2f89d56 igb: move global_quad_port_a from global into local static define
f7ba205e823f32e634712323a221b42bfea06efa igb: make tx hang check multiqueue, check eop descriptor
439705e1d7281cc8a4631a2dc390df7ad868bad8 igb: cleanup code related to ring resource allocation and free
ee1b9f06dca9c406b159904e9b13ea2dfa5ed037 igb: change queue ordering for 82576 based adapters
25568a531a1bc76fdf968382a4eb65a979186c67 igb: cleanup interrupt enablement in regards to msix_other
645a3abd73c2ac05d375f080d2f58d56e1502562 igb: Remove invalid stats counters
2e5655e758736488abbe9c024c8cda0e367214e5 igb: cleanup igb.h header whitespace and some structure formatting
cdfd01fcc674cc1c0c7b54084d74c2b684bf67c2 igb: cleanup igb xmit frame path
42d0781a1337ec5624da0657ba57b734768f489c igb: cleanup clean_rx_irq_adv and alloc_rx_buffers_adv
330a6d6a7c75e11ca6da52092cfa96cda45d3386 igb: replace unecessary &adapter->hw with just hw where applicable
090b17952826eb3c5d712b6d4f90a292fe4acc93 igb: add pci_dev in few spots to clean up use of dev_err/info/warn
c809d2276cb035228cd9e83e2ca7d2b902c61cef igb: limit minimum mtu to 68 to keep ip bound to interface
5b043fb08e1b9e10eef7cc41512462f99811e96e igb: open up SCTP checksum offloads to all MACs 82576 and newer
559e9c4987e90e278db347b0a2ba423e7e496fd3 igb: cleanup whitespace issues in igb_main.c
d6b9076f1b5dd22b63f0178923f420f4e0f81a8d igb: Fix warnings in igb_set_ringparam()
0e15439ae5fefe438056a26a00aa3c6a9de454e9 igb: change type for ring sizes to u16 in igb_set_ring_param
115f459a53b0c56a699a76b34b82507452eb3df5 igb: move timesync init into a seperate function
a99955fc067f57cf3b627d4c74bf7952a2d51029 igb: when number of CPUs > 4 combine tx/rx queues to allow more queues
128e45eb61b90c0c3094139cab6d00f67ff31377 igb: Rework how netdev->stats is handled
971d1d3a7e9f03af870909fddfc3b2fc08e4f5b1 igb: removed unused tx/rx total bytes/packets from adapter struct
dbabb065802a46d64b8869ba97674bfa90b55d83 igb: check for packets on all tx rings when link is down
d1eff35061b9346cb9bef2b79d9d99c8c096df13 igb: only recycle page if it is on our numa node
#a0607fd3a25ba1848a63a0d925e36d914735ab47 drivers/net: request_irq - Remove unnecessary leading & from second arg
2909c3f79d933b55bf2485addb1dca762210b6af igb: add support for the 82580 phy
bb2ac47bcfd47ed9431ff1676ec8d79250c941c9 igb: add support for 82580 MAC
55cac248caa4a5f181a11cd2f269a672bef3d3b5 igb: Add full support for 82580 devices
6366ad331f436388129dfc044db871de79604e4d igb: remove use of skb_dma_map from driver
#8e95a2026f3b43f7c3d676adaccd2de9532e8dcc drivers/net: Move && and || to end of previous line
fef45f4ce221fc110f70716a00f40be697c5b254 igb: fix handling of mailbox collisions between PF/VF
d68caec645b4b92f6a81985265b024bc94bce41f igb: do not force pcs link when in KX mode
8c6af2995c14e71558c312b86955ae32272a03d8 igb: do not force retry count to 1 on 82580 phy
d405ea3ef2499eb46834418a643973c884ff7f30 igb: correctly offset 82575 flow control watermarks by 16 bytes
58b8b042509f53955ba660a4245e221c5405f124 igb: check both function bits in status register in wol exception
#8581145f39c39b00cd1b6a2dcb4ce5bf7d8d6070 igb/igbvf: cleanup exception handling in tx_map_adv
#8e1e8a4779cb23c1d9f51e9223795e07ec54d77a net: Fix IPv6 GSO type checks in Intel ethernet drivers
feeb2721a7a0bd0cfa5b8847f80aec93aa2cc00d igb: make certain to reassign legacy interrupt vectors after reset

rtg
---
The following changes since commit 70257c6ad432da472ac8a0fac4c4cc6a9774850b:
  Marcel Holtmann (1):
        (pre-stable) Bluetooth: Fix sleeping function in RFCOMM within invalid context

are available in the git repository at:

  git://kernel.ubuntu.com/rtg/ubuntu-lucid.git lp485577-igb

Ajit Khaparde (2):
      igb: Use the instance of net_device_stats from net_device.
      igb: Fix erroneous display of stats by ethtool -S

Alexander Duyck (75):
      igb: remove unused temp variable from stats clearing path
      igb: update comments for serdes config and update to handle duplex
      igb: update the approach taken to acquiring and releasing the phy lock
      igb: add locking to reads of the i2c interface
      igb: add combined function for setting rar and pool bits
      igb: make use of the uta to allow for promiscous mode filter
      igb: add support for 82576NS SerDes adapter
      igb: add function to handle mailbox lock
      igb: fix a few items where weren't correctly setup for mbx timeout
      igb: change how we handle alternate mac addresses
      igb: remove microwire support from igb
      igb: move the generic copper link setup code into e1000_phy.c
      igb: add code to retry a phy read in the event of failure on link check
      igb: add additional error handling to the phy code
      igb: add flushes between RAR writes when setting mac address
      igb: add new data structure for handling interrupts and NAPI
      igb: remove rx checksum good counter
      igb: increase minimum rx buffer size to 1K
      igb: move the tx and rx ring specific config into seperate functions
      igb: remove rx_ps_hdr_len
      igb: move SRRCTL register configuration into ring specific config
      igb: change the head and tail offsets into pointers
      igb: add pci device pointer to ring structure
      igb: move rx_buffer_len into the ring structure
      igb: move alloc_failed and csum_err stats into per rx-ring stat
      igb: add a flags value to the ring
      igb: place a pointer to the netdev struct in the ring itself
      igb: move the multiple receive queue configuration into seperate function
      igb: delay VF reset notification until after interrupts are enabed
      igb: setup vlan tag replication stripping in igb_vmm_control
      igb: re-use ring configuration code in ethtool testing
      igb: make tx ring map and free functionality non-static
      igb: make ethtool use core xmit map and free functionality
      igb: add single vector msi-x testing to interrupt test
      igb: cleanup "todo" code found in igb_ethtool.c
      igb: add support for seperate tx-usecs setting in ethtool
      igb: cleanup some of the code related to hw timestamping
      igb: misc cleanups within igb_ethtool.c
      igb: use packet buffer sizes from RXPBS register
      igb: replace the VF clear_to_send with a flags value
      igb: rework use of VMOLR in regards to PF and VFs
      igb: rework handling of the vfta and vlvf registers in relation to mng_vlan
      igb: move vf init into a seperate function
      igb: only process global stats in igb_update_stats
      igb: move global_quad_port_a from global into local static define
      igb: make tx hang check multiqueue, check eop descriptor
      igb: cleanup code related to ring resource allocation and free
      igb: change queue ordering for 82576 based adapters
      igb: cleanup interrupt enablement in regards to msix_other
      igb: Remove invalid stats counters
      igb: cleanup igb.h header whitespace and some structure formatting
      igb: cleanup igb xmit frame path
      igb: cleanup clean_rx_irq_adv and alloc_rx_buffers_adv
      igb: replace unecessary &adapter->hw with just hw where applicable
      igb: add pci_dev in few spots to clean up use of dev_err/info/warn
      igb: limit minimum mtu to 68 to keep ip bound to interface
      igb: open up SCTP checksum offloads to all MACs 82576 and newer
      igb: cleanup whitespace issues in igb_main.c
      igb: change type for ring sizes to u16 in igb_set_ring_param
      igb: move timesync init into a seperate function
      igb: when number of CPUs > 4 combine tx/rx queues to allow more queues
      igb: Rework how netdev->stats is handled
      igb: removed unused tx/rx total bytes/packets from adapter struct
      igb: check for packets on all tx rings when link is down
      igb: only recycle page if it is on our numa node
      igb: add support for the 82580 phy
      igb: add support for 82580 MAC
      igb: Add full support for 82580 devices
      igb: remove use of skb_dma_map from driver
      igb: fix handling of mailbox collisions between PF/VF
      igb: do not force pcs link when in KX mode
      igb: do not force retry count to 1 on 82580 phy
      igb: correctly offset 82575 flow control watermarks by 16 bytes
      igb: check both function bits in status register in wol exception
      igb: make certain to reassign legacy interrupt vectors after reset

David S. Miller (1):
      igb: Fix warnings in igb_set_ringparam()

 drivers/net/igb/e1000_82575.c   |  570 +++++---
 drivers/net/igb/e1000_82575.h   |   32 +
 drivers/net/igb/e1000_defines.h |   50 +-
 drivers/net/igb/e1000_hw.h      |   22 +-
 drivers/net/igb/e1000_mac.c     |  100 +-
 drivers/net/igb/e1000_mbx.c     |   82 +-
 drivers/net/igb/e1000_mbx.h     |   10 +-
 drivers/net/igb/e1000_nvm.c     |   36 +-
 drivers/net/igb/e1000_phy.c     |  444 +++++-
 drivers/net/igb/e1000_phy.h     |   37 +-
 drivers/net/igb/e1000_regs.h    |   80 +-
 drivers/net/igb/igb.h           |  149 +-
 drivers/net/igb/igb_ethtool.c   |  745 +++++----
 drivers/net/igb/igb_main.c      | 3461 ++++++++++++++++++++++-----------------
 14 files changed, 3517 insertions(+), 2301 deletions(-)




More information about the kernel-team mailing list