aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/habanalabs/include/qman_if.h
diff options
context:
space:
mode:
authorTomer Tayar <ttayar@habana.ai>2019-10-03 15:22:36 +0000
committerOded Gabbay <oded.gabbay@gmail.com>2019-11-21 11:35:45 +0200
commitcb596aee8842c87605ea1a9062af2ab435a742d4 (patch)
treeb50e2cbe47c26188c75754a934b3fa1e4c4f3268 /drivers/misc/habanalabs/include/qman_if.h
parenthabanalabs: Mark queue as expecting CB handle or address (diff)
downloadlinux-dev-cb596aee8842c87605ea1a9062af2ab435a742d4.tar.xz
linux-dev-cb596aee8842c87605ea1a9062af2ab435a742d4.zip
habanalabs: Add a new H/W queue type
This patch adds a support for a new H/W queue type. This type of queue is for DMA and compute engines jobs, for which completion notification are sent by H/W. Command buffer for this queue can be created either through the CB IOCTL and using the retrieved CB handle, or by preparing a buffer on the host or device SRAM/DRAM, and using the device address to that buffer. The patch includes the handling of the 2 options, as well as the initialization of the H/W queue and its jobs scheduling. Signed-off-by: Tomer Tayar <ttayar@habana.ai> Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Diffstat (limited to 'drivers/misc/habanalabs/include/qman_if.h')
-rw-r--r--drivers/misc/habanalabs/include/qman_if.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/misc/habanalabs/include/qman_if.h b/drivers/misc/habanalabs/include/qman_if.h
index bf59bbe27fdc..0fdb49188ed7 100644
--- a/drivers/misc/habanalabs/include/qman_if.h
+++ b/drivers/misc/habanalabs/include/qman_if.h
@@ -23,6 +23,8 @@ struct hl_bd {
#define HL_BD_SIZE sizeof(struct hl_bd)
/*
+ * S/W CTL FIELDS.
+ *
* BD_CTL_REPEAT_VALID tells the CP whether the repeat field in the BD CTL is
* valid. 1 means the repeat field is valid, 0 means not-valid,
* i.e. repeat == 1
@@ -34,6 +36,16 @@ struct hl_bd {
#define BD_CTL_SHADOW_INDEX_MASK 0x00000FFF
/*
+ * H/W CTL FIELDS
+ */
+
+#define BD_CTL_COMP_OFFSET_SHIFT 16
+#define BD_CTL_COMP_OFFSET_MASK 0x00FF0000
+
+#define BD_CTL_COMP_DATA_SHIFT 0
+#define BD_CTL_COMP_DATA_MASK 0x0000FFFF
+
+/*
* COMPLETION QUEUE
*/