summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_rlreg.h
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2010-11-08 21:50:50 +0000
committeryongari <yongari@FreeBSD.org>2010-11-08 21:50:50 +0000
commitc9a9210a18d0843ecf409a8efd9f4a816a29ce37 (patch)
tree5f8ea671efb8d35afa34179f5634d7c21e38cc00 /sys/pci/if_rlreg.h
parent1c59b818299a8bb91b6a779829970c2c175207e1 (diff)
downloadFreeBSD-src-c9a9210a18d0843ecf409a8efd9f4a816a29ce37.zip
FreeBSD-src-c9a9210a18d0843ecf409a8efd9f4a816a29ce37.tar.gz
Follow the lead of vendor's interrupt moderation mechanism.
It seems RTL8169/RTL8168/RTL810xE has a kind of interrupt moderation mechanism but it is not documented at all. The magic value dramatically reduced number of interrupts without noticeable performance drops so apply it to all RTL8169/RTL8169 controllers. Vendor's FreeBSD driver also applies it to RTL810xE controllers but their Linux driver explicitly cleared the register, so do not enable interrupt moderation for RTL810xE controllers. While I'm here sort 8169 specific registers. Obtained from: RealTek FreeBSD driver
Diffstat (limited to 'sys/pci/if_rlreg.h')
-rw-r--r--sys/pci/if_rlreg.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/pci/if_rlreg.h b/sys/pci/if_rlreg.h
index 0b29474..1b5923b 100644
--- a/sys/pci/if_rlreg.h
+++ b/sys/pci/if_rlreg.h
@@ -125,6 +125,7 @@
/*
* Registers specific to the 8169 gigE chip
*/
+#define RL_GTXSTART 0x0038 /* 8 bits */
#define RL_TIMERINT_8169 0x0058 /* different offset than 8139 */
#define RL_PHYAR 0x0060
#define RL_TBICSR 0x0064
@@ -135,7 +136,7 @@
#define RL_GPIO 0x006E /* 8 bits, 8168C SPIN2 only */
#define RL_PMCH 0x006F /* 8 bits */
#define RL_MAXRXPKTLEN 0x00DA /* 16 bits, chip multiplies by 8 */
-#define RL_GTXSTART 0x0038 /* 8 bits */
+#define RL_INTRMOD 0x00E2 /* 16 bits */
/*
* TX config register bits
OpenPOWER on IntegriCloud