aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ioat/ioat_hw.h
diff options
context:
space:
mode:
authorConrad Meyer <cem@FreeBSD.org>2015-12-14 22:01:52 +0000
committerConrad Meyer <cem@FreeBSD.org>2015-12-14 22:01:52 +0000
commit5ca9fc2a8d46637aaa188f3b5a42f208cee8f575 (patch)
tree955d97b497debea48deac66a6283d834a31824d2 /sys/dev/ioat/ioat_hw.h
parent36f17e5176accaafe3ae62015f3e61e7462ecb5e (diff)
downloadsrc-5ca9fc2a8d46637aaa188f3b5a42f208cee8f575.tar.gz
src-5ca9fc2a8d46637aaa188f3b5a42f208cee8f575.zip
ioat(4): Add support for interrupt coalescing
In I/OAT, this is done through the INTRDELAY register. On supported platforms, this register can coalesce interrupts in a set period to avoid excessive interrupt load for small descriptor workflows. The period is configurable anywhere from 1 microsecond to 16.38 milliseconds, in microsecond granularity. Sponsored by: EMC / Isilon Storage Division
Notes
Notes: svn path=/head/; revision=292228
Diffstat (limited to 'sys/dev/ioat/ioat_hw.h')
-rw-r--r--sys/dev/ioat/ioat_hw.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/ioat/ioat_hw.h b/sys/dev/ioat/ioat_hw.h
index 43c78caeb189..1aeee2d9c999 100644
--- a/sys/dev/ioat/ioat_hw.h
+++ b/sys/dev/ioat/ioat_hw.h
@@ -50,6 +50,10 @@ __FBSDID("$FreeBSD$");
#define IOAT_VER_3_3 0x33
#define IOAT_INTRDELAY_OFFSET 0x0C
+#define IOAT_INTRDELAY_SUPPORTED (1 << 15)
+/* Reserved. (1 << 14) */
+/* [13:0] is the coalesce period, in microseconds. */
+#define IOAT_INTRDELAY_US_MASK ((1 << 14) - 1)
#define IOAT_CS_STATUS_OFFSET 0x0E