]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add support for the new I350 family of 1G interfaces.
authorJack F Vogel <jfv@FreeBSD.org>
Fri, 11 Feb 2011 01:00:26 +0000 (01:00 +0000)
committerJack F Vogel <jfv@FreeBSD.org>
Fri, 11 Feb 2011 01:00:26 +0000 (01:00 +0000)
commitf0ecc46d04fdfaffaf2dddd2e7a70b3cef0e9338
tree7464df57d4e704b077e48d49af1d4ff284e20c98
parent9510c63d8b4e2971f479847d9b297b37424e4ba8
Add support for the new I350 family of 1G interfaces.
    - this also includes virtualization support on these devices

Correct some vlan issues we were seeing in test, jumbo frames on vlans
did not work correctly, this was all due to confused logic around HW
filters, the new code should now work for all uses.

Important fix: when mbuf resources are depeleted, it was possible to
completely empty the RX ring, and then the RX engine would stall
forever. This is fixed by a flag being set whenever the refresh code
fails due to an mbuf shortage, also the local timer now makes sure
that all queues get an interrupt when it runs, the interrupt code
will then always call rxeof, and in that routine the first thing done
is now to check the refresh flag and call refresh_mbufs. This has been
verified to fix this type 'hang'. Similar code will follow in the other
drivers.

Finally, sync up shared code for the I350 support.

Thanks to everyone that has been reporting issues, and helping in the
debug/test process!!
21 files changed:
sys/dev/e1000/e1000_82575.c
sys/dev/e1000/e1000_82575.h
sys/dev/e1000/e1000_api.c
sys/dev/e1000/e1000_api.h
sys/dev/e1000/e1000_defines.h
sys/dev/e1000/e1000_hw.h
sys/dev/e1000/e1000_mac.c
sys/dev/e1000/e1000_mac.h
sys/dev/e1000/e1000_manage.c
sys/dev/e1000/e1000_manage.h
sys/dev/e1000/e1000_mbx.c
sys/dev/e1000/e1000_nvm.c
sys/dev/e1000/e1000_nvm.h
sys/dev/e1000/e1000_osdep.c
sys/dev/e1000/e1000_phy.c
sys/dev/e1000/e1000_phy.h
sys/dev/e1000/e1000_regs.h
sys/dev/e1000/e1000_vf.c
sys/dev/e1000/e1000_vf.h
sys/dev/e1000/if_igb.c
sys/dev/e1000/if_igb.h