diff options
author | Naresh Gottumukkala <bgottumukkala@emulex.com> | 2013-06-10 00:42:41 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2013-06-20 07:52:14 -0400 |
commit | df176ea0743fd0fb0514c862797f6bd8c08ab42e (patch) | |
tree | 5fdd2bb247511dfeb15c36e9f36979b64cb3e6a5 /drivers/infiniband/hw/ocrdma | |
parent | f6ddcf71070d01a7bb34818dd3aaf4bdac5386fa (diff) |
RDMA/ocrdma: Change macros to inline funtions
Signed-off-by: Naresh Gottumukkala <bgottumukkala@emulex.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw/ocrdma')
-rw-r--r-- | drivers/infiniband/hw/ocrdma/ocrdma.h | 43 | ||||
-rw-r--r-- | drivers/infiniband/hw/ocrdma/ocrdma_sli.h | 15 | ||||
-rw-r--r-- | drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 |
3 files changed, 40 insertions, 20 deletions
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma.h b/drivers/infiniband/hw/ocrdma/ocrdma.h index 9d82d097e25a..7aa7f0f15f8e 100644 --- a/drivers/infiniband/hw/ocrdma/ocrdma.h +++ b/drivers/infiniband/hw/ocrdma/ocrdma.h | |||
@@ -290,10 +290,6 @@ struct ocrdma_qp { | |||
290 | u8 *ird_q_va; | 290 | u8 *ird_q_va; |
291 | }; | 291 | }; |
292 | 292 | ||
293 | #define OCRDMA_GET_NUM_POSTED_SHIFT_VAL(qp) \ | ||
294 | (((qp->dev->nic_info.dev_family == OCRDMA_GEN2_FAMILY) && \ | ||
295 | (qp->id < 64)) ? 24 : 16) | ||
296 | |||
297 | struct ocrdma_hw_mr { | 293 | struct ocrdma_hw_mr { |
298 | struct ocrdma_dev *dev; | 294 | struct ocrdma_dev *dev; |
299 | u32 lkey; | 295 | u32 lkey; |
@@ -384,4 +380,43 @@ static inline struct ocrdma_srq *get_ocrdma_srq(struct ib_srq *ibsrq) | |||
384 | return container_of(ibsrq, struct ocrdma_srq, ibsrq); | 380 | return container_of(ibsrq, struct ocrdma_srq, ibsrq); |
385 | } | 381 | } |
386 | 382 | ||
383 | |||
384 | static inline int ocrdma_get_num_posted_shift(struct ocrdma_qp *qp) | ||
385 | { | ||
386 | return ((qp->dev->nic_info.dev_family == OCRDMA_GEN2_FAMILY && | ||
387 | qp->id < 64) ? 24 : 16); | ||
388 | } | ||
389 | |||
390 | static inline int is_cqe_valid(struct ocrdma_cq *cq, struct ocrdma_cqe *cqe) | ||
391 | { | ||
392 | int cqe_valid; | ||
393 | cqe_valid = le32_to_cpu(cqe->flags_status_srcqpn) & OCRDMA_CQE_VALID; | ||
394 | return ((cqe_valid == cq->phase) ? 1 : 0); | ||
395 | } | ||
396 | |||
397 | static inline int is_cqe_for_sq(struct ocrdma_cqe *cqe) | ||
398 | { | ||
399 | return (le32_to_cpu(cqe->flags_status_srcqpn) & | ||
400 | OCRDMA_CQE_QTYPE) ? 0 : 1; | ||
401 | } | ||
402 | |||
403 | static inline int is_cqe_invalidated(struct ocrdma_cqe *cqe) | ||
404 | { | ||
405 | return (le32_to_cpu(cqe->flags_status_srcqpn) & | ||
406 | OCRDMA_CQE_INVALIDATE) ? 1 : 0; | ||
407 | } | ||
408 | |||
409 | static inline int is_cqe_imm(struct ocrdma_cqe *cqe) | ||
410 | { | ||
411 | return (le32_to_cpu(cqe->flags_status_srcqpn) & | ||
412 | OCRDMA_CQE_IMM) ? 1 : 0; | ||
413 | } | ||
414 | |||
415 | static inline int is_cqe_wr_imm(struct ocrdma_cqe *cqe) | ||
416 | { | ||
417 | return (le32_to_cpu(cqe->flags_status_srcqpn) & | ||
418 | OCRDMA_CQE_WRITE_IMM) ? 1 : 0; | ||
419 | } | ||
420 | |||
421 | |||
387 | #endif | 422 | #endif |
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_sli.h b/drivers/infiniband/hw/ocrdma/ocrdma_sli.h index cd0512f1fb5b..36b062da2aea 100644 --- a/drivers/infiniband/hw/ocrdma/ocrdma_sli.h +++ b/drivers/infiniband/hw/ocrdma/ocrdma_sli.h | |||
@@ -1534,21 +1534,6 @@ struct ocrdma_cqe { | |||
1534 | u32 flags_status_srcqpn; /* w3 */ | 1534 | u32 flags_status_srcqpn; /* w3 */ |
1535 | } __packed; | 1535 | } __packed; |
1536 | 1536 | ||
1537 | #define is_cqe_valid(cq, cqe) \ | ||
1538 | (((le32_to_cpu(cqe->flags_status_srcqpn) & OCRDMA_CQE_VALID)\ | ||
1539 | == cq->phase) ? 1 : 0) | ||
1540 | #define is_cqe_for_sq(cqe) \ | ||
1541 | ((le32_to_cpu(cqe->flags_status_srcqpn) & OCRDMA_CQE_QTYPE) ? 0 : 1) | ||
1542 | #define is_cqe_for_rq(cqe) \ | ||
1543 | ((le32_to_cpu(cqe->flags_status_srcqpn) & OCRDMA_CQE_QTYPE) ? 1 : 0) | ||
1544 | #define is_cqe_invalidated(cqe) \ | ||
1545 | ((le32_to_cpu(cqe->flags_status_srcqpn) & OCRDMA_CQE_INVALIDATE) ? \ | ||
1546 | 1 : 0) | ||
1547 | #define is_cqe_imm(cqe) \ | ||
1548 | ((le32_to_cpu(cqe->flags_status_srcqpn) & OCRDMA_CQE_IMM) ? 1 : 0) | ||
1549 | #define is_cqe_wr_imm(cqe) \ | ||
1550 | ((le32_to_cpu(cqe->flags_status_srcqpn) & OCRDMA_CQE_WRITE_IMM) ? 1 : 0) | ||
1551 | |||
1552 | struct ocrdma_sge { | 1537 | struct ocrdma_sge { |
1553 | u32 addr_hi; | 1538 | u32 addr_hi; |
1554 | u32 addr_lo; | 1539 | u32 addr_lo; |
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c index 06215301a675..dcfbab177faa 100644 --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | |||
@@ -1819,7 +1819,7 @@ int ocrdma_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr, | |||
1819 | 1819 | ||
1820 | static void ocrdma_ring_rq_db(struct ocrdma_qp *qp) | 1820 | static void ocrdma_ring_rq_db(struct ocrdma_qp *qp) |
1821 | { | 1821 | { |
1822 | u32 val = qp->rq.dbid | (1 << OCRDMA_GET_NUM_POSTED_SHIFT_VAL(qp)); | 1822 | u32 val = qp->rq.dbid | (1 << ocrdma_get_num_posted_shift(qp)); |
1823 | 1823 | ||
1824 | iowrite32(val, qp->rq_db); | 1824 | iowrite32(val, qp->rq_db); |
1825 | } | 1825 | } |