Lines Matching refs:attr

67 int ocrdma_query_device(struct ib_device *ibdev, struct ib_device_attr *attr,
75 memset(attr, 0, sizeof *attr);
76 memcpy(&attr->fw_ver, &dev->attr.fw_ver[0],
77 min(sizeof(dev->attr.fw_ver), sizeof(attr->fw_ver)));
78 addrconf_addr_eui48((u8 *)&attr->sys_image_guid,
80 attr->max_mr_size = dev->attr.max_mr_size;
81 attr->page_size_cap = 0xffff000;
82 attr->vendor_id = dev->nic_info.pdev->vendor;
83 attr->vendor_part_id = dev->nic_info.pdev->device;
84 attr->hw_ver = dev->asic_id;
85 attr->max_qp = dev->attr.max_qp;
86 attr->max_ah = OCRDMA_MAX_AH;
87 attr->max_qp_wr = dev->attr.max_wqe;
89 attr->device_cap_flags = IB_DEVICE_CURR_QP_STATE_MOD |
94 attr->kernel_cap_flags = IBK_LOCAL_DMA_LKEY;
95 attr->max_send_sge = dev->attr.max_send_sge;
96 attr->max_recv_sge = dev->attr.max_recv_sge;
97 attr->max_sge_rd = dev->attr.max_rdma_sge;
98 attr->max_cq = dev->attr.max_cq;
99 attr->max_cqe = dev->attr.max_cqe;
100 attr->max_mr = dev->attr.max_mr;
101 attr->max_mw = dev->attr.max_mw;
102 attr->max_pd = dev->attr.max_pd;
103 attr->atomic_cap = 0;
104 attr->max_qp_rd_atom =
105 min(dev->attr.max_ord_per_qp, dev->attr.max_ird_per_qp);
106 attr->max_qp_init_rd_atom = dev->attr.max_ord_per_qp;
107 attr->max_srq = dev->attr.max_srq;
108 attr->max_srq_sge = dev->attr.max_srq_sge;
109 attr->max_srq_wr = dev->attr.max_rqe;
110 attr->local_ca_ack_delay = dev->attr.local_ca_ack_delay;
111 attr->max_fast_reg_page_list_len = dev->attr.max_pages_per_frmr;
112 attr->max_pkeys = 1;
363 if (udata && uctx && dev->attr.max_dpp_pds) {
368 dev->attr.wqe_size) : 0;
499 resp.max_inline_data = dev->attr.max_inline_data;
500 resp.wqe_size = dev->attr.wqe_size;
501 resp.rqe_size = dev->attr.rqe_size;
502 resp.dpp_wqe_size = dev->attr.wqe_size;
504 memcpy(resp.fw_ver, dev->attr.fw_ver, sizeof(resp.fw_ver));
780 } while (num_pbls >= dev->attr.max_num_mr_pbl);
965 int ocrdma_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr,
969 int entries = attr->cqe;
978 if (attr->flags)
1111 (attrs->cap.max_send_wr > dev->attr.max_wqe)) {
1115 __func__, dev->id, dev->attr.max_wqe);
1118 if (!attrs->srq && (attrs->cap.max_recv_wr > dev->attr.max_rqe)) {
1122 __func__, dev->id, dev->attr.max_rqe);
1125 if (attrs->cap.max_inline_data > dev->attr.max_inline_data) {
1129 __func__, dev->id, dev->attr.max_inline_data);
1132 if (attrs->cap.max_send_sge > dev->attr.max_send_sge) {
1136 __func__, dev->id, dev->attr.max_send_sge);
1139 if (attrs->cap.max_recv_sge > dev->attr.max_recv_sge) {
1143 __func__, dev->id, dev->attr.max_recv_sge);
1364 int _ocrdma_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
1375 status = ocrdma_qp_state_change(qp, attr->qp_state, &old_qps);
1381 return ocrdma_mbx_modify_qp(dev, qp, attr, attr_mask);
1384 int ocrdma_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
1405 new_qps = attr->qp_state;
1418 status = _ocrdma_modify_qp(ibqp, attr, attr_mask);
1775 if (init_attr->attr.max_sge > dev->attr.max_recv_sge)
1777 if (init_attr->attr.max_wr > dev->attr.max_rqe)
1808 if (init_attr->attr.srq_limit) {
1809 status = ocrdma_mbx_modify_srq(srq, &init_attr->attr);
2906 if (max_num_sg > dev->attr.max_pages_per_frmr)