aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/ocrdma
diff options
context:
space:
mode:
authorNaresh Gottumukkala <bgottumukkala@emulex.com>2013-06-10 00:42:41 -0400
committerRoland Dreier <roland@purestorage.com>2013-06-20 07:52:14 -0400
commitdf176ea0743fd0fb0514c862797f6bd8c08ab42e (patch)
tree5fdd2bb247511dfeb15c36e9f36979b64cb3e6a5 /drivers/infiniband/hw/ocrdma
parentf6ddcf71070d01a7bb34818dd3aaf4bdac5386fa (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.h43
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_sli.h15
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_verbs.c2
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
297struct ocrdma_hw_mr { 293struct 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
384static 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
390static 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
397static 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
403static 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
409static 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
415static 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
1552struct ocrdma_sge { 1537struct 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
1820static void ocrdma_ring_rq_db(struct ocrdma_qp *qp) 1820static 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}