Lines Matching refs:attr
101 struct qedr_device_attr *qattr = &dev->attr;
112 struct ib_device_attr *attr, struct ib_udata *udata)
115 struct qedr_device_attr *qattr = &dev->attr;
124 memset(attr, 0, sizeof(*attr));
126 attr->fw_ver = qattr->fw_ver;
127 attr->sys_image_guid = qattr->sys_image_guid;
128 attr->max_mr_size = qattr->max_mr_size;
129 attr->page_size_cap = qattr->page_size_caps;
130 attr->vendor_id = qattr->vendor_id;
131 attr->vendor_part_id = qattr->vendor_part_id;
132 attr->hw_ver = qattr->hw_ver;
133 attr->max_qp = qattr->max_qp;
134 attr->max_qp_wr = max_t(u32, qattr->max_sqe, qattr->max_rqe);
135 attr->device_cap_flags = IB_DEVICE_CURR_QP_STATE_MOD |
140 attr->device_cap_flags |= IB_DEVICE_XRC;
141 attr->max_send_sge = qattr->max_sge;
142 attr->max_recv_sge = qattr->max_sge;
143 attr->max_sge_rd = qattr->max_sge;
144 attr->max_cq = qattr->max_cq;
145 attr->max_cqe = qattr->max_cqe;
146 attr->max_mr = qattr->max_mr;
147 attr->max_mw = qattr->max_mw;
148 attr->max_pd = qattr->max_pd;
149 attr->atomic_cap = dev->atomic_cap;
150 attr->max_qp_init_rd_atom =
152 attr->max_qp_rd_atom =
154 attr->max_qp_init_rd_atom);
156 attr->max_srq = qattr->max_srq;
157 attr->max_srq_sge = qattr->max_srq_sge;
158 attr->max_srq_wr = qattr->max_srq_wr;
160 attr->local_ca_ack_delay = qattr->dev_ack_delay;
161 attr->max_fast_reg_page_list_len = qattr->max_mr / 8;
162 attr->max_pkeys = qattr->max_pkey;
163 attr->max_ah = qattr->max_ah;
213 int qedr_query_port(struct ib_device *ibdev, u8 port, struct ib_port_attr *attr)
227 /* *attr being zeroed by the caller, avoid zeroing it here */
229 attr->state = IB_PORT_ACTIVE;
230 attr->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
232 attr->state = IB_PORT_DOWN;
233 attr->phys_state = IB_PORT_PHYS_STATE_DISABLED;
235 attr->max_mtu = IB_MTU_4096;
236 attr->lid = 0;
237 attr->lmc = 0;
238 attr->sm_lid = 0;
239 attr->sm_sl = 0;
240 attr->ip_gids = true;
242 attr->active_mtu = iboe_get_mtu(dev->iwarp_max_mtu);
243 attr->gid_tbl_len = 1;
245 attr->active_mtu = iboe_get_mtu(dev->ndev->mtu);
246 attr->gid_tbl_len = QEDR_MAX_SGID;
247 attr->pkey_tbl_len = QEDR_ROCE_PKEY_TABLE_LEN;
249 attr->bad_pkey_cntr = rdma_port->pkey_bad_counter;
250 attr->qkey_viol_cntr = 0;
252 &attr->active_speed, &attr->active_width);
253 attr->max_msg_sz = rdma_port->max_msg_size;
254 attr->max_vl_num = 4;
336 uresp.max_send_wr = dev->attr.max_sqe;
337 uresp.max_recv_wr = dev->attr.max_rqe;
338 uresp.max_srq_wr = dev->attr.max_srq_wr;
341 uresp.sges_per_srq_wr = dev->attr.max_srq_sge;
900 int qedr_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr,
917 int vector = attr->comp_vector;
918 int entries = attr->cqe;
1131 struct ib_qp_attr *attr,
1138 const struct ib_global_route *grh = rdma_ah_read_grh(&attr->ah_attr);
1199 struct qedr_device_attr *qattr = &dev->attr;
1414 struct qedr_device_attr *qattr = &dev->attr;
1416 if (attrs->attr.max_wr > qattr->max_srq_wr) {
1419 attrs->attr.max_wr, qattr->max_srq_wr);
1423 if (attrs->attr.max_sge > qattr->max_sge) {
1426 attrs->attr.max_sge, qattr->max_sge);
1514 num_elems = init_attr->attr.max_wr * RDMA_MAX_SRQ_WQE_SIZE;
1559 hw_srq->max_wr = init_attr->attr.max_wr;
1560 hw_srq->max_sges = init_attr->attr.max_sge;
1661 int qedr_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr,
1677 if (attr->srq_limit >= srq->hw_srq.max_wr) {
1680 attr->srq_limit, srq->hw_srq.max_wr);
1685 in_params.wqe_limit = attr->srq_limit;
1691 srq->srq_limit = attr->srq_limit;
2164 dev->attr.max_sqe);
2196 n_sq_entries = min_t(u32, n_sq_entries, dev->attr.max_sqe);
2468 int qedr_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
2474 const struct ib_global_route *grh = rdma_ah_read_grh(&attr->ah_attr);
2481 attr->qp_state);
2485 new_qp_state = attr->qp_state;
2506 qp_params.new_state = qedr_get_state_from_ibqp(attr->qp_state);
2515 if (attr->pkey_index >= QEDR_ROCE_PKEY_TABLE_LEN) {
2524 qp->qkey = attr->qkey;
2529 qp_params.incoming_rdma_read_en = attr->qp_access_flags &
2531 qp_params.incoming_rdma_write_en = attr->qp_access_flags &
2533 qp_params.incoming_atomic_en = attr->qp_access_flags &
2542 if (attr->path_mtu < IB_MTU_256 ||
2543 attr->path_mtu > IB_MTU_4096) {
2548 qp->mtu = min(ib_mtu_enum_to_int(attr->path_mtu),
2568 rc = get_gid_info_from_table(ibqp, attr, attr_mask, &qp_params);
2576 rc = qedr_get_dmac(dev, &attr->ah_attr,
2620 if (attr->timeout)
2622 1 << max_t(int, attr->timeout - 8, 0);
2626 qp->timeout = attr->timeout;
2632 qp_params.retry_cnt = attr->retry_cnt;
2638 qp_params.rnr_retry_cnt = attr->rnr_retry;
2644 qp_params.rq_psn = attr->rq_psn;
2645 qp->rq_psn = attr->rq_psn;
2649 if (attr->max_rd_atomic > dev->attr.max_qp_req_rd_atomic_resc) {
2653 attr->max_rd_atomic,
2654 dev->attr.max_qp_req_rd_atomic_resc);
2660 qp_params.max_rd_atomic_req = attr->max_rd_atomic;
2666 qp_params.min_rnr_nak_timer = attr->min_rnr_timer;
2672 qp_params.sq_psn = attr->sq_psn;
2673 qp->sq_psn = attr->sq_psn;
2677 if (attr->max_dest_rd_atomic >
2678 dev->attr.max_qp_resp_rd_atomic_resc) {
2681 attr->max_dest_rd_atomic,
2682 dev->attr.max_qp_resp_rd_atomic_resc);
2690 qp_params.max_rd_atomic_resp = attr->max_dest_rd_atomic;
2697 qp_params.dest_qp = attr->dest_qp_num;
2698 qp->dest_qp_num = attr->dest_qp_num;
2776 qp_attr->cap.max_inline_data = dev->attr.max_inline;
2815 struct ib_qp_attr attr;
2826 attr.qp_state = IB_QPS_ERR;
2830 qedr_modify_qp(ibqp, &attr, attr_mask, NULL);
2881 rdma_copy_ah_attr(&ah->attr, init_attr->ah_attr);
2890 rdma_destroy_ah_attr(&ah->attr);