diff options
Diffstat (limited to 'drivers/infiniband/hw/nes/nes_hw.h')
-rw-r--r-- | drivers/infiniband/hw/nes/nes_hw.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h index f28a41ba9fa1..8a4c7383bc08 100644 --- a/drivers/infiniband/hw/nes/nes_hw.h +++ b/drivers/infiniband/hw/nes/nes_hw.h | |||
@@ -546,11 +546,23 @@ enum nes_iwarp_sq_fmr_wqe_word_idx { | |||
546 | NES_IWARP_SQ_FMR_WQE_PBL_LENGTH_IDX = 14, | 546 | NES_IWARP_SQ_FMR_WQE_PBL_LENGTH_IDX = 14, |
547 | }; | 547 | }; |
548 | 548 | ||
549 | enum nes_iwarp_sq_fmr_opcodes { | ||
550 | NES_IWARP_SQ_FMR_WQE_ZERO_BASED = (1<<6), | ||
551 | NES_IWARP_SQ_FMR_WQE_PAGE_SIZE_4K = (0<<7), | ||
552 | NES_IWARP_SQ_FMR_WQE_PAGE_SIZE_2M = (1<<7), | ||
553 | NES_IWARP_SQ_FMR_WQE_RIGHTS_ENABLE_LOCAL_READ = (1<<16), | ||
554 | NES_IWARP_SQ_FMR_WQE_RIGHTS_ENABLE_LOCAL_WRITE = (1<<17), | ||
555 | NES_IWARP_SQ_FMR_WQE_RIGHTS_ENABLE_REMOTE_READ = (1<<18), | ||
556 | NES_IWARP_SQ_FMR_WQE_RIGHTS_ENABLE_REMOTE_WRITE = (1<<19), | ||
557 | NES_IWARP_SQ_FMR_WQE_RIGHTS_ENABLE_WINDOW_BIND = (1<<20), | ||
558 | }; | ||
559 | |||
560 | #define NES_IWARP_SQ_FMR_WQE_MR_LENGTH_HIGH_MASK 0xFF; | ||
561 | |||
549 | enum nes_iwarp_sq_locinv_wqe_word_idx { | 562 | enum nes_iwarp_sq_locinv_wqe_word_idx { |
550 | NES_IWARP_SQ_LOCINV_WQE_INV_STAG_IDX = 6, | 563 | NES_IWARP_SQ_LOCINV_WQE_INV_STAG_IDX = 6, |
551 | }; | 564 | }; |
552 | 565 | ||
553 | |||
554 | enum nes_iwarp_rq_wqe_word_idx { | 566 | enum nes_iwarp_rq_wqe_word_idx { |
555 | NES_IWARP_RQ_WQE_TOTAL_PAYLOAD_IDX = 1, | 567 | NES_IWARP_RQ_WQE_TOTAL_PAYLOAD_IDX = 1, |
556 | NES_IWARP_RQ_WQE_COMP_CTX_LOW_IDX = 2, | 568 | NES_IWARP_RQ_WQE_COMP_CTX_LOW_IDX = 2, |
@@ -1153,6 +1165,19 @@ struct nes_pbl { | |||
1153 | /* TODO: need to add list for two level tables */ | 1165 | /* TODO: need to add list for two level tables */ |
1154 | }; | 1166 | }; |
1155 | 1167 | ||
1168 | #define NES_4K_PBL_CHUNK_SIZE 4096 | ||
1169 | |||
1170 | struct nes_fast_mr_wqe_pbl { | ||
1171 | u64 *kva; | ||
1172 | dma_addr_t paddr; | ||
1173 | }; | ||
1174 | |||
1175 | struct nes_ib_fast_reg_page_list { | ||
1176 | struct ib_fast_reg_page_list ibfrpl; | ||
1177 | struct nes_fast_mr_wqe_pbl nes_wqe_pbl; | ||
1178 | u64 pbl; | ||
1179 | }; | ||
1180 | |||
1156 | struct nes_listener { | 1181 | struct nes_listener { |
1157 | struct work_struct work; | 1182 | struct work_struct work; |
1158 | struct workqueue_struct *wq; | 1183 | struct workqueue_struct *wq; |