em(4): Sync with Intel's em-6.9.6(FreeBSD)
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 15 Feb 2009 11:46:46 +0000 (19:46 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Tue, 24 Feb 2009 10:50:47 +0000 (18:50 +0800)
commit9c80d176fa568ed18fc8c8678f763f9a04556d08
tree73bcde2c6d097b3cd4f754215764f7fb8803324a
parent9c7cbff41faf211a75fccc11a029145bcd738afe
em(4): Sync with Intel's em-6.9.6(FreeBSD)

In addition to adding support for some chips (e.g. 82574L), this also gives
me the chance to rearrange and clean up if_em.[ch] :)

Noticable changes to the FreeBSD driver:
- The hardware abstraction layer is put into a seperate module (ig_hal)
- IP csum offloading is supported when hardware TX csum offloading is enabled
- mbufs on RX/TX ring are freed in em_stop(), i.e. during "ifconfig emX down"
- TX pattern is adjusted that we test number of avaiable TX descs before
  dequeuing mbuf from ifq.  We also reserve double spare TX descs for 82544
  cards on PCI-X bus, so we will not need to unload the loaded mbuf in the
  mid way due to short of TX descs; this at least makes the logic a little
  bit simpler.
43 files changed:
sys/conf/files
sys/config/GENERIC
sys/config/JG64
sys/config/LINT
sys/dev/netif/Makefile
sys/dev/netif/em/Makefile
sys/dev/netif/em/README [deleted file]
sys/dev/netif/em/if_em.c
sys/dev/netif/em/if_em.h
sys/dev/netif/em/if_em_hw.c [deleted file]
sys/dev/netif/em/if_em_hw.h [deleted file]
sys/dev/netif/em/if_em_osdep.h [deleted file]
sys/dev/netif/ig_hal/LICENSE [new file with mode: 0644]
sys/dev/netif/ig_hal/Makefile [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_80003es2lan.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_80003es2lan.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_82540.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_82541.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_82541.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_82542.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_82543.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_82543.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_82571.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_82571.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_82575.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_82575.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_api.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_api.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_defines.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_hw.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_ich8lan.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_ich8lan.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_mac.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_mac.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_manage.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_manage.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_nvm.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_nvm.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_osdep.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_osdep.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_phy.c [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_phy.h [new file with mode: 0644]
sys/dev/netif/ig_hal/e1000_regs.h [new file with mode: 0644]