aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/ocrdma
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-10-19 15:29:23 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-10-19 15:29:23 -0400
commit2eb7f910c158fd675ab33aff67904512779996e8 (patch)
treecc5b453afad998da001ee3611f358b7bdc218981 /drivers/infiniband/hw/ocrdma
parent1f6075f99073a8b5ec9649ae8c0bf2e06fdd42f1 (diff)
parent7b909bb49ac204bfd2e628707db37beb490dbc5c (diff)
Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
Pull infiniband/RDMA updates from Roland Dreier: - large set of iSER initiator improvements - hardware driver fixes for cxgb4, mlx5 and ocrdma - small fixes to core midlayer * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (47 commits) RDMA/cxgb4: Fix ntuple calculation for ipv6 and remove duplicate line RDMA/cxgb4: Add missing neigh_release in find_route RDMA/cxgb4: Take IPv6 into account for best_mtu and set_emss RDMA/cxgb4: Make c4iw_wr_log_size_order static IB/core: Fix XRC race condition in ib_uverbs_open_qp IB/core: Clear AH attr variable to prevent garbage data RDMA/ocrdma: Save the bit environment, spare unncessary parenthesis RDMA/ocrdma: The kernel has a perfectly good BIT() macro - use it RDMA/ocrdma: Don't memset() buffers we just allocated with kzalloc() RDMA/ocrdma: Remove a unused-label warning RDMA/ocrdma: Convert kernel VA to PA for mmap in user RDMA/ocrdma: Get vlan tag from ib_qp_attrs RDMA/ocrdma: Add default GID at index 0 IB/mlx5, iser, isert: Add Signature API additions Target/iser: Centralize ib_sig_domain setting IB/iser: Centralize ib_sig_domain settings IB/mlx5: Use extended internal signature layout IB/iser: Set IP_CSUM as default guard type IB/iser: Remove redundant assignment IB/mlx5: Use enumerations for PI copy mask ...
Diffstat (limited to 'drivers/infiniband/hw/ocrdma')
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_hw.c25
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_main.c12
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_sli.h238
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_verbs.c10
4 files changed, 145 insertions, 140 deletions
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
index dd35ae558ae1..638bff1ffc6c 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
@@ -348,11 +348,6 @@ static void *ocrdma_init_emb_mqe(u8 opcode, u32 cmd_len)
348 return mqe; 348 return mqe;
349} 349}
350 350
351static void *ocrdma_alloc_mqe(void)
352{
353 return kzalloc(sizeof(struct ocrdma_mqe), GFP_KERNEL);
354}
355
356static void ocrdma_free_q(struct ocrdma_dev *dev, struct ocrdma_queue_info *q) 351static void ocrdma_free_q(struct ocrdma_dev *dev, struct ocrdma_queue_info *q)
357{ 352{
358 dma_free_coherent(&dev->nic_info.pdev->dev, q->size, q->va, q->dma); 353 dma_free_coherent(&dev->nic_info.pdev->dev, q->size, q->va, q->dma);
@@ -566,8 +561,8 @@ static int ocrdma_mbx_create_mq(struct ocrdma_dev *dev,
566 cmd->cqid_pages |= (cq->id << OCRDMA_CREATE_MQ_CQ_ID_SHIFT); 561 cmd->cqid_pages |= (cq->id << OCRDMA_CREATE_MQ_CQ_ID_SHIFT);
567 cmd->async_cqid_valid = OCRDMA_CREATE_MQ_ASYNC_CQ_VALID; 562 cmd->async_cqid_valid = OCRDMA_CREATE_MQ_ASYNC_CQ_VALID;
568 563
569 cmd->async_event_bitmap = Bit(OCRDMA_ASYNC_GRP5_EVE_CODE); 564 cmd->async_event_bitmap = BIT(OCRDMA_ASYNC_GRP5_EVE_CODE);
570 cmd->async_event_bitmap |= Bit(OCRDMA_ASYNC_RDMA_EVE_CODE); 565 cmd->async_event_bitmap |= BIT(OCRDMA_ASYNC_RDMA_EVE_CODE);
571 566
572 cmd->async_cqid_ringsize = cq->id; 567 cmd->async_cqid_ringsize = cq->id;
573 cmd->async_cqid_ringsize |= (ocrdma_encoded_q_len(mq->len) << 568 cmd->async_cqid_ringsize |= (ocrdma_encoded_q_len(mq->len) <<
@@ -1189,10 +1184,10 @@ int ocrdma_mbx_rdma_stats(struct ocrdma_dev *dev, bool reset)
1189{ 1184{
1190 struct ocrdma_rdma_stats_req *req = dev->stats_mem.va; 1185 struct ocrdma_rdma_stats_req *req = dev->stats_mem.va;
1191 struct ocrdma_mqe *mqe = &dev->stats_mem.mqe; 1186 struct ocrdma_mqe *mqe = &dev->stats_mem.mqe;
1192 struct ocrdma_rdma_stats_resp *old_stats = NULL; 1187 struct ocrdma_rdma_stats_resp *old_stats;
1193 int status; 1188 int status;
1194 1189
1195 old_stats = kzalloc(sizeof(*old_stats), GFP_KERNEL); 1190 old_stats = kmalloc(sizeof(*old_stats), GFP_KERNEL);
1196 if (old_stats == NULL) 1191 if (old_stats == NULL)
1197 return -ENOMEM; 1192 return -ENOMEM;
1198 1193
@@ -1235,10 +1230,9 @@ static int ocrdma_mbx_get_ctrl_attribs(struct ocrdma_dev *dev)
1235 struct ocrdma_get_ctrl_attribs_rsp *ctrl_attr_rsp; 1230 struct ocrdma_get_ctrl_attribs_rsp *ctrl_attr_rsp;
1236 struct mgmt_hba_attribs *hba_attribs; 1231 struct mgmt_hba_attribs *hba_attribs;
1237 1232
1238 mqe = ocrdma_alloc_mqe(); 1233 mqe = kzalloc(sizeof(struct ocrdma_mqe), GFP_KERNEL);
1239 if (!mqe) 1234 if (!mqe)
1240 return status; 1235 return status;
1241 memset(mqe, 0, sizeof(*mqe));
1242 1236
1243 dma.size = sizeof(struct ocrdma_get_ctrl_attribs_rsp); 1237 dma.size = sizeof(struct ocrdma_get_ctrl_attribs_rsp);
1244 dma.va = dma_alloc_coherent(&dev->nic_info.pdev->dev, 1238 dma.va = dma_alloc_coherent(&dev->nic_info.pdev->dev,
@@ -2279,7 +2273,8 @@ mbx_err:
2279 2273
2280static int ocrdma_set_av_params(struct ocrdma_qp *qp, 2274static int ocrdma_set_av_params(struct ocrdma_qp *qp,
2281 struct ocrdma_modify_qp *cmd, 2275 struct ocrdma_modify_qp *cmd,
2282 struct ib_qp_attr *attrs) 2276 struct ib_qp_attr *attrs,
2277 int attr_mask)
2283{ 2278{
2284 int status; 2279 int status;
2285 struct ib_ah_attr *ah_attr = &attrs->ah_attr; 2280 struct ib_ah_attr *ah_attr = &attrs->ah_attr;
@@ -2319,8 +2314,8 @@ static int ocrdma_set_av_params(struct ocrdma_qp *qp,
2319 ocrdma_cpu_to_le32(&cmd->params.dgid[0], sizeof(cmd->params.dgid)); 2314 ocrdma_cpu_to_le32(&cmd->params.dgid[0], sizeof(cmd->params.dgid));
2320 ocrdma_cpu_to_le32(&cmd->params.sgid[0], sizeof(cmd->params.sgid)); 2315 ocrdma_cpu_to_le32(&cmd->params.sgid[0], sizeof(cmd->params.sgid));
2321 cmd->params.vlan_dmac_b4_to_b5 = mac_addr[4] | (mac_addr[5] << 8); 2316 cmd->params.vlan_dmac_b4_to_b5 = mac_addr[4] | (mac_addr[5] << 8);
2322 vlan_id = ah_attr->vlan_id; 2317 if (attr_mask & IB_QP_VID) {
2323 if (vlan_id && (vlan_id < 0x1000)) { 2318 vlan_id = attrs->vlan_id;
2324 cmd->params.vlan_dmac_b4_to_b5 |= 2319 cmd->params.vlan_dmac_b4_to_b5 |=
2325 vlan_id << OCRDMA_QP_PARAMS_VLAN_SHIFT; 2320 vlan_id << OCRDMA_QP_PARAMS_VLAN_SHIFT;
2326 cmd->flags |= OCRDMA_QP_PARA_VLAN_EN_VALID; 2321 cmd->flags |= OCRDMA_QP_PARA_VLAN_EN_VALID;
@@ -2347,7 +2342,7 @@ static int ocrdma_set_qp_params(struct ocrdma_qp *qp,
2347 cmd->flags |= OCRDMA_QP_PARA_QKEY_VALID; 2342 cmd->flags |= OCRDMA_QP_PARA_QKEY_VALID;
2348 } 2343 }
2349 if (attr_mask & IB_QP_AV) { 2344 if (attr_mask & IB_QP_AV) {
2350 status = ocrdma_set_av_params(qp, cmd, attrs); 2345 status = ocrdma_set_av_params(qp, cmd, attrs, attr_mask);
2351 if (status) 2346 if (status)
2352 return status; 2347 return status;
2353 } else if (qp->qp_type == IB_QPT_GSI || qp->qp_type == IB_QPT_UD) { 2348 } else if (qp->qp_type == IB_QPT_GSI || qp->qp_type == IB_QPT_UD) {
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
index 256a06bc0b68..b0b2257b8e04 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
@@ -388,6 +388,15 @@ static void ocrdma_remove_sysfiles(struct ocrdma_dev *dev)
388 device_remove_file(&dev->ibdev.dev, ocrdma_attributes[i]); 388 device_remove_file(&dev->ibdev.dev, ocrdma_attributes[i]);
389} 389}
390 390
391static void ocrdma_add_default_sgid(struct ocrdma_dev *dev)
392{
393 /* GID Index 0 - Invariant manufacturer-assigned EUI-64 */
394 union ib_gid *sgid = &dev->sgid_tbl[0];
395
396 sgid->global.subnet_prefix = cpu_to_be64(0xfe80000000000000LL);
397 ocrdma_get_guid(dev, &sgid->raw[8]);
398}
399
391static void ocrdma_init_ipv4_gids(struct ocrdma_dev *dev, 400static void ocrdma_init_ipv4_gids(struct ocrdma_dev *dev,
392 struct net_device *net) 401 struct net_device *net)
393{ 402{
@@ -434,6 +443,7 @@ static void ocrdma_init_gid_table(struct ocrdma_dev *dev)
434 rdma_vlan_dev_real_dev(net_dev) : net_dev; 443 rdma_vlan_dev_real_dev(net_dev) : net_dev;
435 444
436 if (real_dev == dev->nic_info.netdev) { 445 if (real_dev == dev->nic_info.netdev) {
446 ocrdma_add_default_sgid(dev);
437 ocrdma_init_ipv4_gids(dev, net_dev); 447 ocrdma_init_ipv4_gids(dev, net_dev);
438 ocrdma_init_ipv6_gids(dev, net_dev); 448 ocrdma_init_ipv6_gids(dev, net_dev);
439 } 449 }
@@ -646,8 +656,10 @@ static int __init ocrdma_init_module(void)
646 return 0; 656 return 0;
647 657
648err_be_reg: 658err_be_reg:
659#if IS_ENABLED(CONFIG_IPV6)
649 ocrdma_unregister_inet6addr_notifier(); 660 ocrdma_unregister_inet6addr_notifier();
650err_notifier6: 661err_notifier6:
662#endif
651 ocrdma_unregister_inetaddr_notifier(); 663 ocrdma_unregister_inetaddr_notifier();
652 return status; 664 return status;
653} 665}
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_sli.h b/drivers/infiniband/hw/ocrdma/ocrdma_sli.h
index 904989ec5eaa..4e036480c1a8 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_sli.h
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_sli.h
@@ -28,8 +28,6 @@
28#ifndef __OCRDMA_SLI_H__ 28#ifndef __OCRDMA_SLI_H__
29#define __OCRDMA_SLI_H__ 29#define __OCRDMA_SLI_H__
30 30
31#define Bit(_b) (1 << (_b))
32
33enum { 31enum {
34 OCRDMA_ASIC_GEN_SKH_R = 0x04, 32 OCRDMA_ASIC_GEN_SKH_R = 0x04,
35 OCRDMA_ASIC_GEN_LANCER = 0x0B 33 OCRDMA_ASIC_GEN_LANCER = 0x0B
@@ -103,7 +101,7 @@ enum {
103 QTYPE_MCCQ = 3 101 QTYPE_MCCQ = 3
104}; 102};
105 103
106#define OCRDMA_MAX_SGID (8) 104#define OCRDMA_MAX_SGID 8
107 105
108#define OCRDMA_MAX_QP 2048 106#define OCRDMA_MAX_QP 2048
109#define OCRDMA_MAX_CQ 2048 107#define OCRDMA_MAX_CQ 2048
@@ -128,33 +126,33 @@ enum {
128#define OCRDMA_DB_CQ_RING_ID_EXT_MASK 0x0C00 /* bits 10-11 of qid at 12-11 */ 126#define OCRDMA_DB_CQ_RING_ID_EXT_MASK 0x0C00 /* bits 10-11 of qid at 12-11 */
129/* qid #2 msbits at 12-11 */ 127/* qid #2 msbits at 12-11 */
130#define OCRDMA_DB_CQ_RING_ID_EXT_MASK_SHIFT 0x1 128#define OCRDMA_DB_CQ_RING_ID_EXT_MASK_SHIFT 0x1
131#define OCRDMA_DB_CQ_NUM_POPPED_SHIFT (16) /* bits 16 - 28 */ 129#define OCRDMA_DB_CQ_NUM_POPPED_SHIFT 16 /* bits 16 - 28 */
132/* Rearm bit */ 130/* Rearm bit */
133#define OCRDMA_DB_CQ_REARM_SHIFT (29) /* bit 29 */ 131#define OCRDMA_DB_CQ_REARM_SHIFT 29 /* bit 29 */
134/* solicited bit */ 132/* solicited bit */
135#define OCRDMA_DB_CQ_SOLICIT_SHIFT (31) /* bit 31 */ 133#define OCRDMA_DB_CQ_SOLICIT_SHIFT 31 /* bit 31 */
136 134
137#define OCRDMA_EQ_ID_MASK 0x1FF /* bits 0 - 8 */ 135#define OCRDMA_EQ_ID_MASK 0x1FF /* bits 0 - 8 */
138#define OCRDMA_EQ_ID_EXT_MASK 0x3e00 /* bits 9-13 */ 136#define OCRDMA_EQ_ID_EXT_MASK 0x3e00 /* bits 9-13 */
139#define OCRDMA_EQ_ID_EXT_MASK_SHIFT (2) /* qid bits 9-13 at 11-15 */ 137#define OCRDMA_EQ_ID_EXT_MASK_SHIFT 2 /* qid bits 9-13 at 11-15 */
140 138
141/* Clear the interrupt for this eq */ 139/* Clear the interrupt for this eq */
142#define OCRDMA_EQ_CLR_SHIFT (9) /* bit 9 */ 140#define OCRDMA_EQ_CLR_SHIFT 9 /* bit 9 */
143/* Must be 1 */ 141/* Must be 1 */
144#define OCRDMA_EQ_TYPE_SHIFT (10) /* bit 10 */ 142#define OCRDMA_EQ_TYPE_SHIFT 10 /* bit 10 */
145/* Number of event entries processed */ 143/* Number of event entries processed */
146#define OCRDMA_NUM_EQE_SHIFT (16) /* bits 16 - 28 */ 144#define OCRDMA_NUM_EQE_SHIFT 16 /* bits 16 - 28 */
147/* Rearm bit */ 145/* Rearm bit */
148#define OCRDMA_REARM_SHIFT (29) /* bit 29 */ 146#define OCRDMA_REARM_SHIFT 29 /* bit 29 */
149 147
150#define OCRDMA_MQ_ID_MASK 0x7FF /* bits 0 - 10 */ 148#define OCRDMA_MQ_ID_MASK 0x7FF /* bits 0 - 10 */
151/* Number of entries posted */ 149/* Number of entries posted */
152#define OCRDMA_MQ_NUM_MQE_SHIFT (16) /* bits 16 - 29 */ 150#define OCRDMA_MQ_NUM_MQE_SHIFT 16 /* bits 16 - 29 */
153 151
154#define OCRDMA_MIN_HPAGE_SIZE (4096) 152#define OCRDMA_MIN_HPAGE_SIZE 4096
155 153
156#define OCRDMA_MIN_Q_PAGE_SIZE (4096) 154#define OCRDMA_MIN_Q_PAGE_SIZE 4096
157#define OCRDMA_MAX_Q_PAGES (8) 155#define OCRDMA_MAX_Q_PAGES 8
158 156
159#define OCRDMA_SLI_ASIC_ID_OFFSET 0x9C 157#define OCRDMA_SLI_ASIC_ID_OFFSET 0x9C
160#define OCRDMA_SLI_ASIC_REV_MASK 0x000000FF 158#define OCRDMA_SLI_ASIC_REV_MASK 0x000000FF
@@ -170,14 +168,14 @@ enum {
170# 6: 256K Bytes 168# 6: 256K Bytes
171# 7: 512K Bytes 169# 7: 512K Bytes
172*/ 170*/
173#define OCRDMA_MAX_Q_PAGE_SIZE_CNT (8) 171#define OCRDMA_MAX_Q_PAGE_SIZE_CNT 8
174#define OCRDMA_Q_PAGE_BASE_SIZE (OCRDMA_MIN_Q_PAGE_SIZE * OCRDMA_MAX_Q_PAGES) 172#define OCRDMA_Q_PAGE_BASE_SIZE (OCRDMA_MIN_Q_PAGE_SIZE * OCRDMA_MAX_Q_PAGES)
175 173
176#define MAX_OCRDMA_QP_PAGES (8) 174#define MAX_OCRDMA_QP_PAGES 8
177#define OCRDMA_MAX_WQE_MEM_SIZE (MAX_OCRDMA_QP_PAGES * OCRDMA_MIN_HQ_PAGE_SIZE) 175#define OCRDMA_MAX_WQE_MEM_SIZE (MAX_OCRDMA_QP_PAGES * OCRDMA_MIN_HQ_PAGE_SIZE)
178 176
179#define OCRDMA_CREATE_CQ_MAX_PAGES (4) 177#define OCRDMA_CREATE_CQ_MAX_PAGES 4
180#define OCRDMA_DPP_CQE_SIZE (4) 178#define OCRDMA_DPP_CQE_SIZE 4
181 179
182#define OCRDMA_GEN2_MAX_CQE 1024 180#define OCRDMA_GEN2_MAX_CQE 1024
183#define OCRDMA_GEN2_CQ_PAGE_SIZE 4096 181#define OCRDMA_GEN2_CQ_PAGE_SIZE 4096
@@ -238,7 +236,7 @@ struct ocrdma_mqe_sge {
238 236
239enum { 237enum {
240 OCRDMA_MQE_HDR_EMB_SHIFT = 0, 238 OCRDMA_MQE_HDR_EMB_SHIFT = 0,
241 OCRDMA_MQE_HDR_EMB_MASK = Bit(0), 239 OCRDMA_MQE_HDR_EMB_MASK = BIT(0),
242 OCRDMA_MQE_HDR_SGE_CNT_SHIFT = 3, 240 OCRDMA_MQE_HDR_SGE_CNT_SHIFT = 3,
243 OCRDMA_MQE_HDR_SGE_CNT_MASK = 0x1F << OCRDMA_MQE_HDR_SGE_CNT_SHIFT, 241 OCRDMA_MQE_HDR_SGE_CNT_MASK = 0x1F << OCRDMA_MQE_HDR_SGE_CNT_SHIFT,
244 OCRDMA_MQE_HDR_SPECIAL_SHIFT = 24, 242 OCRDMA_MQE_HDR_SPECIAL_SHIFT = 24,
@@ -292,7 +290,7 @@ struct ocrdma_pa {
292 u32 hi; 290 u32 hi;
293}; 291};
294 292
295#define MAX_OCRDMA_EQ_PAGES (8) 293#define MAX_OCRDMA_EQ_PAGES 8
296struct ocrdma_create_eq_req { 294struct ocrdma_create_eq_req {
297 struct ocrdma_mbx_hdr req; 295 struct ocrdma_mbx_hdr req;
298 u32 num_pages; 296 u32 num_pages;
@@ -304,7 +302,7 @@ struct ocrdma_create_eq_req {
304}; 302};
305 303
306enum { 304enum {
307 OCRDMA_CREATE_EQ_VALID = Bit(29), 305 OCRDMA_CREATE_EQ_VALID = BIT(29),
308 OCRDMA_CREATE_EQ_CNT_SHIFT = 26, 306 OCRDMA_CREATE_EQ_CNT_SHIFT = 26,
309 OCRDMA_CREATE_CQ_DELAY_SHIFT = 13, 307 OCRDMA_CREATE_CQ_DELAY_SHIFT = 13,
310}; 308};
@@ -314,7 +312,7 @@ struct ocrdma_create_eq_rsp {
314 u32 vector_eqid; 312 u32 vector_eqid;
315}; 313};
316 314
317#define OCRDMA_EQ_MINOR_OTHER (0x1) 315#define OCRDMA_EQ_MINOR_OTHER 0x1
318 316
319enum { 317enum {
320 OCRDMA_MCQE_STATUS_SHIFT = 0, 318 OCRDMA_MCQE_STATUS_SHIFT = 0,
@@ -322,13 +320,13 @@ enum {
322 OCRDMA_MCQE_ESTATUS_SHIFT = 16, 320 OCRDMA_MCQE_ESTATUS_SHIFT = 16,
323 OCRDMA_MCQE_ESTATUS_MASK = 0xFFFF << OCRDMA_MCQE_ESTATUS_SHIFT, 321 OCRDMA_MCQE_ESTATUS_MASK = 0xFFFF << OCRDMA_MCQE_ESTATUS_SHIFT,
324 OCRDMA_MCQE_CONS_SHIFT = 27, 322 OCRDMA_MCQE_CONS_SHIFT = 27,
325 OCRDMA_MCQE_CONS_MASK = Bit(27), 323 OCRDMA_MCQE_CONS_MASK = BIT(27),
326 OCRDMA_MCQE_CMPL_SHIFT = 28, 324 OCRDMA_MCQE_CMPL_SHIFT = 28,
327 OCRDMA_MCQE_CMPL_MASK = Bit(28), 325 OCRDMA_MCQE_CMPL_MASK = BIT(28),
328 OCRDMA_MCQE_AE_SHIFT = 30, 326 OCRDMA_MCQE_AE_SHIFT = 30,
329 OCRDMA_MCQE_AE_MASK = Bit(30), 327 OCRDMA_MCQE_AE_MASK = BIT(30),
330 OCRDMA_MCQE_VALID_SHIFT = 31, 328 OCRDMA_MCQE_VALID_SHIFT = 31,
331 OCRDMA_MCQE_VALID_MASK = Bit(31) 329 OCRDMA_MCQE_VALID_MASK = BIT(31)
332}; 330};
333 331
334struct ocrdma_mcqe { 332struct ocrdma_mcqe {
@@ -339,13 +337,13 @@ struct ocrdma_mcqe {
339}; 337};
340 338
341enum { 339enum {
342 OCRDMA_AE_MCQE_QPVALID = Bit(31), 340 OCRDMA_AE_MCQE_QPVALID = BIT(31),
343 OCRDMA_AE_MCQE_QPID_MASK = 0xFFFF, 341 OCRDMA_AE_MCQE_QPID_MASK = 0xFFFF,
344 342
345 OCRDMA_AE_MCQE_CQVALID = Bit(31), 343 OCRDMA_AE_MCQE_CQVALID = BIT(31),
346 OCRDMA_AE_MCQE_CQID_MASK = 0xFFFF, 344 OCRDMA_AE_MCQE_CQID_MASK = 0xFFFF,
347 OCRDMA_AE_MCQE_VALID = Bit(31), 345 OCRDMA_AE_MCQE_VALID = BIT(31),
348 OCRDMA_AE_MCQE_AE = Bit(30), 346 OCRDMA_AE_MCQE_AE = BIT(30),
349 OCRDMA_AE_MCQE_EVENT_TYPE_SHIFT = 16, 347 OCRDMA_AE_MCQE_EVENT_TYPE_SHIFT = 16,
350 OCRDMA_AE_MCQE_EVENT_TYPE_MASK = 348 OCRDMA_AE_MCQE_EVENT_TYPE_MASK =
351 0xFF << OCRDMA_AE_MCQE_EVENT_TYPE_SHIFT, 349 0xFF << OCRDMA_AE_MCQE_EVENT_TYPE_SHIFT,
@@ -386,9 +384,9 @@ enum {
386 OCRDMA_AE_MPA_MCQE_EVENT_TYPE_MASK = 0xFF << 384 OCRDMA_AE_MPA_MCQE_EVENT_TYPE_MASK = 0xFF <<
387 OCRDMA_AE_MPA_MCQE_EVENT_TYPE_SHIFT, 385 OCRDMA_AE_MPA_MCQE_EVENT_TYPE_SHIFT,
388 OCRDMA_AE_MPA_MCQE_EVENT_AE_SHIFT = 30, 386 OCRDMA_AE_MPA_MCQE_EVENT_AE_SHIFT = 30,
389 OCRDMA_AE_MPA_MCQE_EVENT_AE_MASK = Bit(30), 387 OCRDMA_AE_MPA_MCQE_EVENT_AE_MASK = BIT(30),
390 OCRDMA_AE_MPA_MCQE_EVENT_VALID_SHIFT = 31, 388 OCRDMA_AE_MPA_MCQE_EVENT_VALID_SHIFT = 31,
391 OCRDMA_AE_MPA_MCQE_EVENT_VALID_MASK = Bit(31) 389 OCRDMA_AE_MPA_MCQE_EVENT_VALID_MASK = BIT(31)
392}; 390};
393 391
394struct ocrdma_ae_mpa_mcqe { 392struct ocrdma_ae_mpa_mcqe {
@@ -412,9 +410,9 @@ enum {
412 OCRDMA_AE_QP_MCQE_EVENT_TYPE_MASK = 0xFF << 410 OCRDMA_AE_QP_MCQE_EVENT_TYPE_MASK = 0xFF <<
413 OCRDMA_AE_QP_MCQE_EVENT_TYPE_SHIFT, 411 OCRDMA_AE_QP_MCQE_EVENT_TYPE_SHIFT,
414 OCRDMA_AE_QP_MCQE_EVENT_AE_SHIFT = 30, 412 OCRDMA_AE_QP_MCQE_EVENT_AE_SHIFT = 30,
415 OCRDMA_AE_QP_MCQE_EVENT_AE_MASK = Bit(30), 413 OCRDMA_AE_QP_MCQE_EVENT_AE_MASK = BIT(30),
416 OCRDMA_AE_QP_MCQE_EVENT_VALID_SHIFT = 31, 414 OCRDMA_AE_QP_MCQE_EVENT_VALID_SHIFT = 31,
417 OCRDMA_AE_QP_MCQE_EVENT_VALID_MASK = Bit(31) 415 OCRDMA_AE_QP_MCQE_EVENT_VALID_MASK = BIT(31)
418}; 416};
419 417
420struct ocrdma_ae_qp_mcqe { 418struct ocrdma_ae_qp_mcqe {
@@ -449,9 +447,9 @@ enum OCRDMA_ASYNC_EVENT_TYPE {
449/* mailbox command request and responses */ 447/* mailbox command request and responses */
450enum { 448enum {
451 OCRDMA_MBX_QUERY_CFG_CQ_OVERFLOW_SHIFT = 2, 449 OCRDMA_MBX_QUERY_CFG_CQ_OVERFLOW_SHIFT = 2,
452 OCRDMA_MBX_QUERY_CFG_CQ_OVERFLOW_MASK = Bit(2), 450 OCRDMA_MBX_QUERY_CFG_CQ_OVERFLOW_MASK = BIT(2),
453 OCRDMA_MBX_QUERY_CFG_SRQ_SUPPORTED_SHIFT = 3, 451 OCRDMA_MBX_QUERY_CFG_SRQ_SUPPORTED_SHIFT = 3,
454 OCRDMA_MBX_QUERY_CFG_SRQ_SUPPORTED_MASK = Bit(3), 452 OCRDMA_MBX_QUERY_CFG_SRQ_SUPPORTED_MASK = BIT(3),
455 OCRDMA_MBX_QUERY_CFG_MAX_QP_SHIFT = 8, 453 OCRDMA_MBX_QUERY_CFG_MAX_QP_SHIFT = 8,
456 OCRDMA_MBX_QUERY_CFG_MAX_QP_MASK = 0xFFFFFF << 454 OCRDMA_MBX_QUERY_CFG_MAX_QP_MASK = 0xFFFFFF <<
457 OCRDMA_MBX_QUERY_CFG_MAX_QP_SHIFT, 455 OCRDMA_MBX_QUERY_CFG_MAX_QP_SHIFT,
@@ -672,9 +670,9 @@ enum {
672 OCRDMA_CREATE_CQ_PAGE_SIZE_MASK = 0xFF, 670 OCRDMA_CREATE_CQ_PAGE_SIZE_MASK = 0xFF,
673 671
674 OCRDMA_CREATE_CQ_COALESCWM_SHIFT = 12, 672 OCRDMA_CREATE_CQ_COALESCWM_SHIFT = 12,
675 OCRDMA_CREATE_CQ_COALESCWM_MASK = Bit(13) | Bit(12), 673 OCRDMA_CREATE_CQ_COALESCWM_MASK = BIT(13) | BIT(12),
676 OCRDMA_CREATE_CQ_FLAGS_NODELAY = Bit(14), 674 OCRDMA_CREATE_CQ_FLAGS_NODELAY = BIT(14),
677 OCRDMA_CREATE_CQ_FLAGS_AUTO_VALID = Bit(15), 675 OCRDMA_CREATE_CQ_FLAGS_AUTO_VALID = BIT(15),
678 676
679 OCRDMA_CREATE_CQ_EQ_ID_MASK = 0xFFFF, 677 OCRDMA_CREATE_CQ_EQ_ID_MASK = 0xFFFF,
680 OCRDMA_CREATE_CQ_CQE_COUNT_MASK = 0xFFFF 678 OCRDMA_CREATE_CQ_CQE_COUNT_MASK = 0xFFFF
@@ -687,8 +685,8 @@ enum {
687 OCRDMA_CREATE_CQ_EQID_SHIFT = 22, 685 OCRDMA_CREATE_CQ_EQID_SHIFT = 22,
688 686
689 OCRDMA_CREATE_CQ_CNT_SHIFT = 27, 687 OCRDMA_CREATE_CQ_CNT_SHIFT = 27,
690 OCRDMA_CREATE_CQ_FLAGS_VALID = Bit(29), 688 OCRDMA_CREATE_CQ_FLAGS_VALID = BIT(29),
691 OCRDMA_CREATE_CQ_FLAGS_EVENTABLE = Bit(31), 689 OCRDMA_CREATE_CQ_FLAGS_EVENTABLE = BIT(31),
692 OCRDMA_CREATE_CQ_DEF_FLAGS = OCRDMA_CREATE_CQ_FLAGS_VALID | 690 OCRDMA_CREATE_CQ_DEF_FLAGS = OCRDMA_CREATE_CQ_FLAGS_VALID |
693 OCRDMA_CREATE_CQ_FLAGS_EVENTABLE | 691 OCRDMA_CREATE_CQ_FLAGS_EVENTABLE |
694 OCRDMA_CREATE_CQ_FLAGS_NODELAY 692 OCRDMA_CREATE_CQ_FLAGS_NODELAY
@@ -731,8 +729,8 @@ enum {
731 OCRDMA_CREATE_MQ_V0_CQ_ID_SHIFT = 22, 729 OCRDMA_CREATE_MQ_V0_CQ_ID_SHIFT = 22,
732 OCRDMA_CREATE_MQ_CQ_ID_SHIFT = 16, 730 OCRDMA_CREATE_MQ_CQ_ID_SHIFT = 16,
733 OCRDMA_CREATE_MQ_RING_SIZE_SHIFT = 16, 731 OCRDMA_CREATE_MQ_RING_SIZE_SHIFT = 16,
734 OCRDMA_CREATE_MQ_VALID = Bit(31), 732 OCRDMA_CREATE_MQ_VALID = BIT(31),
735 OCRDMA_CREATE_MQ_ASYNC_CQ_VALID = Bit(0) 733 OCRDMA_CREATE_MQ_ASYNC_CQ_VALID = BIT(0)
736}; 734};
737 735
738struct ocrdma_create_mq_req { 736struct ocrdma_create_mq_req {
@@ -783,7 +781,7 @@ enum {
783 OCRDMA_CREATE_QP_REQ_SQ_PAGE_SIZE_SHIFT = 16, 781 OCRDMA_CREATE_QP_REQ_SQ_PAGE_SIZE_SHIFT = 16,
784 OCRDMA_CREATE_QP_REQ_RQ_PAGE_SIZE_SHIFT = 19, 782 OCRDMA_CREATE_QP_REQ_RQ_PAGE_SIZE_SHIFT = 19,
785 OCRDMA_CREATE_QP_REQ_QPT_SHIFT = 29, 783 OCRDMA_CREATE_QP_REQ_QPT_SHIFT = 29,
786 OCRDMA_CREATE_QP_REQ_QPT_MASK = Bit(31) | Bit(30) | Bit(29), 784 OCRDMA_CREATE_QP_REQ_QPT_MASK = BIT(31) | BIT(30) | BIT(29),
787 785
788 OCRDMA_CREATE_QP_REQ_MAX_RQE_SHIFT = 0, 786 OCRDMA_CREATE_QP_REQ_MAX_RQE_SHIFT = 0,
789 OCRDMA_CREATE_QP_REQ_MAX_RQE_MASK = 0xFFFF, 787 OCRDMA_CREATE_QP_REQ_MAX_RQE_MASK = 0xFFFF,
@@ -798,23 +796,23 @@ enum {
798 OCRDMA_CREATE_QP_REQ_MAX_SGE_SEND_SHIFT, 796 OCRDMA_CREATE_QP_REQ_MAX_SGE_SEND_SHIFT,
799 797
800 OCRDMA_CREATE_QP_REQ_FMR_EN_SHIFT = 0, 798 OCRDMA_CREATE_QP_REQ_FMR_EN_SHIFT = 0,
801 OCRDMA_CREATE_QP_REQ_FMR_EN_MASK = Bit(0), 799 OCRDMA_CREATE_QP_REQ_FMR_EN_MASK = BIT(0),
802 OCRDMA_CREATE_QP_REQ_ZERO_LKEYEN_SHIFT = 1, 800 OCRDMA_CREATE_QP_REQ_ZERO_LKEYEN_SHIFT = 1,
803 OCRDMA_CREATE_QP_REQ_ZERO_LKEYEN_MASK = Bit(1), 801 OCRDMA_CREATE_QP_REQ_ZERO_LKEYEN_MASK = BIT(1),
804 OCRDMA_CREATE_QP_REQ_BIND_MEMWIN_SHIFT = 2, 802 OCRDMA_CREATE_QP_REQ_BIND_MEMWIN_SHIFT = 2,
805 OCRDMA_CREATE_QP_REQ_BIND_MEMWIN_MASK = Bit(2), 803 OCRDMA_CREATE_QP_REQ_BIND_MEMWIN_MASK = BIT(2),
806 OCRDMA_CREATE_QP_REQ_INB_WREN_SHIFT = 3, 804 OCRDMA_CREATE_QP_REQ_INB_WREN_SHIFT = 3,
807 OCRDMA_CREATE_QP_REQ_INB_WREN_MASK = Bit(3), 805 OCRDMA_CREATE_QP_REQ_INB_WREN_MASK = BIT(3),
808 OCRDMA_CREATE_QP_REQ_INB_RDEN_SHIFT = 4, 806 OCRDMA_CREATE_QP_REQ_INB_RDEN_SHIFT = 4,
809 OCRDMA_CREATE_QP_REQ_INB_RDEN_MASK = Bit(4), 807 OCRDMA_CREATE_QP_REQ_INB_RDEN_MASK = BIT(4),
810 OCRDMA_CREATE_QP_REQ_USE_SRQ_SHIFT = 5, 808 OCRDMA_CREATE_QP_REQ_USE_SRQ_SHIFT = 5,
811 OCRDMA_CREATE_QP_REQ_USE_SRQ_MASK = Bit(5), 809 OCRDMA_CREATE_QP_REQ_USE_SRQ_MASK = BIT(5),
812 OCRDMA_CREATE_QP_REQ_ENABLE_RPIR_SHIFT = 6, 810 OCRDMA_CREATE_QP_REQ_ENABLE_RPIR_SHIFT = 6,
813 OCRDMA_CREATE_QP_REQ_ENABLE_RPIR_MASK = Bit(6), 811 OCRDMA_CREATE_QP_REQ_ENABLE_RPIR_MASK = BIT(6),
814 OCRDMA_CREATE_QP_REQ_ENABLE_DPP_SHIFT = 7, 812 OCRDMA_CREATE_QP_REQ_ENABLE_DPP_SHIFT = 7,
815 OCRDMA_CREATE_QP_REQ_ENABLE_DPP_MASK = Bit(7), 813 OCRDMA_CREATE_QP_REQ_ENABLE_DPP_MASK = BIT(7),
816 OCRDMA_CREATE_QP_REQ_ENABLE_DPP_CQ_SHIFT = 8, 814 OCRDMA_CREATE_QP_REQ_ENABLE_DPP_CQ_SHIFT = 8,
817 OCRDMA_CREATE_QP_REQ_ENABLE_DPP_CQ_MASK = Bit(8), 815 OCRDMA_CREATE_QP_REQ_ENABLE_DPP_CQ_MASK = BIT(8),
818 OCRDMA_CREATE_QP_REQ_MAX_SGE_RECV_SHIFT = 16, 816 OCRDMA_CREATE_QP_REQ_MAX_SGE_RECV_SHIFT = 16,
819 OCRDMA_CREATE_QP_REQ_MAX_SGE_RECV_MASK = 0xFFFF << 817 OCRDMA_CREATE_QP_REQ_MAX_SGE_RECV_MASK = 0xFFFF <<
820 OCRDMA_CREATE_QP_REQ_MAX_SGE_RECV_SHIFT, 818 OCRDMA_CREATE_QP_REQ_MAX_SGE_RECV_SHIFT,
@@ -927,7 +925,7 @@ enum {
927 OCRDMA_CREATE_QP_RSP_SQ_ID_MASK = 0xFFFF << 925 OCRDMA_CREATE_QP_RSP_SQ_ID_MASK = 0xFFFF <<
928 OCRDMA_CREATE_QP_RSP_SQ_ID_SHIFT, 926 OCRDMA_CREATE_QP_RSP_SQ_ID_SHIFT,
929 927
930 OCRDMA_CREATE_QP_RSP_DPP_ENABLED_MASK = Bit(0), 928 OCRDMA_CREATE_QP_RSP_DPP_ENABLED_MASK = BIT(0),
931 OCRDMA_CREATE_QP_RSP_DPP_PAGE_OFFSET_SHIFT = 1, 929 OCRDMA_CREATE_QP_RSP_DPP_PAGE_OFFSET_SHIFT = 1,
932 OCRDMA_CREATE_QP_RSP_DPP_PAGE_OFFSET_MASK = 0x7FFF << 930 OCRDMA_CREATE_QP_RSP_DPP_PAGE_OFFSET_MASK = 0x7FFF <<
933 OCRDMA_CREATE_QP_RSP_DPP_PAGE_OFFSET_SHIFT, 931 OCRDMA_CREATE_QP_RSP_DPP_PAGE_OFFSET_SHIFT,
@@ -964,38 +962,38 @@ enum {
964 OCRDMA_MODIFY_QP_ID_SHIFT = 0, 962 OCRDMA_MODIFY_QP_ID_SHIFT = 0,
965 OCRDMA_MODIFY_QP_ID_MASK = 0xFFFF, 963 OCRDMA_MODIFY_QP_ID_MASK = 0xFFFF,
966 964
967 OCRDMA_QP_PARA_QPS_VALID = Bit(0), 965 OCRDMA_QP_PARA_QPS_VALID = BIT(0),
968 OCRDMA_QP_PARA_SQD_ASYNC_VALID = Bit(1), 966 OCRDMA_QP_PARA_SQD_ASYNC_VALID = BIT(1),
969 OCRDMA_QP_PARA_PKEY_VALID = Bit(2), 967 OCRDMA_QP_PARA_PKEY_VALID = BIT(2),
970 OCRDMA_QP_PARA_QKEY_VALID = Bit(3), 968 OCRDMA_QP_PARA_QKEY_VALID = BIT(3),
971 OCRDMA_QP_PARA_PMTU_VALID = Bit(4), 969 OCRDMA_QP_PARA_PMTU_VALID = BIT(4),
972 OCRDMA_QP_PARA_ACK_TO_VALID = Bit(5), 970 OCRDMA_QP_PARA_ACK_TO_VALID = BIT(5),
973 OCRDMA_QP_PARA_RETRY_CNT_VALID = Bit(6), 971 OCRDMA_QP_PARA_RETRY_CNT_VALID = BIT(6),
974 OCRDMA_QP_PARA_RRC_VALID = Bit(7), 972 OCRDMA_QP_PARA_RRC_VALID = BIT(7),
975 OCRDMA_QP_PARA_RQPSN_VALID = Bit(8), 973 OCRDMA_QP_PARA_RQPSN_VALID = BIT(8),
976 OCRDMA_QP_PARA_MAX_IRD_VALID = Bit(9), 974 OCRDMA_QP_PARA_MAX_IRD_VALID = BIT(9),
977 OCRDMA_QP_PARA_MAX_ORD_VALID = Bit(10), 975 OCRDMA_QP_PARA_MAX_ORD_VALID = BIT(10),
978 OCRDMA_QP_PARA_RNT_VALID = Bit(11), 976 OCRDMA_QP_PARA_RNT_VALID = BIT(11),
979 OCRDMA_QP_PARA_SQPSN_VALID = Bit(12), 977 OCRDMA_QP_PARA_SQPSN_VALID = BIT(12),
980 OCRDMA_QP_PARA_DST_QPN_VALID = Bit(13), 978 OCRDMA_QP_PARA_DST_QPN_VALID = BIT(13),
981 OCRDMA_QP_PARA_MAX_WQE_VALID = Bit(14), 979 OCRDMA_QP_PARA_MAX_WQE_VALID = BIT(14),
982 OCRDMA_QP_PARA_MAX_RQE_VALID = Bit(15), 980 OCRDMA_QP_PARA_MAX_RQE_VALID = BIT(15),
983 OCRDMA_QP_PARA_SGE_SEND_VALID = Bit(16), 981 OCRDMA_QP_PARA_SGE_SEND_VALID = BIT(16),
984 OCRDMA_QP_PARA_SGE_RECV_VALID = Bit(17), 982 OCRDMA_QP_PARA_SGE_RECV_VALID = BIT(17),
985 OCRDMA_QP_PARA_SGE_WR_VALID = Bit(18), 983 OCRDMA_QP_PARA_SGE_WR_VALID = BIT(18),
986 OCRDMA_QP_PARA_INB_RDEN_VALID = Bit(19), 984 OCRDMA_QP_PARA_INB_RDEN_VALID = BIT(19),
987 OCRDMA_QP_PARA_INB_WREN_VALID = Bit(20), 985 OCRDMA_QP_PARA_INB_WREN_VALID = BIT(20),
988 OCRDMA_QP_PARA_FLOW_LBL_VALID = Bit(21), 986 OCRDMA_QP_PARA_FLOW_LBL_VALID = BIT(21),
989 OCRDMA_QP_PARA_BIND_EN_VALID = Bit(22), 987 OCRDMA_QP_PARA_BIND_EN_VALID = BIT(22),
990 OCRDMA_QP_PARA_ZLKEY_EN_VALID = Bit(23), 988 OCRDMA_QP_PARA_ZLKEY_EN_VALID = BIT(23),
991 OCRDMA_QP_PARA_FMR_EN_VALID = Bit(24), 989 OCRDMA_QP_PARA_FMR_EN_VALID = BIT(24),
992 OCRDMA_QP_PARA_INBAT_EN_VALID = Bit(25), 990 OCRDMA_QP_PARA_INBAT_EN_VALID = BIT(25),
993 OCRDMA_QP_PARA_VLAN_EN_VALID = Bit(26), 991 OCRDMA_QP_PARA_VLAN_EN_VALID = BIT(26),
994 992
995 OCRDMA_MODIFY_QP_FLAGS_RD = Bit(0), 993 OCRDMA_MODIFY_QP_FLAGS_RD = BIT(0),
996 OCRDMA_MODIFY_QP_FLAGS_WR = Bit(1), 994 OCRDMA_MODIFY_QP_FLAGS_WR = BIT(1),
997 OCRDMA_MODIFY_QP_FLAGS_SEND = Bit(2), 995 OCRDMA_MODIFY_QP_FLAGS_SEND = BIT(2),
998 OCRDMA_MODIFY_QP_FLAGS_ATOMIC = Bit(3) 996 OCRDMA_MODIFY_QP_FLAGS_ATOMIC = BIT(3)
999}; 997};
1000 998
1001enum { 999enum {
@@ -1014,15 +1012,15 @@ enum {
1014 OCRDMA_QP_PARAMS_MAX_SGE_SEND_MASK = 0xFFFF << 1012 OCRDMA_QP_PARAMS_MAX_SGE_SEND_MASK = 0xFFFF <<
1015 OCRDMA_QP_PARAMS_MAX_SGE_SEND_SHIFT, 1013 OCRDMA_QP_PARAMS_MAX_SGE_SEND_SHIFT,
1016 1014
1017 OCRDMA_QP_PARAMS_FLAGS_FMR_EN = Bit(0), 1015 OCRDMA_QP_PARAMS_FLAGS_FMR_EN = BIT(0),
1018 OCRDMA_QP_PARAMS_FLAGS_LKEY_0_EN = Bit(1), 1016 OCRDMA_QP_PARAMS_FLAGS_LKEY_0_EN = BIT(1),
1019 OCRDMA_QP_PARAMS_FLAGS_BIND_MW_EN = Bit(2), 1017 OCRDMA_QP_PARAMS_FLAGS_BIND_MW_EN = BIT(2),
1020 OCRDMA_QP_PARAMS_FLAGS_INBWR_EN = Bit(3), 1018 OCRDMA_QP_PARAMS_FLAGS_INBWR_EN = BIT(3),
1021 OCRDMA_QP_PARAMS_FLAGS_INBRD_EN = Bit(4), 1019 OCRDMA_QP_PARAMS_FLAGS_INBRD_EN = BIT(4),
1022 OCRDMA_QP_PARAMS_STATE_SHIFT = 5, 1020 OCRDMA_QP_PARAMS_STATE_SHIFT = 5,
1023 OCRDMA_QP_PARAMS_STATE_MASK = Bit(5) | Bit(6) | Bit(7), 1021 OCRDMA_QP_PARAMS_STATE_MASK = BIT(5) | BIT(6) | BIT(7),
1024 OCRDMA_QP_PARAMS_FLAGS_SQD_ASYNC = Bit(8), 1022 OCRDMA_QP_PARAMS_FLAGS_SQD_ASYNC = BIT(8),
1025 OCRDMA_QP_PARAMS_FLAGS_INB_ATEN = Bit(9), 1023 OCRDMA_QP_PARAMS_FLAGS_INB_ATEN = BIT(9),
1026 OCRDMA_QP_PARAMS_MAX_SGE_RECV_SHIFT = 16, 1024 OCRDMA_QP_PARAMS_MAX_SGE_RECV_SHIFT = 16,
1027 OCRDMA_QP_PARAMS_MAX_SGE_RECV_MASK = 0xFFFF << 1025 OCRDMA_QP_PARAMS_MAX_SGE_RECV_MASK = 0xFFFF <<
1028 OCRDMA_QP_PARAMS_MAX_SGE_RECV_SHIFT, 1026 OCRDMA_QP_PARAMS_MAX_SGE_RECV_SHIFT,
@@ -1277,7 +1275,7 @@ struct ocrdma_alloc_pd {
1277}; 1275};
1278 1276
1279enum { 1277enum {
1280 OCRDMA_ALLOC_PD_RSP_DPP = Bit(16), 1278 OCRDMA_ALLOC_PD_RSP_DPP = BIT(16),
1281 OCRDMA_ALLOC_PD_RSP_DPP_PAGE_SHIFT = 20, 1279 OCRDMA_ALLOC_PD_RSP_DPP_PAGE_SHIFT = 20,
1282 OCRDMA_ALLOC_PD_RSP_PDID_MASK = 0xFFFF, 1280 OCRDMA_ALLOC_PD_RSP_PDID_MASK = 0xFFFF,
1283}; 1281};
@@ -1309,18 +1307,18 @@ enum {
1309 OCRDMA_ALLOC_LKEY_PD_ID_MASK = 0xFFFF, 1307 OCRDMA_ALLOC_LKEY_PD_ID_MASK = 0xFFFF,
1310 1308
1311 OCRDMA_ALLOC_LKEY_ADDR_CHECK_SHIFT = 0, 1309 OCRDMA_ALLOC_LKEY_ADDR_CHECK_SHIFT = 0,
1312 OCRDMA_ALLOC_LKEY_ADDR_CHECK_MASK = Bit(0), 1310 OCRDMA_ALLOC_LKEY_ADDR_CHECK_MASK = BIT(0),
1313 OCRDMA_ALLOC_LKEY_FMR_SHIFT = 1, 1311 OCRDMA_ALLOC_LKEY_FMR_SHIFT = 1,
1314 OCRDMA_ALLOC_LKEY_FMR_MASK = Bit(1), 1312 OCRDMA_ALLOC_LKEY_FMR_MASK = BIT(1),
1315 OCRDMA_ALLOC_LKEY_REMOTE_INV_SHIFT = 2, 1313 OCRDMA_ALLOC_LKEY_REMOTE_INV_SHIFT = 2,
1316 OCRDMA_ALLOC_LKEY_REMOTE_INV_MASK = Bit(2), 1314 OCRDMA_ALLOC_LKEY_REMOTE_INV_MASK = BIT(2),
1317 OCRDMA_ALLOC_LKEY_REMOTE_WR_SHIFT = 3, 1315 OCRDMA_ALLOC_LKEY_REMOTE_WR_SHIFT = 3,
1318 OCRDMA_ALLOC_LKEY_REMOTE_WR_MASK = Bit(3), 1316 OCRDMA_ALLOC_LKEY_REMOTE_WR_MASK = BIT(3),
1319 OCRDMA_ALLOC_LKEY_REMOTE_RD_SHIFT = 4, 1317 OCRDMA_ALLOC_LKEY_REMOTE_RD_SHIFT = 4,
1320 OCRDMA_ALLOC_LKEY_REMOTE_RD_MASK = Bit(4), 1318 OCRDMA_ALLOC_LKEY_REMOTE_RD_MASK = BIT(4),
1321 OCRDMA_ALLOC_LKEY_LOCAL_WR_SHIFT = 5, 1319 OCRDMA_ALLOC_LKEY_LOCAL_WR_SHIFT = 5,
1322 OCRDMA_ALLOC_LKEY_LOCAL_WR_MASK = Bit(5), 1320 OCRDMA_ALLOC_LKEY_LOCAL_WR_MASK = BIT(5),
1323 OCRDMA_ALLOC_LKEY_REMOTE_ATOMIC_MASK = Bit(6), 1321 OCRDMA_ALLOC_LKEY_REMOTE_ATOMIC_MASK = BIT(6),
1324 OCRDMA_ALLOC_LKEY_REMOTE_ATOMIC_SHIFT = 6, 1322 OCRDMA_ALLOC_LKEY_REMOTE_ATOMIC_SHIFT = 6,
1325 OCRDMA_ALLOC_LKEY_PBL_SIZE_SHIFT = 16, 1323 OCRDMA_ALLOC_LKEY_PBL_SIZE_SHIFT = 16,
1326 OCRDMA_ALLOC_LKEY_PBL_SIZE_MASK = 0xFFFF << 1324 OCRDMA_ALLOC_LKEY_PBL_SIZE_MASK = 0xFFFF <<
@@ -1379,21 +1377,21 @@ enum {
1379 OCRDMA_REG_NSMR_HPAGE_SIZE_MASK = 0xFF << 1377 OCRDMA_REG_NSMR_HPAGE_SIZE_MASK = 0xFF <<
1380 OCRDMA_REG_NSMR_HPAGE_SIZE_SHIFT, 1378 OCRDMA_REG_NSMR_HPAGE_SIZE_SHIFT,
1381 OCRDMA_REG_NSMR_BIND_MEMWIN_SHIFT = 24, 1379 OCRDMA_REG_NSMR_BIND_MEMWIN_SHIFT = 24,
1382 OCRDMA_REG_NSMR_BIND_MEMWIN_MASK = Bit(24), 1380 OCRDMA_REG_NSMR_BIND_MEMWIN_MASK = BIT(24),
1383 OCRDMA_REG_NSMR_ZB_SHIFT = 25, 1381 OCRDMA_REG_NSMR_ZB_SHIFT = 25,
1384 OCRDMA_REG_NSMR_ZB_SHIFT_MASK = Bit(25), 1382 OCRDMA_REG_NSMR_ZB_SHIFT_MASK = BIT(25),
1385 OCRDMA_REG_NSMR_REMOTE_INV_SHIFT = 26, 1383 OCRDMA_REG_NSMR_REMOTE_INV_SHIFT = 26,
1386 OCRDMA_REG_NSMR_REMOTE_INV_MASK = Bit(26), 1384 OCRDMA_REG_NSMR_REMOTE_INV_MASK = BIT(26),
1387 OCRDMA_REG_NSMR_REMOTE_WR_SHIFT = 27, 1385 OCRDMA_REG_NSMR_REMOTE_WR_SHIFT = 27,
1388 OCRDMA_REG_NSMR_REMOTE_WR_MASK = Bit(27), 1386 OCRDMA_REG_NSMR_REMOTE_WR_MASK = BIT(27),
1389 OCRDMA_REG_NSMR_REMOTE_RD_SHIFT = 28, 1387 OCRDMA_REG_NSMR_REMOTE_RD_SHIFT = 28,
1390 OCRDMA_REG_NSMR_REMOTE_RD_MASK = Bit(28), 1388 OCRDMA_REG_NSMR_REMOTE_RD_MASK = BIT(28),
1391 OCRDMA_REG_NSMR_LOCAL_WR_SHIFT = 29, 1389 OCRDMA_REG_NSMR_LOCAL_WR_SHIFT = 29,
1392 OCRDMA_REG_NSMR_LOCAL_WR_MASK = Bit(29), 1390 OCRDMA_REG_NSMR_LOCAL_WR_MASK = BIT(29),
1393 OCRDMA_REG_NSMR_REMOTE_ATOMIC_SHIFT = 30, 1391 OCRDMA_REG_NSMR_REMOTE_ATOMIC_SHIFT = 30,
1394 OCRDMA_REG_NSMR_REMOTE_ATOMIC_MASK = Bit(30), 1392 OCRDMA_REG_NSMR_REMOTE_ATOMIC_MASK = BIT(30),
1395 OCRDMA_REG_NSMR_LAST_SHIFT = 31, 1393 OCRDMA_REG_NSMR_LAST_SHIFT = 31,
1396 OCRDMA_REG_NSMR_LAST_MASK = Bit(31) 1394 OCRDMA_REG_NSMR_LAST_MASK = BIT(31)
1397}; 1395};
1398 1396
1399struct ocrdma_reg_nsmr { 1397struct ocrdma_reg_nsmr {
@@ -1420,7 +1418,7 @@ enum {
1420 OCRDMA_REG_NSMR_CONT_NUM_PBL_SHIFT, 1418 OCRDMA_REG_NSMR_CONT_NUM_PBL_SHIFT,
1421 1419
1422 OCRDMA_REG_NSMR_CONT_LAST_SHIFT = 31, 1420 OCRDMA_REG_NSMR_CONT_LAST_SHIFT = 31,
1423 OCRDMA_REG_NSMR_CONT_LAST_MASK = Bit(31) 1421 OCRDMA_REG_NSMR_CONT_LAST_MASK = BIT(31)
1424}; 1422};
1425 1423
1426struct ocrdma_reg_nsmr_cont { 1424struct ocrdma_reg_nsmr_cont {
@@ -1566,7 +1564,7 @@ struct ocrdma_delete_ah_tbl_rsp {
1566 1564
1567enum { 1565enum {
1568 OCRDMA_EQE_VALID_SHIFT = 0, 1566 OCRDMA_EQE_VALID_SHIFT = 0,
1569 OCRDMA_EQE_VALID_MASK = Bit(0), 1567 OCRDMA_EQE_VALID_MASK = BIT(0),
1570 OCRDMA_EQE_FOR_CQE_MASK = 0xFFFE, 1568 OCRDMA_EQE_FOR_CQE_MASK = 0xFFFE,
1571 OCRDMA_EQE_RESOURCE_ID_SHIFT = 16, 1569 OCRDMA_EQE_RESOURCE_ID_SHIFT = 16,
1572 OCRDMA_EQE_RESOURCE_ID_MASK = 0xFFFF << 1570 OCRDMA_EQE_RESOURCE_ID_MASK = 0xFFFF <<
@@ -1624,11 +1622,11 @@ enum {
1624 OCRDMA_CQE_UD_STATUS_MASK = 0x7 << OCRDMA_CQE_UD_STATUS_SHIFT, 1622 OCRDMA_CQE_UD_STATUS_MASK = 0x7 << OCRDMA_CQE_UD_STATUS_SHIFT,
1625 OCRDMA_CQE_STATUS_SHIFT = 16, 1623 OCRDMA_CQE_STATUS_SHIFT = 16,
1626 OCRDMA_CQE_STATUS_MASK = 0xFF << OCRDMA_CQE_STATUS_SHIFT, 1624 OCRDMA_CQE_STATUS_MASK = 0xFF << OCRDMA_CQE_STATUS_SHIFT,
1627 OCRDMA_CQE_VALID = Bit(31), 1625 OCRDMA_CQE_VALID = BIT(31),
1628 OCRDMA_CQE_INVALIDATE = Bit(30), 1626 OCRDMA_CQE_INVALIDATE = BIT(30),
1629 OCRDMA_CQE_QTYPE = Bit(29), 1627 OCRDMA_CQE_QTYPE = BIT(29),
1630 OCRDMA_CQE_IMM = Bit(28), 1628 OCRDMA_CQE_IMM = BIT(28),
1631 OCRDMA_CQE_WRITE_IMM = Bit(27), 1629 OCRDMA_CQE_WRITE_IMM = BIT(27),
1632 OCRDMA_CQE_QTYPE_SQ = 0, 1630 OCRDMA_CQE_QTYPE_SQ = 0,
1633 OCRDMA_CQE_QTYPE_RQ = 1, 1631 OCRDMA_CQE_QTYPE_RQ = 1,
1634 OCRDMA_CQE_SRCQP_MASK = 0xFFFFFF 1632 OCRDMA_CQE_SRCQP_MASK = 0xFFFFFF
@@ -1772,8 +1770,8 @@ struct ocrdma_grh {
1772 u16 rsvd; 1770 u16 rsvd;
1773} __packed; 1771} __packed;
1774 1772
1775#define OCRDMA_AV_VALID Bit(7) 1773#define OCRDMA_AV_VALID BIT(7)
1776#define OCRDMA_AV_VLAN_VALID Bit(1) 1774#define OCRDMA_AV_VLAN_VALID BIT(1)
1777 1775
1778struct ocrdma_av { 1776struct ocrdma_av {
1779 struct ocrdma_eth_vlan eth_hdr; 1777 struct ocrdma_eth_vlan eth_hdr;
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index e8b8569788c0..4c68305ee781 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -388,7 +388,7 @@ struct ib_ucontext *ocrdma_alloc_ucontext(struct ib_device *ibdev,
388 388
389 memset(&resp, 0, sizeof(resp)); 389 memset(&resp, 0, sizeof(resp));
390 resp.ah_tbl_len = ctx->ah_tbl.len; 390 resp.ah_tbl_len = ctx->ah_tbl.len;
391 resp.ah_tbl_page = ctx->ah_tbl.pa; 391 resp.ah_tbl_page = virt_to_phys(ctx->ah_tbl.va);
392 392
393 status = ocrdma_add_mmap(ctx, resp.ah_tbl_page, resp.ah_tbl_len); 393 status = ocrdma_add_mmap(ctx, resp.ah_tbl_page, resp.ah_tbl_len);
394 if (status) 394 if (status)
@@ -870,7 +870,7 @@ static int ocrdma_copy_cq_uresp(struct ocrdma_dev *dev, struct ocrdma_cq *cq,
870 uresp.page_size = PAGE_ALIGN(cq->len); 870 uresp.page_size = PAGE_ALIGN(cq->len);
871 uresp.num_pages = 1; 871 uresp.num_pages = 1;
872 uresp.max_hw_cqe = cq->max_hw_cqe; 872 uresp.max_hw_cqe = cq->max_hw_cqe;
873 uresp.page_addr[0] = cq->pa; 873 uresp.page_addr[0] = virt_to_phys(cq->va);
874 uresp.db_page_addr = ocrdma_get_db_addr(dev, uctx->cntxt_pd->id); 874 uresp.db_page_addr = ocrdma_get_db_addr(dev, uctx->cntxt_pd->id);
875 uresp.db_page_size = dev->nic_info.db_page_size; 875 uresp.db_page_size = dev->nic_info.db_page_size;
876 uresp.phase_change = cq->phase_change ? 1 : 0; 876 uresp.phase_change = cq->phase_change ? 1 : 0;
@@ -1123,13 +1123,13 @@ static int ocrdma_copy_qp_uresp(struct ocrdma_qp *qp,
1123 uresp.sq_dbid = qp->sq.dbid; 1123 uresp.sq_dbid = qp->sq.dbid;
1124 uresp.num_sq_pages = 1; 1124 uresp.num_sq_pages = 1;
1125 uresp.sq_page_size = PAGE_ALIGN(qp->sq.len); 1125 uresp.sq_page_size = PAGE_ALIGN(qp->sq.len);
1126 uresp.sq_page_addr[0] = qp->sq.pa; 1126 uresp.sq_page_addr[0] = virt_to_phys(qp->sq.va);
1127 uresp.num_wqe_allocated = qp->sq.max_cnt; 1127 uresp.num_wqe_allocated = qp->sq.max_cnt;
1128 if (!srq) { 1128 if (!srq) {
1129 uresp.rq_dbid = qp->rq.dbid; 1129 uresp.rq_dbid = qp->rq.dbid;
1130 uresp.num_rq_pages = 1; 1130 uresp.num_rq_pages = 1;
1131 uresp.rq_page_size = PAGE_ALIGN(qp->rq.len); 1131 uresp.rq_page_size = PAGE_ALIGN(qp->rq.len);
1132 uresp.rq_page_addr[0] = qp->rq.pa; 1132 uresp.rq_page_addr[0] = virt_to_phys(qp->rq.va);
1133 uresp.num_rqe_allocated = qp->rq.max_cnt; 1133 uresp.num_rqe_allocated = qp->rq.max_cnt;
1134 } 1134 }
1135 uresp.db_page_addr = usr_db; 1135 uresp.db_page_addr = usr_db;
@@ -1680,7 +1680,7 @@ static int ocrdma_copy_srq_uresp(struct ocrdma_dev *dev, struct ocrdma_srq *srq,
1680 memset(&uresp, 0, sizeof(uresp)); 1680 memset(&uresp, 0, sizeof(uresp));
1681 uresp.rq_dbid = srq->rq.dbid; 1681 uresp.rq_dbid = srq->rq.dbid;
1682 uresp.num_rq_pages = 1; 1682 uresp.num_rq_pages = 1;
1683 uresp.rq_page_addr[0] = srq->rq.pa; 1683 uresp.rq_page_addr[0] = virt_to_phys(srq->rq.va);
1684 uresp.rq_page_size = srq->rq.len; 1684 uresp.rq_page_size = srq->rq.len;
1685 uresp.db_page_addr = dev->nic_info.unmapped_db + 1685 uresp.db_page_addr = dev->nic_info.unmapped_db +
1686 (srq->pd->id * dev->nic_info.db_page_size); 1686 (srq->pd->id * dev->nic_info.db_page_size);