[openib-general] [PATCH v2 02/13] Device Discovery and ULLD Linkage
Jan Engelhardt
jengelh at linux01.gwdg.de
Sun Dec 3 08:03:35 PST 2006
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'
--
More information about the general
mailing list