hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h
....@@ -57,7 +57,9 @@
5757
5858 #define PVRDMA_ROCEV1_VERSION 17
5959 #define PVRDMA_ROCEV2_VERSION 18
60
-#define PVRDMA_VERSION PVRDMA_ROCEV2_VERSION
60
+#define PVRDMA_PPN64_VERSION 19
61
+#define PVRDMA_QPHANDLE_VERSION 20
62
+#define PVRDMA_VERSION PVRDMA_QPHANDLE_VERSION
6163
6264 #define PVRDMA_BOARD_ID 1
6365 #define PVRDMA_REV_ID 1
....@@ -279,8 +281,10 @@
279281 /* W: Async ring page info. */
280282 struct pvrdma_ring_page_info cq_ring_pages;
281283 /* W: CQ ring page info. */
282
- u32 uar_pfn; /* W: UAR pageframe. */
283
- u32 pad2; /* Pad to 8-byte align. */
284
+ union {
285
+ u32 uar_pfn; /* W: UAR pageframe. */
286
+ u64 uar_pfn64; /* W: 64-bit UAR page frame. */
287
+ };
284288 struct pvrdma_device_caps caps; /* R: Device capabilities. */
285289 };
286290
....@@ -411,8 +415,10 @@
411415
412416 struct pvrdma_cmd_create_uc {
413417 struct pvrdma_cmd_hdr hdr;
414
- u32 pfn; /* UAR page frame number */
415
- u8 reserved[4];
418
+ union {
419
+ u32 pfn; /* UAR page frame number */
420
+ u64 pfn64; /* 64-bit UAR page frame number */
421
+ };
416422 };
417423
418424 struct pvrdma_cmd_create_uc_resp {
....@@ -576,6 +582,17 @@
576582 u32 max_inline_data;
577583 };
578584
585
+struct pvrdma_cmd_create_qp_resp_v2 {
586
+ struct pvrdma_cmd_resp_hdr hdr;
587
+ u32 qpn;
588
+ u32 qp_handle;
589
+ u32 max_send_wr;
590
+ u32 max_recv_wr;
591
+ u32 max_send_sge;
592
+ u32 max_recv_sge;
593
+ u32 max_inline_data;
594
+};
595
+
579596 struct pvrdma_cmd_modify_qp {
580597 struct pvrdma_cmd_hdr hdr;
581598 u32 qp_handle;
....@@ -658,6 +675,7 @@
658675 struct pvrdma_cmd_create_cq_resp create_cq_resp;
659676 struct pvrdma_cmd_resize_cq_resp resize_cq_resp;
660677 struct pvrdma_cmd_create_qp_resp create_qp_resp;
678
+ struct pvrdma_cmd_create_qp_resp_v2 create_qp_resp_v2;
661679 struct pvrdma_cmd_query_qp_resp query_qp_resp;
662680 struct pvrdma_cmd_destroy_qp_resp destroy_qp_resp;
663681 struct pvrdma_cmd_create_srq_resp create_srq_resp;