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);
1514 if (dev->attr.max_dpp_pds) {
1519 cmd->pd_count = dev->attr.max_dpp_pds;
1543 cmd->pd_count = dev->attr.max_pd - dev->attr.max_dpp_pds;
1792 if (entries > dev->attr.max_cqe) {
1794 __func__, dev->id, dev->attr.max_cqe, entries);
1806 cq->max_hw_cqe = dev->attr.max_cqe;
1807 max_hw_cqe = dev->attr.max_cqe;
2196 dev->attr.max_wqe);
2199 dev->attr.wqe_size, &hw_pages, &hw_page_size);
2213 qp->sq.entry_size = dev->attr.wqe_size;
2230 cmd->wqe_rqe_size |= (dev->attr.wqe_size <<
2248 status = ocrdma_build_q_conf(&max_rqe_allocated, dev->attr.rqe_size,
2263 qp->rq.entry_size = dev->attr.rqe_size;
2277 cmd->wqe_rqe_size |= (dev->attr.rqe_size <<
2306 int ird_page_size = dev->attr.ird_page_size;
2307 int ird_q_len = dev->attr.num_ird_pages * ird_page_size;
2311 if (dev->attr.ird == 0)
2318 ocrdma_build_q_pages(&cmd->ird_addr[0], dev->attr.num_ird_pages,
2320 for (; i < ird_q_len / dev->attr.rqe_size; i++) {
2322 (i * dev->attr.rqe_size));
2425 cmd->max_ord_ird |= (dev->attr.max_ord_per_qp <<
2428 cmd->max_ord_ird |= (dev->attr.max_ird_per_qp <<
2441 (attrs->cap.max_inline_data <= dev->attr.max_inline_data)) {
2660 if (attrs->max_rd_atomic > dev->attr.max_ord_per_qp) {
2668 if (attrs->max_dest_rd_atomic > dev->attr.max_ird_per_qp) {
2761 max_rqe_allocated = srq_attr->attr.max_wr + 1;
2763 dev->attr.rqe_size,
2767 srq_attr->attr.max_wr);
2779 srq->rq.entry_size = dev->attr.rqe_size;
2785 cmd->max_sge_rqe |= srq_attr->attr.max_sge <<
2790 cmd->pages_rqe_sz |= (dev->attr.rqe_size