summaryrefslogtreecommitdiffstats
path: root/sys/modules/alc
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2009-06-10 02:07:58 +0000
committeryongari <yongari@FreeBSD.org>2009-06-10 02:07:58 +0000
commitc9be81a52036d522206f5b4d09a630eac428fce7 (patch)
tree180f5ec2bed6cdb5a8a59c08588c0311a0ea52ae /sys/modules/alc
parent50dfd13368b16d34acedc6d54147e83745cc1da8 (diff)
downloadFreeBSD-src-c9be81a52036d522206f5b4d09a630eac428fce7.zip
FreeBSD-src-c9be81a52036d522206f5b4d09a630eac428fce7.tar.gz
Add alc(4), a driver for Atheros AR8131/AR8132 PCIe ethernet
controller. These controllers are also known as L1C(AR8131) and L2C(AR8132) respectively. These controllers resembles the first generation controller L1 but usage of different descriptor format and new register mappings over L1 register space requires a new driver. There are a couple of registers I still don't understand but the driver seems to have no critical issues for performance and stability. Currently alc(4) supports the following hardware features. o MSI o TCP Segmentation offload o Hardware VLAN tag insertion/stripping o Tx/Rx interrupt moderation o Hardware statistics counters(dev.alc.%d.stats) o Jumbo frame o WOL AR8131/AR8132 also supports Tx checksum offloading but I disabled it due to stability issues. I'm not sure this comes from broken sample boards or hardware bugs. If you know your controller works without problems you can still enable it. The controller has a silicon bug for Rx checksum offloading, so the feature was not implemented. I'd like to say big thanks to Atheros. Atheros kindly sent sample boards to me and answered several questions I had. HW donated by: Atheros Communications, Inc.
Diffstat (limited to 'sys/modules/alc')
-rw-r--r--sys/modules/alc/Makefile8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/modules/alc/Makefile b/sys/modules/alc/Makefile
new file mode 100644
index 0000000..9f6d6fc
--- /dev/null
+++ b/sys/modules/alc/Makefile
@@ -0,0 +1,8 @@
+# $FreeBSD$
+
+.PATH: ${.CURDIR}/../../dev/alc
+
+KMOD= if_alc
+SRCS= if_alc.c device_if.h bus_if.h pci_if.h miibus_if.h
+
+.include <bsd.kmod.mk>
OpenPOWER on IntegriCloud