Hi,


Some questions,suggestions,:

>+cxgb3_cpl_handler_func t3c_handlers[NUM_CPL_CMDS];

Can it be static'ified? (I suppose not.)

>+struct cxgb3_client t3c_client = {
>+      .name = "iw_cxgb3",
>+      .add = open_rnic_dev,
>+      .remove = close_rnic_dev,
>+      .handlers = t3c_handlers,
>+      .redirect = iwch_ep_redirect
>+};

Can it be const'ified?

>+static void rnic_init(struct iwch_dev *rnicp)
>+{
>+      PDBG("%s iwch_dev %p\n", __FUNCTION__,  rnicp);
>+      idr_init(&rnicp->cqidr);
>+      idr_init(&rnicp->qpidr);
>+      idr_init(&rnicp->mmidr);
>+      spin_lock_init(&rnicp->lock);
>+
>+      rnicp->attr.vendor_id = 0x168;
>+      rnicp->attr.vendor_part_id = 7;

Sugg.:

   typeof(rnicp->attr) *a = &rnicp->attr; // replace typeof with proper thing
   a->vendor_id = 0x168;
   a->vendor_part_id = 7;

shortens the lines a bit.

>+      rnicp->attr.max_qps = T3_MAX_NUM_QP - 32;
>+      rnicp->attr.max_wrs = (1UL << 24) - 1;
>+      rnicp->attr.max_sge_per_wr = T3_MAX_SGE;
>+      rnicp->attr.max_sge_per_rdma_write_wr = T3_MAX_SGE;
>+      rnicp->attr.max_cqs = T3_MAX_NUM_CQ - 1;
>+      rnicp->attr.max_cqes_per_cq = (1UL << 24) - 1;
>+      rnicp->attr.max_mem_regs = cxio_num_stags(&rnicp->rdev);
>+      rnicp->attr.max_phys_buf_entries = T3_MAX_PBL_SIZE;
>+      rnicp->attr.max_pds = T3_MAX_NUM_PD - 1;
>+      rnicp->attr.mem_pgsizes_bitmask = 0x7FFF;       /* 4KB-128MB */
>+      rnicp->attr.can_resize_wq = 0;
>+      rnicp->attr.max_rdma_reads_per_qp = 8;
>+      rnicp->attr.max_rdma_read_resources =
>+          rnicp->attr.max_rdma_reads_per_qp * rnicp->attr.max_qps;
>+      rnicp->attr.max_rdma_read_qp_depth = 8; /* IRD */
>+      rnicp->attr.max_rdma_read_depth =
>+          rnicp->attr.max_rdma_read_qp_depth * rnicp->attr.max_qps;
>+      rnicp->attr.rq_overflow_handled = 0;
>+      rnicp->attr.can_modify_ird = 0;
>+      rnicp->attr.can_modify_ord = 0;
>+      rnicp->attr.max_mem_windows = rnicp->attr.max_mem_regs - 1;
>+      rnicp->attr.stag0_value = 1;
>+      rnicp->attr.zbva_support = 1;
>+      rnicp->attr.local_invalidate_fence = 1;
>+      rnicp->attr.cq_overflow_detection = 1;
>+      return;
>+}
>+
>--- /dev/null
>+++ b/drivers/infiniband/hw/cxgb3/iwch.h
>+static inline int t3b_device(struct iwch_dev *rhp)
>+{
>+      return (rhp->rdev.t3cdev_p->type == T3B);
>+}
>+
>+static inline int t3a_device(struct iwch_dev *rhp)
>+{
>+      return (rhp->rdev.t3cdev_p->type == T3A);
>+}

These two can be constified for sure: static inline int t3a_device(const 
struct iwch_dev *rhp)

>+
>+static inline struct iwch_cq *get_chp(struct iwch_dev *rhp, u32 cqid)
>+{
>+      return idr_find(&rhp->cqidr, cqid);
>+}
>+
>+static inline struct iwch_qp *get_qhp(struct iwch_dev *rhp, u32 qpid)
>+{
>+      return idr_find(&rhp->qpidr, qpid);
>+}
>+
>+static inline struct iwch_mr *get_mhp(struct iwch_dev *rhp, u32 mmid)
>+{
>+      return idr_find(&rhp->mmidr, mmid);
>+}

Here I am not sure.




        -`J'
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to