summaryrefslogtreecommitdiffstats
path: root/sys/dev/ioat/ioat.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/ioat/ioat.h')
-rw-r--r--sys/dev/ioat/ioat.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/dev/ioat/ioat.h b/sys/dev/ioat/ioat.h
index 5c64af1..e8f47ae 100644
--- a/sys/dev/ioat/ioat.h
+++ b/sys/dev/ioat/ioat.h
@@ -48,6 +48,14 @@ __FBSDID("$FreeBSD$");
#define DMA_NO_WAIT 0x2
#define DMA_ALL_FLAGS (DMA_INT_EN | DMA_NO_WAIT)
+/*
+ * Hardware revision number. Different hardware revisions support different
+ * features. For example, 3.2 cannot read from MMIO space, while 3.3 can.
+ */
+#define IOAT_VER_3_0 0x30
+#define IOAT_VER_3_2 0x32
+#define IOAT_VER_3_3 0x33
+
typedef void *bus_dmaengine_t;
struct bus_dmadesc;
typedef void (*bus_dmaengine_callback_t)(void *arg, int error);
@@ -60,6 +68,9 @@ bus_dmaengine_t ioat_get_dmaengine(uint32_t channel_index);
/* Release the DMA channel */
void ioat_put_dmaengine(bus_dmaengine_t dmaengine);
+/* Check the DMA engine's HW version */
+int ioat_get_hwversion(bus_dmaengine_t dmaengine);
+
/*
* Set interrupt coalescing on a DMA channel.
*
OpenPOWER on IntegriCloud