Lines Matching defs:qm_info

1729 	struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
1731 OSAL_FREE(p_hwfn->p_dev, qm_info->qm_pq_params);
1732 qm_info->qm_pq_params = OSAL_NULL;
1733 OSAL_FREE(p_hwfn->p_dev, qm_info->qm_vport_params);
1734 qm_info->qm_vport_params = OSAL_NULL;
1735 OSAL_FREE(p_hwfn->p_dev, qm_info->qm_port_params);
1736 qm_info->qm_port_params = OSAL_NULL;
1737 OSAL_FREE(p_hwfn->p_dev, qm_info->wfq_data);
1738 qm_info->wfq_data = OSAL_NULL;
1900 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
1904 qm_info->start_pq = (u16)RESC_START(p_hwfn, ECORE_PQ);
1905 qm_info->start_vport = (u8)RESC_START(p_hwfn, ECORE_VPORT);
1908 qm_info->vport_rl_en = 1;
1909 qm_info->vport_wfq_en = 1;
1915 qm_info->max_phys_tcs_per_port = four_port ? NUM_PHYS_TCS_4PORT_K2 : NUM_OF_PHYS_TCS;
1918 if (!qm_info->ooo_tc)
1919 qm_info->ooo_tc = four_port ? DCBX_TCP_OOO_K2_4PORT_TC : DCBX_TCP_OOO_TC;
1925 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
1930 qm_info->qm_vport_params[i].vport_wfq = 1;
1945 &p_hwfn->qm_info.qm_port_params[i];
1962 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
1964 qm_info->num_pqs = 0;
1965 qm_info->num_vports = 0;
1966 qm_info->num_pf_rls = 0;
1967 qm_info->num_vf_pqs = 0;
1968 qm_info->first_vf_pq = 0;
1969 qm_info->first_mcos_pq = 0;
1970 qm_info->first_rl_pq = 0;
1975 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
1977 qm_info->num_vports++;
1979 if (qm_info->num_vports > ecore_init_qm_get_num_vports(p_hwfn))
1980 DP_ERR(p_hwfn, "vport overflow! qm_info->num_vports %d, qm_init_get_num_vports() %d\n", qm_info->num_vports, ecore_init_qm_get_num_vports(p_hwfn));
1983 /* initialize a single pq and manage qm_info resources accounting.
1999 struct ecore_qm_info *qm_info,
2002 u16 pq_idx = qm_info->num_pqs, max_pq = ecore_init_qm_get_num_pqs(p_hwfn);
2008 qm_info->qm_pq_params[pq_idx].vport_id = qm_info->start_vport + qm_info->num_vports;
2009 qm_info->qm_pq_params[pq_idx].tc_id = tc;
2010 qm_info->qm_pq_params[pq_idx].wrr_group = PQ_INIT_DEFAULT_WRR_GROUP;
2011 qm_info->qm_pq_params[pq_idx].rl_valid =
2015 qm_info->num_pqs++;
2017 qm_info->num_vports++;
2020 qm_info->num_pf_rls++;
2022 if (qm_info->num_vports > ecore_init_qm_get_num_vports(p_hwfn))
2023 DP_ERR(p_hwfn, "vport overflow! qm_info->num_vports %d, qm_init_get_num_vports() %d\n", qm_info->num_vports, ecore_init_qm_get_num_vports(p_hwfn));
2025 if (qm_info->num_pf_rls > ecore_init_qm_get_num_pf_rls(p_hwfn))
2026 DP_ERR(p_hwfn, "rl overflow! qm_info->num_pf_rls %d, qm_init_get_num_pf_rls() %d\n", qm_info->num_pf_rls, ecore_init_qm_get_num_pf_rls(p_hwfn));
2033 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2041 return &qm_info->first_rl_pq;
2043 return &qm_info->first_mcos_pq;
2045 return &qm_info->pure_lb_pq;
2047 return &qm_info->ooo_pq;
2049 return &qm_info->pure_ack_pq;
2051 return &qm_info->offload_pq;
2053 return &qm_info->low_latency_pq;
2055 return &qm_info->first_vf_pq;
2071 *base_pq_idx = p_hwfn->qm_info.start_pq + pq_val;
2115 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2120 ecore_init_qm_set_idx(p_hwfn, PQ_FLAGS_LB, qm_info->num_pqs);
2121 ecore_init_qm_pq(p_hwfn, qm_info, PURE_LB_TC, PQ_INIT_SHARE_VPORT);
2126 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2131 ecore_init_qm_set_idx(p_hwfn, PQ_FLAGS_OOO, qm_info->num_pqs);
2132 ecore_init_qm_pq(p_hwfn, qm_info, qm_info->ooo_tc, PQ_INIT_SHARE_VPORT);
2137 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2142 ecore_init_qm_set_idx(p_hwfn, PQ_FLAGS_ACK, qm_info->num_pqs);
2143 ecore_init_qm_pq(p_hwfn, qm_info, PQ_INIT_OFLD_TC, PQ_INIT_SHARE_VPORT);
2148 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2153 ecore_init_qm_set_idx(p_hwfn, PQ_FLAGS_OFLD, qm_info->num_pqs);
2154 ecore_init_qm_pq(p_hwfn, qm_info, PQ_INIT_OFLD_TC, PQ_INIT_SHARE_VPORT);
2159 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2164 ecore_init_qm_set_idx(p_hwfn, PQ_FLAGS_LLT, qm_info->num_pqs);
2165 ecore_init_qm_pq(p_hwfn, qm_info, PQ_INIT_OFLD_TC, PQ_INIT_SHARE_VPORT);
2170 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2176 ecore_init_qm_set_idx(p_hwfn, PQ_FLAGS_MCOS, qm_info->num_pqs);
2178 ecore_init_qm_pq(p_hwfn, qm_info, tc_idx, PQ_INIT_SHARE_VPORT);
2183 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2189 ecore_init_qm_set_idx(p_hwfn, PQ_FLAGS_VFS, qm_info->num_pqs);
2190 qm_info->num_vf_pqs = num_vfs;
2192 ecore_init_qm_pq(p_hwfn, qm_info, PQ_INIT_DEFAULT_TC, PQ_INIT_VF_RL);
2198 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2203 ecore_init_qm_set_idx(p_hwfn, PQ_FLAGS_RLS, qm_info->num_pqs);
2205 ecore_init_qm_pq(p_hwfn, qm_info, PQ_INIT_OFLD_TC, PQ_INIT_PF_RL);
2259 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2267 qm_info->start_pq, qm_info->start_vport, qm_info->pure_lb_pq, qm_info->offload_pq, qm_info->pure_ack_pq);
2269 qm_info->ooo_pq, qm_info->first_vf_pq, qm_info->num_pqs, qm_info->num_vf_pqs, qm_info->num_vports, qm_info->max_phys_tcs_per_port);
2271 qm_info->pf_rl_en, qm_info->pf_wfq_en, qm_info->vport_rl_en, qm_info->vport_wfq_en, qm_info->pf_wfq, qm_info->pf_rl, qm_info->num_pf_rls, ecore_get_pq_flags(p_hwfn));
2275 port = &(qm_info->qm_port_params[i]);
2281 for (i = 0; i < qm_info->num_vports; i++) {
2282 vport = &(qm_info->qm_vport_params[i]);
2284 qm_info->start_vport + i, vport->vport_rl, vport->vport_wfq);
2291 for (i = 0; i < qm_info->num_pqs; i++) {
2292 pq = &(qm_info->qm_pq_params[i]);
2294 qm_info->start_pq + i, pq->vport_id, pq->tc_id, pq->wrr_group, pq->rl_valid);
2330 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2340 qm_info->start_pq, qm_info->num_pqs);
2360 qm_info->start_pq, qm_info->num_pqs);
2370 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2377 qm_info->qm_pq_params = OSAL_ZALLOC(p_hwfn->p_dev, GFP_KERNEL,
2380 if (!qm_info->qm_pq_params)
2383 qm_info->qm_vport_params = OSAL_ZALLOC(p_hwfn->p_dev, GFP_KERNEL,
2386 if (!qm_info->qm_vport_params)
2389 qm_info->qm_port_params = OSAL_ZALLOC(p_hwfn->p_dev, GFP_KERNEL,
2392 if (!qm_info->qm_port_params)
2395 qm_info->wfq_data = OSAL_ZALLOC(p_hwfn->p_dev, GFP_KERNEL,
2398 if (!qm_info->wfq_data)
2962 struct ecore_qm_info *qm_info = &p_hwfn->qm_info;
2984 qm_info->pf_rl_en = 1;
2986 qm_info->pf_wfq_en = 1;
2991 qm_info->max_phys_tcs_per_port,
2992 qm_info->pf_rl_en, qm_info->pf_wfq_en,
2993 qm_info->vport_rl_en, qm_info->vport_wfq_en,
2994 qm_info->qm_port_params);
3492 p_hwfn->qm_info.pf_wfq = p_info->bandwidth_min;
3495 p_hwfn->qm_info.pf_rl = 100000;
6597 vport_params = p_hwfn->qm_info.qm_vport_params;
6599 for (i = 0; i < p_hwfn->qm_info.num_vports; i++) {
6600 u32 wfq_speed = p_hwfn->qm_info.wfq_data[i].min_speed;
6615 for (i = 0; i < p_hwfn->qm_info.num_vports; i++)
6616 p_hwfn->qm_info.qm_vport_params[i].vport_wfq = 1;
6625 vport_params = p_hwfn->qm_info.qm_vport_params;
6627 for (i = 0; i < p_hwfn->qm_info.num_vports; i++) {
6649 num_vports = p_hwfn->qm_info.num_vports;
6655 if ((i != vport_id) && p_hwfn->qm_info.wfq_data[i].configured) {
6657 tmp_speed = p_hwfn->qm_info.wfq_data[i].min_speed;
6705 p_hwfn->qm_info.wfq_data[vport_id].min_speed = req_rate;
6706 p_hwfn->qm_info.wfq_data[vport_id].configured = true;
6709 if (p_hwfn->qm_info.wfq_data[i].configured)
6712 p_hwfn->qm_info.wfq_data[i].min_speed = left_rate_per_vp;
6728 p_hwfn->qm_info.wfq_data[vp_id].min_speed = rate;
6729 p_hwfn->qm_info.wfq_data[vp_id].configured = true;
6754 for (i = 0; i < p_hwfn->qm_info.num_vports; i++) {
6757 if (!p_hwfn->qm_info.wfq_data[i].configured)
6760 rate = p_hwfn->qm_info.wfq_data[i].min_speed;
6850 p_hwfn->qm_info.pf_rl = p_link->speed;
6857 p_hwfn->qm_info.pf_rl = 100000;
6860 p_hwfn->qm_info.pf_rl);
6911 p_hwfn->qm_info.pf_wfq = min_bw;
6979 OSAL_MEMSET(p_hwfn->qm_info.wfq_data, 0,
6980 sizeof(*p_hwfn->qm_info.wfq_data) *
6981 p_hwfn->qm_info.num_vports);