Lines Matching refs:hmc_info

404 	pble_obj_cnt = info->pd->dev->hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt;
457 qp->qp_uk.qp_id >= cqp->dev->hmc_info->hmc_obj[IRDMA_HMC_IW_QP].max_cnt)
1150 pble_obj_cnt = dev->hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt;
2483 pble_obj_cnt = info->dev->hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt;
2526 if (cq->cq_uk.cq_id >= cqp->dev->hmc_info->hmc_obj[IRDMA_HMC_IW_CQ].max_cnt)
2664 pble_obj_cnt = cq->dev->hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt;
2817 * of hmc objects in hmc_info
2919 * @hmc_info: ptr to irdma_hmc_obj_info struct
2923 * size value of hmc objects in hmc_info
2926 struct irdma_hmc_info *hmc_info,
2934 obj_info = hmc_info->hmc_obj;
2937 hmc_info->first_sd_index = (u16)FIELD_GET(IRDMA_QUERY_FPM_FIRST_PE_SD_INDEX, temp);
2941 hmc_info->sd_table.sd_cnt = max_pe_sds + hmc_info->first_sd_index;
3629 pble_obj_cnt = info->dev->hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt;
3901 pble_obj_cnt = info->dev->hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt;
4177 pble_obj_cnt = info->dev->hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt;
4304 * irdma_sc_init_iw_hmc() - queries fpm values using cqp and populates hmc_info
4310 struct irdma_hmc_info *hmc_info;
4316 hmc_info = dev->hmc_info;
4320 hmc_info->hmc_fn_id = hmc_fn_id;
4323 ret_code = irdma_sc_query_fpm_val(dev->cqp, 0, hmc_info->hmc_fn_id,
4329 ret_code = irdma_sc_parse_fpm_query_buf(dev, query_fpm_mem.va, hmc_info,
4340 * command and populates fpm base address in hmc_info
4346 struct irdma_hmc_info *hmc_info;
4353 hmc_info = dev->hmc_info;
4354 obj_info = hmc_info->hmc_obj;
4394 ret_code = irdma_sc_commit_fpm_val(dev->cqp, 0, hmc_info->hmc_fn_id,
4398 hmc_info->hmc_obj,
4399 &hmc_info->sd_table.sd_cnt);
4590 * @hmc_info: hmc structure, size and count for HMC objects
4593 struct irdma_hmc_info *hmc_info)
4601 size += round_up(hmc_info->hmc_obj[i].cnt *
4602 hmc_info->hmc_obj[i].size, 512);
4603 size += round_up(hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt *
4604 hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].size, 512);
4742 struct irdma_hmc_info *hmc_info, u32 qpwanted)
4759 struct irdma_hmc_info *hmc_info, u32 qpwanted)
4761 hmc_info->hmc_obj[IRDMA_HMC_IW_XF].cnt = roundup_pow_of_two(qpwanted * dev->hw_attrs.max_hw_wqes);
4765 struct irdma_hmc_info *hmc_info, u32 qpwanted)
4769 hmc_info->hmc_obj[IRDMA_HMC_IW_XF].cnt =
4772 hmc_info->hmc_obj[IRDMA_HMC_IW_HDR].cnt = qpwanted;
4774 if (hmc_info->hmc_obj[IRDMA_HMC_IW_RRF].max_cnt)
4775 hmc_info->hmc_obj[IRDMA_HMC_IW_RRF].cnt = 32 * qpwanted;
4776 if (hmc_info->hmc_obj[IRDMA_HMC_IW_RRFFL].max_cnt)
4777 hmc_info->hmc_obj[IRDMA_HMC_IW_RRFFL].cnt =
4778 hmc_info->hmc_obj[IRDMA_HMC_IW_RRF].cnt /
4780 if (hmc_info->hmc_obj[IRDMA_HMC_IW_OOISC].max_cnt)
4781 hmc_info->hmc_obj[IRDMA_HMC_IW_OOISC].cnt = 32 * qpwanted;
4782 if (hmc_info->hmc_obj[IRDMA_HMC_IW_OOISCFFL].max_cnt)
4783 hmc_info->hmc_obj[IRDMA_HMC_IW_OOISCFFL].cnt =
4784 hmc_info->hmc_obj[IRDMA_HMC_IW_OOISC].cnt /
4802 struct irdma_hmc_info *hmc_info;
4806 hmc_info = dev->hmc_info;
4818 hmc_info->hmc_obj[i].cnt = hmc_info->hmc_obj[i].max_cnt;
4819 sd_needed = irdma_est_sd(dev, hmc_info);
4822 sd_needed, hmc_info->first_sd_index);
4824 hmc_info->sd_table.sd_cnt, hmc_fpm_misc->max_sds);
4826 qpwanted = min(qp_count, hmc_info->hmc_obj[IRDMA_HMC_IW_QP].max_cnt);
4834 mrwanted = hmc_info->hmc_obj[IRDMA_HMC_IW_MR].max_cnt;
4835 pblewanted = hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].max_cnt;
4840 hmc_info->hmc_obj[IRDMA_HMC_IW_QP].max_cnt,
4841 hmc_info->hmc_obj[IRDMA_HMC_IW_CQ].max_cnt,
4842 hmc_info->hmc_obj[IRDMA_HMC_IW_MR].max_cnt,
4843 hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].max_cnt,
4844 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIMC].max_cnt,
4845 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIAV].max_cnt);
4846 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIMC].cnt =
4847 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIMC].max_cnt;
4848 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIAV].cnt =
4849 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIAV].max_cnt;
4850 hmc_info->hmc_obj[IRDMA_HMC_IW_ARP].cnt =
4851 hmc_info->hmc_obj[IRDMA_HMC_IW_ARP].max_cnt;
4853 hmc_info->hmc_obj[IRDMA_HMC_IW_APBVT_ENTRY].cnt = 1;
4855 while (irdma_q1_cnt(dev, hmc_info, qpwanted) > hmc_info->hmc_obj[IRDMA_HMC_IW_Q1].max_cnt)
4860 hmc_info->hmc_obj[IRDMA_HMC_IW_QP].cnt = qpwanted;
4861 hmc_info->hmc_obj[IRDMA_HMC_IW_CQ].cnt =
4862 min(2 * qpwanted, hmc_info->hmc_obj[IRDMA_HMC_IW_CQ].cnt);
4863 hmc_info->hmc_obj[IRDMA_HMC_IW_RESERVED].cnt = 0; /* Reserved */
4864 hmc_info->hmc_obj[IRDMA_HMC_IW_MR].cnt = mrwanted;
4866 hte = round_up(qpwanted + hmc_info->hmc_obj[IRDMA_HMC_IW_FSIMC].cnt, 512);
4870 hmc_info->hmc_obj[IRDMA_HMC_IW_HTE].cnt =
4873 cfg_fpm_value_gen_1(dev, hmc_info, qpwanted);
4875 cfg_fpm_value_gen_2(dev, hmc_info, qpwanted);
4877 hmc_info->hmc_obj[IRDMA_HMC_IW_Q1].cnt = irdma_q1_cnt(dev, hmc_info, qpwanted);
4878 hmc_info->hmc_obj[IRDMA_HMC_IW_XFFL].cnt =
4879 hmc_info->hmc_obj[IRDMA_HMC_IW_XF].cnt / hmc_fpm_misc->xf_block_size;
4880 hmc_info->hmc_obj[IRDMA_HMC_IW_Q1FL].cnt =
4881 hmc_info->hmc_obj[IRDMA_HMC_IW_Q1].cnt / hmc_fpm_misc->q1_block_size;
4882 hmc_info->hmc_obj[IRDMA_HMC_IW_TIMER].cnt =
4885 hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt = pblewanted;
4886 sd_needed = irdma_est_sd(dev, hmc_info);
4915 if (hmc_info->hmc_obj[IRDMA_HMC_IW_FSIMC].cnt > 256)
4916 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIMC].cnt /= 2;
4917 if (hmc_info->hmc_obj[IRDMA_HMC_IW_FSIAV].cnt > 256)
4918 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIAV].cnt /= 2;
4924 if (hmc_info->hmc_obj[IRDMA_HMC_IW_FSIAV].cnt > 256)
4925 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIAV].cnt /= 2;
4932 loop_count, sd_needed, hmc_info->sd_table.sd_cnt);
4939 hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt = pblewanted;
4940 sd_needed = irdma_est_sd(dev, hmc_info);
4946 hmc_info->hmc_obj[IRDMA_HMC_IW_QP].cnt,
4947 hmc_info->hmc_obj[IRDMA_HMC_IW_CQ].cnt,
4948 hmc_info->hmc_obj[IRDMA_HMC_IW_MR].cnt,
4949 hmc_info->hmc_obj[IRDMA_HMC_IW_PBLE].cnt,
4950 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIMC].cnt,
4951 hmc_info->hmc_obj[IRDMA_HMC_IW_FSIAV].cnt,
4952 hmc_info->sd_table.sd_cnt, hmc_info->first_sd_index);
4963 (hmc_info->sd_table.sd_cnt + hmc_info->first_sd_index + 1);
4971 hmc_info->sd_table.sd_entry = virt_mem.va;