Lines Matching refs:attr
696 if (qpid < dev->attr.max_qp)
706 if (cqid < dev->attr.max_cq)
1144 struct ocrdma_dev_attr *attr,
1147 attr->max_pd =
1150 attr->udp_encap = (rsp->max_pd_ca_ack_delay &
1153 attr->max_dpp_pds =
1156 attr->max_qp =
1159 attr->max_srq =
1162 attr->max_send_sge = ((rsp->max_recv_send_sge &
1165 attr->max_recv_sge = (rsp->max_recv_send_sge &
1168 attr->max_srq_sge = (rsp->max_srq_rqe_sge &
1171 attr->max_rdma_sge = (rsp->max_wr_rd_sge &
1174 attr->max_ord_per_qp = (rsp->max_ird_ord_per_qp &
1177 attr->max_ird_per_qp = (rsp->max_ird_ord_per_qp &
1180 attr->cq_overflow_detect = (rsp->qp_srq_cq_ird_ord &
1183 attr->srq_supported = (rsp->qp_srq_cq_ird_ord &
1186 attr->local_ca_ack_delay = (rsp->max_pd_ca_ack_delay &
1189 attr->max_mw = rsp->max_mw;
1190 attr->max_mr = rsp->max_mr;
1191 attr->max_mr_size = ((u64)rsp->max_mr_size_hi << 32) |
1193 attr->max_pages_per_frmr = rsp->max_pages_per_frmr;
1194 attr->max_num_mr_pbl = rsp->max_num_mr_pbl;
1195 attr->max_cqe = rsp->max_cq_cqes_per_cq &
1197 attr->max_cq = (rsp->max_cq_cqes_per_cq &
1200 attr->wqe_size = ((rsp->wqe_rqe_stride_max_dpp_cqs &
1204 attr->rqe_size = ((rsp->wqe_rqe_stride_max_dpp_cqs &
1208 attr->max_inline_data =
1209 attr->wqe_size - (sizeof(struct ocrdma_hdr_wqe) +
1212 attr->ird = 1;
1213 attr->ird_page_size = OCRDMA_MIN_Q_PAGE_SIZE;
1214 attr->num_ird_pages = MAX_OCRDMA_IRD_PAGES;
1216 dev->attr.max_wqe = rsp->max_wqes_rqes_per_q >>
1218 dev->attr.max_rqe = rsp->max_wqes_rqes_per_q &
1253 memset(&dev->attr.fw_ver[0], 0, sizeof(dev->attr.fw_ver));
1254 memcpy(&dev->attr.fw_ver[0], &rsp->running_ver[0],
1256 ocrdma_le32_to_cpu(dev->attr.fw_ver, sizeof(rsp->running_ver));
1389 ocrdma_get_attr(dev, &dev->attr, rsp);
1513 if (dev->attr.max_dpp_pds) {
1518 cmd->pd_count = dev->attr.max_dpp_pds;
1540 cmd->pd_count = dev->attr.max_pd - dev->attr.max_dpp_pds;
1788 if (entries > dev->attr.max_cqe) {
1790 __func__, dev->id, dev->attr.max_cqe, entries);
1802 cq->max_hw_cqe = dev->attr.max_cqe;
1803 max_hw_cqe = dev->attr.max_cqe;
2192 dev->attr.max_wqe);
2195 dev->attr.wqe_size, &hw_pages, &hw_page_size);
2209 qp->sq.entry_size = dev->attr.wqe_size;
2226 cmd->wqe_rqe_size |= (dev->attr.wqe_size <<
2244 status = ocrdma_build_q_conf(&max_rqe_allocated, dev->attr.rqe_size,
2259 qp->rq.entry_size = dev->attr.rqe_size;
2273 cmd->wqe_rqe_size |= (dev->attr.rqe_size <<
2302 int ird_page_size = dev->attr.ird_page_size;
2303 int ird_q_len = dev->attr.num_ird_pages * ird_page_size;
2307 if (dev->attr.ird == 0)
2314 ocrdma_build_q_pages(&cmd->ird_addr[0], dev->attr.num_ird_pages,
2316 for (; i < ird_q_len / dev->attr.rqe_size; i++) {
2318 (i * dev->attr.rqe_size));
2421 cmd->max_ord_ird |= (dev->attr.max_ord_per_qp <<
2424 cmd->max_ord_ird |= (dev->attr.max_ird_per_qp <<
2437 (attrs->cap.max_inline_data <= dev->attr.max_inline_data)) {
2656 if (attrs->max_rd_atomic > dev->attr.max_ord_per_qp) {
2664 if (attrs->max_dest_rd_atomic > dev->attr.max_ird_per_qp) {
2757 max_rqe_allocated = srq_attr->attr.max_wr + 1;
2759 dev->attr.rqe_size,
2763 srq_attr->attr.max_wr);
2775 srq->rq.entry_size = dev->attr.rqe_size;
2781 cmd->max_sge_rqe |= srq_attr->attr.max_sge <<
2786 cmd->pages_rqe_sz |= (dev->attr.rqe_size