summaryrefslogtreecommitdiffstats
path: root/src/drivers/infiniband/golan.h
diff options
context:
space:
mode:
authorRaed Salem2017-03-23 14:56:27 +0100
committerMichael Brown2017-03-23 15:03:40 +0100
commit1ff1eebcf7a93a237a1b91ea5d9dcc5b5f1a13bf (patch)
tree7f55f56fb73766a7ae983d7cbb4c61f961f403ed /src/drivers/infiniband/golan.h
parent[rtl818x] Fix resource leak on error path (diff)
downloadipxe-1ff1eebcf7a93a237a1b91ea5d9dcc5b5f1a13bf.tar.gz
ipxe-1ff1eebcf7a93a237a1b91ea5d9dcc5b5f1a13bf.tar.xz
ipxe-1ff1eebcf7a93a237a1b91ea5d9dcc5b5f1a13bf.zip
[golan] Bug fixes and improved paging allocation method
Updates: - revert Support for clear interrupt via BAR Signed-off-by: Raed Salem <raeds@mellanox.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/infiniband/golan.h')
-rwxr-xr-xsrc/drivers/infiniband/golan.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/drivers/infiniband/golan.h b/src/drivers/infiniband/golan.h
index c5227dd73..2fd06ecf0 100755
--- a/src/drivers/infiniband/golan.h
+++ b/src/drivers/infiniband/golan.h
@@ -111,6 +111,18 @@ struct golan_uar {
unsigned long phys;
};
+
+struct golan_firmware_area {
+ /* length of area in pages */
+ uint32_t npages;
+ /** Firmware area in external memory
+ *
+ * This is allocated when first needed, and freed only on
+ * final teardown, in order to avoid memory map changes at
+ * runtime.
+ */
+ userptr_t area;
+};
/* Queue Pair */
#define GOLAN_SEND_WQE_BB_SIZE 64
#define GOLAN_SEND_UD_WQE_SIZE sizeof(struct golan_send_wqe_ud)
@@ -204,6 +216,8 @@ struct golan_completion_queue {
#define GOLAN_EQE_SIZE sizeof(struct golan_eqe)
#define GOLAN_NUM_EQES 8
#define GOLAN_EQ_DOORBELL_OFFSET 0x40
+#define DB_BUFFER0_EVEN_OFFSET 0x800
+#define DB_BUFFER0_ODD_OFFSET 0x900
#define GOLAN_EQ_MAP_ALL_EVENTS \
((1 << GOLAN_EVENT_TYPE_PATH_MIG )| \
@@ -323,6 +337,8 @@ struct golan {
mlx_utils *utils;
struct golan_port ports[GOLAN_MAX_PORTS];
+#define GOLAN_FW_AREAS_NUM 2
+ struct golan_firmware_area fw_areas[GOLAN_FW_AREAS_NUM];
};
#endif /* _GOLAN_H_*/