Lines Matching refs:qm_info
135 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_qm_info_free() local
137 kfree(qm_info->qm_pq_params); in qed_qm_info_free()
138 qm_info->qm_pq_params = NULL; in qed_qm_info_free()
139 kfree(qm_info->qm_vport_params); in qed_qm_info_free()
140 qm_info->qm_vport_params = NULL; in qed_qm_info_free()
141 kfree(qm_info->qm_port_params); in qed_qm_info_free()
142 qm_info->qm_port_params = NULL; in qed_qm_info_free()
143 kfree(qm_info->wfq_data); in qed_qm_info_free()
144 qm_info->wfq_data = NULL; in qed_qm_info_free()
308 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_params() local
312 qm_info->start_pq = (u16) RESC_START(p_hwfn, QED_PQ); in qed_init_qm_params()
313 qm_info->start_vport = (u8) RESC_START(p_hwfn, QED_VPORT); in qed_init_qm_params()
316 qm_info->vport_rl_en = true; in qed_init_qm_params()
317 qm_info->vport_wfq_en = true; in qed_init_qm_params()
323 qm_info->max_phys_tcs_per_port = four_port ? NUM_PHYS_TCS_4PORT_K2 : in qed_init_qm_params()
329 if (!qm_info->ooo_tc) in qed_init_qm_params()
330 qm_info->ooo_tc = four_port ? DCBX_TCP_OOO_K2_4PORT_TC : in qed_init_qm_params()
337 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_vport_params() local
342 qm_info->qm_vport_params[i].vport_wfq = 1; in qed_init_qm_vport_params()
358 &p_hwfn->qm_info.qm_port_params[i]; in qed_init_qm_port_params()
375 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_reset_params() local
377 qm_info->num_pqs = 0; in qed_init_qm_reset_params()
378 qm_info->num_vports = 0; in qed_init_qm_reset_params()
379 qm_info->num_pf_rls = 0; in qed_init_qm_reset_params()
380 qm_info->num_vf_pqs = 0; in qed_init_qm_reset_params()
381 qm_info->first_vf_pq = 0; in qed_init_qm_reset_params()
382 qm_info->first_mcos_pq = 0; in qed_init_qm_reset_params()
383 qm_info->first_rl_pq = 0; in qed_init_qm_reset_params()
388 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_advance_vport() local
390 qm_info->num_vports++; in qed_init_qm_advance_vport()
392 if (qm_info->num_vports > qed_init_qm_get_num_vports(p_hwfn)) in qed_init_qm_advance_vport()
395 qm_info->num_vports, qed_init_qm_get_num_vports(p_hwfn)); in qed_init_qm_advance_vport()
433 struct qed_qm_info *qm_info, in qed_init_qm_pq() argument
436 u16 pq_idx = qm_info->num_pqs, max_pq = qed_init_qm_get_num_pqs(p_hwfn); in qed_init_qm_pq()
443 qm_info->qm_pq_params[pq_idx].port_id = p_hwfn->port_id; in qed_init_qm_pq()
444 qm_info->qm_pq_params[pq_idx].vport_id = qm_info->start_vport + in qed_init_qm_pq()
445 qm_info->num_vports; in qed_init_qm_pq()
446 qm_info->qm_pq_params[pq_idx].tc_id = tc; in qed_init_qm_pq()
447 qm_info->qm_pq_params[pq_idx].wrr_group = PQ_INIT_DEFAULT_WRR_GROUP; in qed_init_qm_pq()
448 qm_info->qm_pq_params[pq_idx].rl_valid = in qed_init_qm_pq()
452 qm_info->num_pqs++; in qed_init_qm_pq()
454 qm_info->num_vports++; in qed_init_qm_pq()
457 qm_info->num_pf_rls++; in qed_init_qm_pq()
459 if (qm_info->num_vports > qed_init_qm_get_num_vports(p_hwfn)) in qed_init_qm_pq()
462 qm_info->num_vports, qed_init_qm_get_num_vports(p_hwfn)); in qed_init_qm_pq()
464 if (qm_info->num_pf_rls > qed_init_qm_get_num_pf_rls(p_hwfn)) in qed_init_qm_pq()
467 qm_info->num_pf_rls, qed_init_qm_get_num_pf_rls(p_hwfn)); in qed_init_qm_pq()
474 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_get_idx_from_flags() local
482 return &qm_info->first_rl_pq; in qed_init_qm_get_idx_from_flags()
484 return &qm_info->first_mcos_pq; in qed_init_qm_get_idx_from_flags()
486 return &qm_info->pure_lb_pq; in qed_init_qm_get_idx_from_flags()
488 return &qm_info->ooo_pq; in qed_init_qm_get_idx_from_flags()
490 return &qm_info->pure_ack_pq; in qed_init_qm_get_idx_from_flags()
492 return &qm_info->first_ofld_pq; in qed_init_qm_get_idx_from_flags()
494 return &qm_info->first_llt_pq; in qed_init_qm_get_idx_from_flags()
496 return &qm_info->first_vf_pq; in qed_init_qm_get_idx_from_flags()
512 *base_pq_idx = p_hwfn->qm_info.start_pq + pq_val; in qed_init_qm_set_idx()
568 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_lb_pq() local
573 qed_init_qm_set_idx(p_hwfn, PQ_FLAGS_LB, qm_info->num_pqs); in qed_init_qm_lb_pq()
574 qed_init_qm_pq(p_hwfn, qm_info, PURE_LB_TC, PQ_INIT_SHARE_VPORT); in qed_init_qm_lb_pq()
579 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_ooo_pq() local
584 qed_init_qm_set_idx(p_hwfn, PQ_FLAGS_OOO, qm_info->num_pqs); in qed_init_qm_ooo_pq()
585 qed_init_qm_pq(p_hwfn, qm_info, qm_info->ooo_tc, PQ_INIT_SHARE_VPORT); in qed_init_qm_ooo_pq()
590 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_pure_ack_pq() local
595 qed_init_qm_set_idx(p_hwfn, PQ_FLAGS_ACK, qm_info->num_pqs); in qed_init_qm_pure_ack_pq()
596 qed_init_qm_pq(p_hwfn, qm_info, qed_get_offload_tc(p_hwfn), in qed_init_qm_pure_ack_pq()
603 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_mtc_pqs() local
608 qed_init_qm_pq(p_hwfn, qm_info, in qed_init_qm_mtc_pqs()
616 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_offload_pq() local
621 qed_init_qm_set_idx(p_hwfn, PQ_FLAGS_OFLD, qm_info->num_pqs); in qed_init_qm_offload_pq()
627 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_low_latency_pq() local
632 qed_init_qm_set_idx(p_hwfn, PQ_FLAGS_LLT, qm_info->num_pqs); in qed_init_qm_low_latency_pq()
638 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_mcos_pqs() local
644 qed_init_qm_set_idx(p_hwfn, PQ_FLAGS_MCOS, qm_info->num_pqs); in qed_init_qm_mcos_pqs()
646 qed_init_qm_pq(p_hwfn, qm_info, tc_idx, PQ_INIT_SHARE_VPORT); in qed_init_qm_mcos_pqs()
651 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_vf_pqs() local
657 qed_init_qm_set_idx(p_hwfn, PQ_FLAGS_VFS, qm_info->num_pqs); in qed_init_qm_vf_pqs()
658 qm_info->num_vf_pqs = num_vfs; in qed_init_qm_vf_pqs()
661 qm_info, PQ_INIT_DEFAULT_TC, PQ_INIT_VF_RL); in qed_init_qm_vf_pqs()
667 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_init_qm_rl_pqs() local
672 qed_init_qm_set_idx(p_hwfn, PQ_FLAGS_RLS, qm_info->num_pqs); in qed_init_qm_rl_pqs()
674 qed_init_qm_pq(p_hwfn, qm_info, qed_get_offload_tc(p_hwfn), in qed_init_qm_rl_pqs()
733 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_dp_init_qm_params() local
743 qm_info->start_pq, in qed_dp_init_qm_params()
744 qm_info->start_vport, in qed_dp_init_qm_params()
745 qm_info->pure_lb_pq, in qed_dp_init_qm_params()
746 qm_info->first_ofld_pq, in qed_dp_init_qm_params()
747 qm_info->first_llt_pq, in qed_dp_init_qm_params()
748 qm_info->pure_ack_pq); in qed_dp_init_qm_params()
752 qm_info->ooo_pq, in qed_dp_init_qm_params()
753 qm_info->first_vf_pq, in qed_dp_init_qm_params()
754 qm_info->num_pqs, in qed_dp_init_qm_params()
755 qm_info->num_vf_pqs, in qed_dp_init_qm_params()
756 qm_info->num_vports, qm_info->max_phys_tcs_per_port); in qed_dp_init_qm_params()
760 qm_info->pf_rl_en, in qed_dp_init_qm_params()
761 qm_info->pf_wfq_en, in qed_dp_init_qm_params()
762 qm_info->vport_rl_en, in qed_dp_init_qm_params()
763 qm_info->vport_wfq_en, in qed_dp_init_qm_params()
764 qm_info->pf_wfq, in qed_dp_init_qm_params()
765 qm_info->pf_rl, in qed_dp_init_qm_params()
766 qm_info->num_pf_rls, qed_get_pq_flags(p_hwfn)); in qed_dp_init_qm_params()
770 port = &(qm_info->qm_port_params[i]); in qed_dp_init_qm_params()
782 for (i = 0; i < qm_info->num_vports; i++) { in qed_dp_init_qm_params()
783 vport = &(qm_info->qm_vport_params[i]); in qed_dp_init_qm_params()
787 qm_info->start_vport + i, in qed_dp_init_qm_params()
797 for (i = 0; i < qm_info->num_pqs; i++) { in qed_dp_init_qm_params()
798 pq = &(qm_info->qm_pq_params[i]); in qed_dp_init_qm_params()
802 qm_info->start_pq + i, in qed_dp_init_qm_params()
840 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_qm_reconf() local
850 qm_info->start_pq, qm_info->num_pqs); in qed_qm_reconf()
870 qm_info->start_pq, qm_info->num_pqs); in qed_qm_reconf()
880 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_alloc_qm_data() local
887 qm_info->qm_pq_params = kcalloc(qed_init_qm_get_num_pqs(p_hwfn), in qed_alloc_qm_data()
888 sizeof(*qm_info->qm_pq_params), in qed_alloc_qm_data()
890 if (!qm_info->qm_pq_params) in qed_alloc_qm_data()
893 qm_info->qm_vport_params = kcalloc(qed_init_qm_get_num_vports(p_hwfn), in qed_alloc_qm_data()
894 sizeof(*qm_info->qm_vport_params), in qed_alloc_qm_data()
896 if (!qm_info->qm_vport_params) in qed_alloc_qm_data()
899 qm_info->qm_port_params = kcalloc(p_hwfn->cdev->num_ports_in_engine, in qed_alloc_qm_data()
900 sizeof(*qm_info->qm_port_params), in qed_alloc_qm_data()
902 if (!qm_info->qm_port_params) in qed_alloc_qm_data()
905 qm_info->wfq_data = kcalloc(qed_init_qm_get_num_vports(p_hwfn), in qed_alloc_qm_data()
906 sizeof(*qm_info->wfq_data), in qed_alloc_qm_data()
908 if (!qm_info->wfq_data) in qed_alloc_qm_data()
1328 struct qed_qm_info *qm_info = &p_hwfn->qm_info; in qed_hw_init_common() local
1343 qm_info->pf_rl_en = true; in qed_hw_init_common()
1345 qm_info->pf_wfq_en = true; in qed_hw_init_common()
1350 params.max_phys_tcs_per_port = qm_info->max_phys_tcs_per_port; in qed_hw_init_common()
1351 params.pf_rl_en = qm_info->pf_rl_en; in qed_hw_init_common()
1352 params.pf_wfq_en = qm_info->pf_wfq_en; in qed_hw_init_common()
1353 params.vport_rl_en = qm_info->vport_rl_en; in qed_hw_init_common()
1354 params.vport_wfq_en = qm_info->vport_wfq_en; in qed_hw_init_common()
1355 params.port_params = qm_info->qm_port_params; in qed_hw_init_common()
1556 p_hwfn->qm_info.pf_wfq = p_info->bandwidth_min; in qed_hw_init_pf()
1559 p_hwfn->qm_info.pf_rl = 100000; in qed_hw_init_pf()
3983 vport_params = p_hwfn->qm_info.qm_vport_params; in qed_configure_wfq_for_all_vports()
3985 for (i = 0; i < p_hwfn->qm_info.num_vports; i++) { in qed_configure_wfq_for_all_vports()
3986 u32 wfq_speed = p_hwfn->qm_info.wfq_data[i].min_speed; in qed_configure_wfq_for_all_vports()
4002 for (i = 0; i < p_hwfn->qm_info.num_vports; i++) in qed_init_wfq_default_param()
4003 p_hwfn->qm_info.qm_vport_params[i].vport_wfq = 1; in qed_init_wfq_default_param()
4013 vport_params = p_hwfn->qm_info.qm_vport_params; in qed_disable_wfq_for_all_vports()
4015 for (i = 0; i < p_hwfn->qm_info.num_vports; i++) { in qed_disable_wfq_for_all_vports()
4036 num_vports = p_hwfn->qm_info.num_vports; in qed_init_wfq_param()
4043 p_hwfn->qm_info.wfq_data[i].configured) { in qed_init_wfq_param()
4045 tmp_speed = p_hwfn->qm_info.wfq_data[i].min_speed; in qed_init_wfq_param()
4086 p_hwfn->qm_info.wfq_data[vport_id].min_speed = req_rate; in qed_init_wfq_param()
4087 p_hwfn->qm_info.wfq_data[vport_id].configured = true; in qed_init_wfq_param()
4090 if (p_hwfn->qm_info.wfq_data[i].configured) in qed_init_wfq_param()
4093 p_hwfn->qm_info.wfq_data[i].min_speed = left_rate_per_vp; in qed_init_wfq_param()
4108 p_hwfn->qm_info.wfq_data[vp_id].min_speed = rate; in __qed_configure_vport_wfq()
4109 p_hwfn->qm_info.wfq_data[vp_id].configured = true; in __qed_configure_vport_wfq()
4134 for (i = 0; i < p_hwfn->qm_info.num_vports; i++) { in __qed_configure_vp_wfq_on_link_change()
4137 if (!p_hwfn->qm_info.wfq_data[i].configured) in __qed_configure_vp_wfq_on_link_change()
4140 rate = p_hwfn->qm_info.wfq_data[i].min_speed; in __qed_configure_vp_wfq_on_link_change()
4229 p_hwfn->qm_info.pf_rl = p_link->speed; in __qed_configure_pf_max_bandwidth()
4236 p_hwfn->qm_info.pf_rl = 100000; in __qed_configure_pf_max_bandwidth()
4239 p_hwfn->qm_info.pf_rl); in __qed_configure_pf_max_bandwidth()
4290 p_hwfn->qm_info.pf_wfq = min_bw; in __qed_configure_pf_min_bandwidth()
4359 memset(p_hwfn->qm_info.wfq_data, 0, in qed_clean_wfq_db()
4360 sizeof(*p_hwfn->qm_info.wfq_data) * p_hwfn->qm_info.num_vports); in qed_clean_wfq_db()