Lines Matching refs:pf

38 	struct i40e_pf *pf = i40e_netdev_to_pf(dev);  in i40e_dcbnl_ieee_getets()  local
41 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE)) in i40e_dcbnl_ieee_getets()
44 dcbxcfg = &pf->hw.local_dcbx_config; in i40e_dcbnl_ieee_getets()
76 struct i40e_pf *pf = i40e_netdev_to_pf(dev); in i40e_dcbnl_ieee_getpfc() local
78 struct i40e_hw *hw = &pf->hw; in i40e_dcbnl_ieee_getpfc()
81 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE)) in i40e_dcbnl_ieee_getpfc()
92 pfc->requests[i] = pf->stats.priority_xoff_tx[i]; in i40e_dcbnl_ieee_getpfc()
93 pfc->indications[i] = pf->stats.priority_xoff_rx[i]; in i40e_dcbnl_ieee_getpfc()
109 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_ieee_setets() local
113 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE) || in i40e_dcbnl_ieee_setets()
114 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_ieee_setets()
117 old_cfg = &pf->hw.local_dcbx_config; in i40e_dcbnl_ieee_setets()
119 pf->tmp_cfg = *old_cfg; in i40e_dcbnl_ieee_setets()
122 pf->tmp_cfg.etscfg.willing = ets->willing; in i40e_dcbnl_ieee_setets()
123 pf->tmp_cfg.etscfg.maxtcs = I40E_MAX_TRAFFIC_CLASS; in i40e_dcbnl_ieee_setets()
124 pf->tmp_cfg.etscfg.cbs = ets->cbs; in i40e_dcbnl_ieee_setets()
126 pf->tmp_cfg.etscfg.tcbwtable[i] = ets->tc_tx_bw[i]; in i40e_dcbnl_ieee_setets()
127 pf->tmp_cfg.etscfg.tsatable[i] = ets->tc_tsa[i]; in i40e_dcbnl_ieee_setets()
128 pf->tmp_cfg.etscfg.prioritytable[i] = ets->prio_tc[i]; in i40e_dcbnl_ieee_setets()
129 pf->tmp_cfg.etsrec.tcbwtable[i] = ets->tc_reco_bw[i]; in i40e_dcbnl_ieee_setets()
130 pf->tmp_cfg.etsrec.tsatable[i] = ets->tc_reco_tsa[i]; in i40e_dcbnl_ieee_setets()
131 pf->tmp_cfg.etsrec.prioritytable[i] = ets->reco_prio_tc[i]; in i40e_dcbnl_ieee_setets()
135 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); in i40e_dcbnl_ieee_setets()
137 dev_info(&pf->pdev->dev, in i40e_dcbnl_ieee_setets()
139 i40e_stat_str(&pf->hw, ret), in i40e_dcbnl_ieee_setets()
140 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); in i40e_dcbnl_ieee_setets()
157 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_ieee_setpfc() local
161 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE) || in i40e_dcbnl_ieee_setpfc()
162 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_ieee_setpfc()
165 old_cfg = &pf->hw.local_dcbx_config; in i40e_dcbnl_ieee_setpfc()
167 pf->tmp_cfg = *old_cfg; in i40e_dcbnl_ieee_setpfc()
169 pf->tmp_cfg.pfc.pfccap = pfc->pfc_cap; in i40e_dcbnl_ieee_setpfc()
171 pf->tmp_cfg.pfc.pfccap = I40E_MAX_TRAFFIC_CLASS; in i40e_dcbnl_ieee_setpfc()
172 pf->tmp_cfg.pfc.pfcenable = pfc->pfc_en; in i40e_dcbnl_ieee_setpfc()
174 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); in i40e_dcbnl_ieee_setpfc()
176 dev_info(&pf->pdev->dev, in i40e_dcbnl_ieee_setpfc()
178 i40e_stat_str(&pf->hw, ret), in i40e_dcbnl_ieee_setpfc()
179 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); in i40e_dcbnl_ieee_setpfc()
196 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_ieee_setapp() local
201 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE) || in i40e_dcbnl_ieee_setapp()
202 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_ieee_setapp()
205 old_cfg = &pf->hw.local_dcbx_config; in i40e_dcbnl_ieee_setapp()
221 pf->tmp_cfg = *old_cfg; in i40e_dcbnl_ieee_setapp()
223 pf->tmp_cfg.app[pf->tmp_cfg.numapps++] = new_app; in i40e_dcbnl_ieee_setapp()
225 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); in i40e_dcbnl_ieee_setapp()
227 dev_info(&pf->pdev->dev, in i40e_dcbnl_ieee_setapp()
229 i40e_stat_str(&pf->hw, ret), in i40e_dcbnl_ieee_setapp()
230 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); in i40e_dcbnl_ieee_setapp()
248 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_ieee_delapp() local
252 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE) || in i40e_dcbnl_ieee_delapp()
253 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_ieee_delapp()
260 old_cfg = &pf->hw.local_dcbx_config; in i40e_dcbnl_ieee_delapp()
266 pf->tmp_cfg = *old_cfg; in i40e_dcbnl_ieee_delapp()
269 for (i = 1; i < pf->tmp_cfg.numapps; i++) { in i40e_dcbnl_ieee_delapp()
270 if (app->selector == pf->tmp_cfg.app[i].selector && in i40e_dcbnl_ieee_delapp()
271 app->protocol == pf->tmp_cfg.app[i].protocolid && in i40e_dcbnl_ieee_delapp()
272 app->priority == pf->tmp_cfg.app[i].priority) { in i40e_dcbnl_ieee_delapp()
274 pf->tmp_cfg.app[i].selector = 0; in i40e_dcbnl_ieee_delapp()
275 pf->tmp_cfg.app[i].protocolid = 0; in i40e_dcbnl_ieee_delapp()
276 pf->tmp_cfg.app[i].priority = 0; in i40e_dcbnl_ieee_delapp()
282 if (i == pf->tmp_cfg.numapps) in i40e_dcbnl_ieee_delapp()
285 pf->tmp_cfg.numapps--; in i40e_dcbnl_ieee_delapp()
287 for (j = i; j < pf->tmp_cfg.numapps; j++) in i40e_dcbnl_ieee_delapp()
288 pf->tmp_cfg.app[j] = old_cfg->app[j + 1]; in i40e_dcbnl_ieee_delapp()
290 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); in i40e_dcbnl_ieee_delapp()
292 dev_info(&pf->pdev->dev, in i40e_dcbnl_ieee_delapp()
294 i40e_stat_str(&pf->hw, ret), in i40e_dcbnl_ieee_delapp()
295 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); in i40e_dcbnl_ieee_delapp()
310 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_getstate() local
312 dev_dbg(&pf->pdev->dev, "DCB state=%d\n", in i40e_dcbnl_getstate()
313 !!(pf->flags & I40E_FLAG_DCB_ENABLED)); in i40e_dcbnl_getstate()
314 return !!(pf->flags & I40E_FLAG_DCB_ENABLED); in i40e_dcbnl_getstate()
326 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_setstate() local
329 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_setstate()
330 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_setstate()
333 dev_dbg(&pf->pdev->dev, "new state=%d current state=%d\n", in i40e_dcbnl_setstate()
334 state, (pf->flags & I40E_FLAG_DCB_ENABLED) ? 1 : 0); in i40e_dcbnl_setstate()
336 if (!state == !(pf->flags & I40E_FLAG_DCB_ENABLED)) in i40e_dcbnl_setstate()
339 if (i40e_is_sw_dcb(pf)) { in i40e_dcbnl_setstate()
341 pf->flags |= I40E_FLAG_DCB_ENABLED; in i40e_dcbnl_setstate()
342 memcpy(&pf->hw.desired_dcbx_config, in i40e_dcbnl_setstate()
343 &pf->hw.local_dcbx_config, in i40e_dcbnl_setstate()
346 pf->flags &= ~I40E_FLAG_DCB_ENABLED; in i40e_dcbnl_setstate()
370 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_set_pg_tc_cfg_tx() local
373 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_set_pg_tc_cfg_tx()
374 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_set_pg_tc_cfg_tx()
386 pf->tmp_cfg.etscfg.prioritytable[i] = tc; in i40e_dcbnl_set_pg_tc_cfg_tx()
388 pf->tmp_cfg.etscfg.tsatable[tc] = I40E_IEEE_TSA_ETS; in i40e_dcbnl_set_pg_tc_cfg_tx()
389 dev_dbg(&pf->pdev->dev, in i40e_dcbnl_set_pg_tc_cfg_tx()
405 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_set_pg_bwg_cfg_tx() local
407 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_set_pg_bwg_cfg_tx()
408 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_set_pg_bwg_cfg_tx()
415 pf->tmp_cfg.etscfg.tcbwtable[pgid] = bw_pct; in i40e_dcbnl_set_pg_bwg_cfg_tx()
416 dev_dbg(&pf->pdev->dev, "Set PG BW config tc=%d bw_pct=%d\n", in i40e_dcbnl_set_pg_bwg_cfg_tx()
439 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_set_pg_tc_cfg_rx() local
441 dev_dbg(&pf->pdev->dev, "Rx TC PG Config Not Supported.\n"); in i40e_dcbnl_set_pg_tc_cfg_rx()
456 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_set_pg_bwg_cfg_rx() local
458 dev_dbg(&pf->pdev->dev, "Rx BWG PG Config Not Supported.\n"); in i40e_dcbnl_set_pg_bwg_cfg_rx()
478 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_get_pg_tc_cfg_tx() local
480 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_get_pg_tc_cfg_tx()
481 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_get_pg_tc_cfg_tx()
487 *pgid = pf->hw.local_dcbx_config.etscfg.prioritytable[prio]; in i40e_dcbnl_get_pg_tc_cfg_tx()
488 dev_dbg(&pf->pdev->dev, "Get PG config prio=%d tc=%d\n", in i40e_dcbnl_get_pg_tc_cfg_tx()
503 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_get_pg_bwg_cfg_tx() local
505 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_get_pg_bwg_cfg_tx()
506 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_get_pg_bwg_cfg_tx()
512 *bw_pct = pf->hw.local_dcbx_config.etscfg.tcbwtable[pgid]; in i40e_dcbnl_get_pg_bwg_cfg_tx()
513 dev_dbg(&pf->pdev->dev, "Get PG BW config tc=%d bw_pct=%d\n", in i40e_dcbnl_get_pg_bwg_cfg_tx()
534 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_get_pg_tc_cfg_rx() local
536 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_get_pg_tc_cfg_rx()
537 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_get_pg_tc_cfg_rx()
543 *pgid = pf->hw.local_dcbx_config.etscfg.prioritytable[prio]; in i40e_dcbnl_get_pg_tc_cfg_rx()
559 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_get_pg_bwg_cfg_rx() local
561 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_get_pg_bwg_cfg_rx()
562 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_get_pg_bwg_cfg_rx()
578 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_set_pfc_cfg() local
580 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_set_pfc_cfg()
581 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_set_pfc_cfg()
587 pf->tmp_cfg.pfc.pfccap = I40E_MAX_TRAFFIC_CLASS; in i40e_dcbnl_set_pfc_cfg()
589 pf->tmp_cfg.pfc.pfcenable |= BIT(prio); in i40e_dcbnl_set_pfc_cfg()
591 pf->tmp_cfg.pfc.pfcenable &= ~BIT(prio); in i40e_dcbnl_set_pfc_cfg()
592 dev_dbg(&pf->pdev->dev, in i40e_dcbnl_set_pfc_cfg()
594 prio, setting, pf->tmp_cfg.pfc.pfcenable); in i40e_dcbnl_set_pfc_cfg()
608 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_get_pfc_cfg() local
610 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_get_pfc_cfg()
611 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_get_pfc_cfg()
617 *setting = (pf->hw.local_dcbx_config.pfc.pfcenable >> prio) & 0x1; in i40e_dcbnl_get_pfc_cfg()
618 dev_dbg(&pf->pdev->dev, in i40e_dcbnl_get_pfc_cfg()
620 prio, *setting, pf->hw.local_dcbx_config.pfc.pfcenable); in i40e_dcbnl_get_pfc_cfg()
631 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_cee_set_all() local
634 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_cee_set_all()
635 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_cee_set_all()
638 dev_dbg(&pf->pdev->dev, "Commit DCB Configuration to the hardware\n"); in i40e_dcbnl_cee_set_all()
639 err = i40e_hw_dcb_config(pf, &pf->tmp_cfg); in i40e_dcbnl_cee_set_all()
654 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_get_cap() local
656 if (!(pf->flags & I40E_FLAG_DCB_CAPABLE)) in i40e_dcbnl_get_cap()
669 *cap = pf->dcbx_cap; in i40e_dcbnl_get_cap()
679 dev_dbg(&pf->pdev->dev, "Get Capability cap=%d capval=0x%x\n", in i40e_dcbnl_get_cap()
694 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_getnumtcs() local
696 if (!(pf->flags & I40E_FLAG_DCB_CAPABLE)) in i40e_dcbnl_getnumtcs()
724 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_getpfcstate() local
727 if (pf->hw.local_dcbx_config.pfc.pfcenable) in i40e_dcbnl_getpfcstate()
743 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_setpfcstate() local
745 dev_dbg(&pf->pdev->dev, "PFC State is modified via PFC config.\n"); in i40e_dcbnl_setpfcstate()
758 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_getapp() local
764 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) || in i40e_dcbnl_getapp()
765 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)) in i40e_dcbnl_getapp()
780 struct i40e_pf *pf = i40e_netdev_to_pf(netdev); in i40e_dcbnl_setdcbx() local
783 if (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED) in i40e_dcbnl_setdcbx()
793 if (mode == pf->dcbx_cap) in i40e_dcbnl_setdcbx()
796 pf->dcbx_cap = mode; in i40e_dcbnl_setdcbx()
798 pf->hw.local_dcbx_config.dcbx_mode = I40E_DCBX_MODE_CEE; in i40e_dcbnl_setdcbx()
800 pf->hw.local_dcbx_config.dcbx_mode = I40E_DCBX_MODE_IEEE; in i40e_dcbnl_setdcbx()
802 dev_dbg(&pf->pdev->dev, "mode=%d\n", mode); in i40e_dcbnl_setdcbx()
814 struct i40e_pf *pf = i40e_netdev_to_pf(dev); in i40e_dcbnl_getdcbx() local
816 return pf->dcbx_cap; in i40e_dcbnl_getdcbx()
829 struct i40e_pf *pf = i40e_netdev_to_pf(dev); in i40e_dcbnl_get_perm_hw_addr() local
835 perm_addr[i] = pf->hw.mac.perm_addr[i]; in i40e_dcbnl_get_perm_hw_addr()
838 perm_addr[i] = pf->hw.mac.san_addr[j]; in i40e_dcbnl_get_perm_hw_addr()
882 struct i40e_pf *pf = i40e_netdev_to_pf(dev); in i40e_dcbnl_set_all() local
884 struct i40e_hw *hw = &pf->hw; in i40e_dcbnl_set_all()
890 if (pf->dcbx_cap & DCB_CAP_DCBX_HOST) in i40e_dcbnl_set_all()
894 if (!(pf->flags & I40E_FLAG_DCB_ENABLED)) in i40e_dcbnl_set_all()
898 if ((pf->flags & I40E_FLAG_MFP_ENABLED) && !(hw->func_caps.iscsi)) in i40e_dcbnl_set_all()
951 static void i40e_dcbnl_del_app(struct i40e_pf *pf, in i40e_dcbnl_del_app() argument
956 for (v = 0; v < pf->num_alloc_vsi; v++) { in i40e_dcbnl_del_app()
957 if (pf->vsi[v] && pf->vsi[v]->netdev) { in i40e_dcbnl_del_app()
958 err = i40e_dcbnl_vsi_del_app(pf->vsi[v], app); in i40e_dcbnl_del_app()
959 dev_dbg(&pf->pdev->dev, "Deleting app for VSI seid=%d err=%d sel=%d proto=0x%x prio=%d\n", in i40e_dcbnl_del_app()
960 pf->vsi[v]->seid, err, app->selector, in i40e_dcbnl_del_app()
997 void i40e_dcbnl_flush_apps(struct i40e_pf *pf, in i40e_dcbnl_flush_apps() argument
1005 if ((pf->flags & I40E_FLAG_MFP_ENABLED) && !(pf->hw.func_caps.iscsi)) in i40e_dcbnl_flush_apps()
1012 i40e_dcbnl_del_app(pf, &app); in i40e_dcbnl_flush_apps()
1025 struct i40e_pf *pf = i40e_netdev_to_pf(dev); in i40e_dcbnl_setup() local
1028 if (!(pf->flags & I40E_FLAG_DCB_CAPABLE)) in i40e_dcbnl_setup()