diff options
| author | Raed Salem | 2017-03-23 14:56:27 +0100 |
|---|---|---|
| committer | Michael Brown | 2017-03-23 15:03:40 +0100 |
| commit | 1ff1eebcf7a93a237a1b91ea5d9dcc5b5f1a13bf (patch) | |
| tree | 7f55f56fb73766a7ae983d7cbb4c61f961f403ed /src/drivers/infiniband/golan.h | |
| parent | [rtl818x] Fix resource leak on error path (diff) | |
| download | ipxe-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-x | src/drivers/infiniband/golan.h | 16 |
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_*/ |
