aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS1
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_main.c2
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_verbs.c2
-rw-r--r--include/uapi/rdma/Kbuild1
-rw-r--r--include/uapi/rdma/ocrdma-abi.h (renamed from drivers/infiniband/hw/ocrdma/ocrdma_abi.h)138
5 files changed, 74 insertions, 70 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 0af558f501cf..940c0ff03f3f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10601,6 +10601,7 @@ L: linux-rdma@vger.kernel.org
10601W: http://www.emulex.com 10601W: http://www.emulex.com
10602S: Supported 10602S: Supported
10603F: drivers/infiniband/hw/ocrdma/ 10603F: drivers/infiniband/hw/ocrdma/
10604F: include/uapi/rdma/ocrdma-abi.h
10604 10605
10605SFC NETWORK DRIVER 10606SFC NETWORK DRIVER
10606M: Solarflare linux maintainers <linux-net-drivers@solarflare.com> 10607M: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
index 15e35acc690d..896071502739 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
@@ -56,7 +56,7 @@
56#include "be_roce.h" 56#include "be_roce.h"
57#include "ocrdma_hw.h" 57#include "ocrdma_hw.h"
58#include "ocrdma_stats.h" 58#include "ocrdma_stats.h"
59#include "ocrdma_abi.h" 59#include <rdma/ocrdma-abi.h>
60 60
61MODULE_VERSION(OCRDMA_ROCE_DRV_VERSION); 61MODULE_VERSION(OCRDMA_ROCE_DRV_VERSION);
62MODULE_DESCRIPTION(OCRDMA_ROCE_DRV_DESC " " OCRDMA_ROCE_DRV_VERSION); 62MODULE_DESCRIPTION(OCRDMA_ROCE_DRV_DESC " " OCRDMA_ROCE_DRV_VERSION);
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index b1a3d91fe8b9..71d0534960d6 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -51,7 +51,7 @@
51#include "ocrdma.h" 51#include "ocrdma.h"
52#include "ocrdma_hw.h" 52#include "ocrdma_hw.h"
53#include "ocrdma_verbs.h" 53#include "ocrdma_verbs.h"
54#include "ocrdma_abi.h" 54#include <rdma/ocrdma-abi.h>
55 55
56int ocrdma_query_pkey(struct ib_device *ibdev, u8 port, u16 index, u16 *pkey) 56int ocrdma_query_pkey(struct ib_device *ibdev, u8 port, u16 index, u16 *pkey)
57{ 57{
diff --git a/include/uapi/rdma/Kbuild b/include/uapi/rdma/Kbuild
index a1090ebc0b34..492e144ebe90 100644
--- a/include/uapi/rdma/Kbuild
+++ b/include/uapi/rdma/Kbuild
@@ -11,3 +11,4 @@ header-y += cxgb3-abi.h
11header-y += cxgb4-abi.h 11header-y += cxgb4-abi.h
12header-y += mlx4-abi.h 12header-y += mlx4-abi.h
13header-y += mlx5-abi.h 13header-y += mlx5-abi.h
14header-y += ocrdma-abi.h
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_abi.h b/include/uapi/rdma/ocrdma-abi.h
index 430b1350fe96..9f28191bef4d 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_abi.h
+++ b/include/uapi/rdma/ocrdma-abi.h
@@ -40,110 +40,112 @@
40 * Costa Mesa, CA 92626 40 * Costa Mesa, CA 92626
41 */ 41 */
42 42
43#ifndef __OCRDMA_ABI_H__ 43#ifndef OCRDMA_ABI_USER_H
44#define __OCRDMA_ABI_H__ 44#define OCRDMA_ABI_USER_H
45
46#include <linux/types.h>
45 47
46#define OCRDMA_ABI_VERSION 2 48#define OCRDMA_ABI_VERSION 2
47#define OCRDMA_BE_ROCE_ABI_VERSION 1 49#define OCRDMA_BE_ROCE_ABI_VERSION 1
48/* user kernel communication data structures. */ 50/* user kernel communication data structures. */
49 51
50struct ocrdma_alloc_ucontext_resp { 52struct ocrdma_alloc_ucontext_resp {
51 u32 dev_id; 53 __u32 dev_id;
52 u32 wqe_size; 54 __u32 wqe_size;
53 u32 max_inline_data; 55 __u32 max_inline_data;
54 u32 dpp_wqe_size; 56 __u32 dpp_wqe_size;
55 u64 ah_tbl_page; 57 __u64 ah_tbl_page;
56 u32 ah_tbl_len; 58 __u32 ah_tbl_len;
57 u32 rqe_size; 59 __u32 rqe_size;
58 u8 fw_ver[32]; 60 __u8 fw_ver[32];
59 /* for future use/new features in progress */ 61 /* for future use/new features in progress */
60 u64 rsvd1; 62 __u64 rsvd1;
61 u64 rsvd2; 63 __u64 rsvd2;
62}; 64};
63 65
64struct ocrdma_alloc_pd_ureq { 66struct ocrdma_alloc_pd_ureq {
65 u64 rsvd1; 67 __u64 rsvd1;
66}; 68};
67 69
68struct ocrdma_alloc_pd_uresp { 70struct ocrdma_alloc_pd_uresp {
69 u32 id; 71 __u32 id;
70 u32 dpp_enabled; 72 __u32 dpp_enabled;
71 u32 dpp_page_addr_hi; 73 __u32 dpp_page_addr_hi;
72 u32 dpp_page_addr_lo; 74 __u32 dpp_page_addr_lo;
73 u64 rsvd1; 75 __u64 rsvd1;
74}; 76};
75 77
76struct ocrdma_create_cq_ureq { 78struct ocrdma_create_cq_ureq {
77 u32 dpp_cq; 79 __u32 dpp_cq;
78 u32 rsvd; /* pad */ 80 __u32 rsvd; /* pad */
79}; 81};
80 82
81#define MAX_CQ_PAGES 8 83#define MAX_CQ_PAGES 8
82struct ocrdma_create_cq_uresp { 84struct ocrdma_create_cq_uresp {
83 u32 cq_id; 85 __u32 cq_id;
84 u32 page_size; 86 __u32 page_size;
85 u32 num_pages; 87 __u32 num_pages;
86 u32 max_hw_cqe; 88 __u32 max_hw_cqe;
87 u64 page_addr[MAX_CQ_PAGES]; 89 __u64 page_addr[MAX_CQ_PAGES];
88 u64 db_page_addr; 90 __u64 db_page_addr;
89 u32 db_page_size; 91 __u32 db_page_size;
90 u32 phase_change; 92 __u32 phase_change;
91 /* for future use/new features in progress */ 93 /* for future use/new features in progress */
92 u64 rsvd1; 94 __u64 rsvd1;
93 u64 rsvd2; 95 __u64 rsvd2;
94}; 96};
95 97
96#define MAX_QP_PAGES 8 98#define MAX_QP_PAGES 8
97#define MAX_UD_AV_PAGES 8 99#define MAX_UD_AV_PAGES 8
98 100
99struct ocrdma_create_qp_ureq { 101struct ocrdma_create_qp_ureq {
100 u8 enable_dpp_cq; 102 __u8 enable_dpp_cq;
101 u8 rsvd; 103 __u8 rsvd;
102 u16 dpp_cq_id; 104 __u16 dpp_cq_id;
103 u32 rsvd1; /* pad */ 105 __u32 rsvd1; /* pad */
104}; 106};
105 107
106struct ocrdma_create_qp_uresp { 108struct ocrdma_create_qp_uresp {
107 u16 qp_id; 109 __u16 qp_id;
108 u16 sq_dbid; 110 __u16 sq_dbid;
109 u16 rq_dbid; 111 __u16 rq_dbid;
110 u16 resv0; /* pad */ 112 __u16 resv0; /* pad */
111 u32 sq_page_size; 113 __u32 sq_page_size;
112 u32 rq_page_size; 114 __u32 rq_page_size;
113 u32 num_sq_pages; 115 __u32 num_sq_pages;
114 u32 num_rq_pages; 116 __u32 num_rq_pages;
115 u64 sq_page_addr[MAX_QP_PAGES]; 117 __u64 sq_page_addr[MAX_QP_PAGES];
116 u64 rq_page_addr[MAX_QP_PAGES]; 118 __u64 rq_page_addr[MAX_QP_PAGES];
117 u64 db_page_addr; 119 __u64 db_page_addr;
118 u32 db_page_size; 120 __u32 db_page_size;
119 u32 dpp_credit; 121 __u32 dpp_credit;
120 u32 dpp_offset; 122 __u32 dpp_offset;
121 u32 num_wqe_allocated; 123 __u32 num_wqe_allocated;
122 u32 num_rqe_allocated; 124 __u32 num_rqe_allocated;
123 u32 db_sq_offset; 125 __u32 db_sq_offset;
124 u32 db_rq_offset; 126 __u32 db_rq_offset;
125 u32 db_shift; 127 __u32 db_shift;
126 u64 rsvd[11]; 128 __u64 rsvd[11];
127} __packed; 129} __packed;
128 130
129struct ocrdma_create_srq_uresp { 131struct ocrdma_create_srq_uresp {
130 u16 rq_dbid; 132 __u16 rq_dbid;
131 u16 resv0; /* pad */ 133 __u16 resv0; /* pad */
132 u32 resv1; 134 __u32 resv1;
133 135
134 u32 rq_page_size; 136 __u32 rq_page_size;
135 u32 num_rq_pages; 137 __u32 num_rq_pages;
136 138
137 u64 rq_page_addr[MAX_QP_PAGES]; 139 __u64 rq_page_addr[MAX_QP_PAGES];
138 u64 db_page_addr; 140 __u64 db_page_addr;
139 141
140 u32 db_page_size; 142 __u32 db_page_size;
141 u32 num_rqe_allocated; 143 __u32 num_rqe_allocated;
142 u32 db_rq_offset; 144 __u32 db_rq_offset;
143 u32 db_shift; 145 __u32 db_shift;
144 146
145 u64 rsvd2; 147 __u64 rsvd2;
146 u64 rsvd3; 148 __u64 rsvd3;
147}; 149};
148 150
149#endif /* __OCRDMA_ABI_H__ */ 151#endif /* OCRDMA_ABI_USER_H */