Lines Matching refs:pf

37 	struct i40e_pf *pf = i40e_netdev_to_pf(dev);
40 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE))
43 dcbxcfg = &pf->hw.local_dcbx_config;
75 struct i40e_pf *pf = i40e_netdev_to_pf(dev);
77 struct i40e_hw *hw = &pf->hw;
80 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE))
91 pfc->requests[i] = pf->stats.priority_xoff_tx[i];
92 pfc->indications[i] = pf->stats.priority_xoff_rx[i];
108 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
112 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE) ||
113 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
116 old_cfg = &pf->hw.local_dcbx_config;
118 pf->tmp_cfg = *old_cfg;
121 pf->tmp_cfg.etscfg.willing = ets->willing;
122 pf->tmp_cfg.etscfg.maxtcs = I40E_MAX_TRAFFIC_CLASS;
123 pf->tmp_cfg.etscfg.cbs = ets->cbs;
125 pf->tmp_cfg.etscfg.tcbwtable[i] = ets->tc_tx_bw[i];
126 pf->tmp_cfg.etscfg.tsatable[i] = ets->tc_tsa[i];
127 pf->tmp_cfg.etscfg.prioritytable[i] = ets->prio_tc[i];
128 pf->tmp_cfg.etsrec.tcbwtable[i] = ets->tc_reco_bw[i];
129 pf->tmp_cfg.etsrec.tsatable[i] = ets->tc_reco_tsa[i];
130 pf->tmp_cfg.etsrec.prioritytable[i] = ets->reco_prio_tc[i];
134 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg);
136 dev_info(&pf->pdev->dev,
139 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
156 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
160 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE) ||
161 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
164 old_cfg = &pf->hw.local_dcbx_config;
166 pf->tmp_cfg = *old_cfg;
168 pf->tmp_cfg.pfc.pfccap = pfc->pfc_cap;
170 pf->tmp_cfg.pfc.pfccap = I40E_MAX_TRAFFIC_CLASS;
171 pf->tmp_cfg.pfc.pfcenable = pfc->pfc_en;
173 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg);
175 dev_info(&pf->pdev->dev,
178 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
195 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
200 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE) ||
201 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
204 old_cfg = &pf->hw.local_dcbx_config;
220 pf->tmp_cfg = *old_cfg;
222 pf->tmp_cfg.app[pf->tmp_cfg.numapps++] = new_app;
224 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg);
226 dev_info(&pf->pdev->dev,
229 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
247 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
251 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE) ||
252 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
259 old_cfg = &pf->hw.local_dcbx_config;
265 pf->tmp_cfg = *old_cfg;
268 for (i = 1; i < pf->tmp_cfg.numapps; i++) {
269 if (app->selector == pf->tmp_cfg.app[i].selector &&
270 app->protocol == pf->tmp_cfg.app[i].protocolid &&
271 app->priority == pf->tmp_cfg.app[i].priority) {
273 pf->tmp_cfg.app[i].selector = 0;
274 pf->tmp_cfg.app[i].protocolid = 0;
275 pf->tmp_cfg.app[i].priority = 0;
281 if (i == pf->tmp_cfg.numapps)
284 pf->tmp_cfg.numapps--;
286 for (j = i; j < pf->tmp_cfg.numapps; j++)
287 pf->tmp_cfg.app[j] = old_cfg->app[j + 1];
289 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg);
291 dev_info(&pf->pdev->dev,
294 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
309 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
311 dev_dbg(&pf->pdev->dev, "DCB state=%d\n",
312 test_bit(I40E_FLAG_DCB_ENA, pf->flags) ? 1 : 0);
313 return test_bit(I40E_FLAG_DCB_ENA, pf->flags) ? 1 : 0;
325 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
328 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
329 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
332 dev_dbg(&pf->pdev->dev, "new state=%d current state=%d\n",
333 state, test_bit(I40E_FLAG_DCB_ENA, pf->flags) ? 1 : 0);
335 if (!state == !test_bit(I40E_FLAG_DCB_ENA, pf->flags))
338 if (i40e_is_sw_dcb(pf)) {
340 set_bit(I40E_FLAG_DCB_ENA, pf->flags);
341 memcpy(&pf->hw.desired_dcbx_config,
342 &pf->hw.local_dcbx_config,
345 clear_bit(I40E_FLAG_DCB_ENA, pf->flags);
369 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
372 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
373 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
385 pf->tmp_cfg.etscfg.prioritytable[i] = tc;
387 pf->tmp_cfg.etscfg.tsatable[tc] = I40E_IEEE_TSA_ETS;
388 dev_dbg(&pf->pdev->dev,
404 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
406 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
407 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
414 pf->tmp_cfg.etscfg.tcbwtable[pgid] = bw_pct;
415 dev_dbg(&pf->pdev->dev, "Set PG BW config tc=%d bw_pct=%d\n",
438 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
440 dev_dbg(&pf->pdev->dev, "Rx TC PG Config Not Supported.\n");
455 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
457 dev_dbg(&pf->pdev->dev, "Rx BWG PG Config Not Supported.\n");
477 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
479 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
480 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
486 *pgid = pf->hw.local_dcbx_config.etscfg.prioritytable[prio];
487 dev_dbg(&pf->pdev->dev, "Get PG config prio=%d tc=%d\n",
502 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
504 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
505 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
511 *bw_pct = pf->hw.local_dcbx_config.etscfg.tcbwtable[pgid];
512 dev_dbg(&pf->pdev->dev, "Get PG BW config tc=%d bw_pct=%d\n",
533 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
535 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
536 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
542 *pgid = pf->hw.local_dcbx_config.etscfg.prioritytable[prio];
558 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
560 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
561 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
577 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
579 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
580 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
586 pf->tmp_cfg.pfc.pfccap = I40E_MAX_TRAFFIC_CLASS;
588 pf->tmp_cfg.pfc.pfcenable |= BIT(prio);
590 pf->tmp_cfg.pfc.pfcenable &= ~BIT(prio);
591 dev_dbg(&pf->pdev->dev,
593 prio, setting, pf->tmp_cfg.pfc.pfcenable);
607 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
609 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
610 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
616 *setting = (pf->hw.local_dcbx_config.pfc.pfcenable >> prio) & 0x1;
617 dev_dbg(&pf->pdev->dev,
619 prio, *setting, pf->hw.local_dcbx_config.pfc.pfcenable);
630 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
633 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
634 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
637 dev_dbg(&pf->pdev->dev, "Commit DCB Configuration to the hardware\n");
638 err = i40e_hw_dcb_config(pf, &pf->tmp_cfg);
653 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
655 if (!test_bit(I40E_FLAG_DCB_CAPABLE, pf->flags))
668 *cap = pf->dcbx_cap;
678 dev_dbg(&pf->pdev->dev, "Get Capability cap=%d capval=0x%x\n",
693 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
695 if (!test_bit(I40E_FLAG_DCB_CAPABLE, pf->flags))
723 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
726 if (pf->hw.local_dcbx_config.pfc.pfcenable)
742 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
744 dev_dbg(&pf->pdev->dev, "PFC State is modified via PFC config.\n");
757 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
763 if (!(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE) ||
764 (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED))
779 struct i40e_pf *pf = i40e_netdev_to_pf(netdev);
782 if (pf->dcbx_cap & DCB_CAP_DCBX_LLD_MANAGED)
792 if (mode == pf->dcbx_cap)
795 pf->dcbx_cap = mode;
797 pf->hw.local_dcbx_config.dcbx_mode = I40E_DCBX_MODE_CEE;
799 pf->hw.local_dcbx_config.dcbx_mode = I40E_DCBX_MODE_IEEE;
801 dev_dbg(&pf->pdev->dev, "mode=%d\n", mode);
813 struct i40e_pf *pf = i40e_netdev_to_pf(dev);
815 return pf->dcbx_cap;
828 struct i40e_pf *pf = i40e_netdev_to_pf(dev);
834 perm_addr[i] = pf->hw.mac.perm_addr[i];
878 struct i40e_pf *pf = i40e_netdev_to_pf(dev);
880 struct i40e_hw *hw = &pf->hw;
886 if (pf->dcbx_cap & DCB_CAP_DCBX_HOST)
890 if (!test_bit(I40E_FLAG_DCB_ENA, pf->flags))
894 if (test_bit(I40E_FLAG_MFP_ENA, pf->flags) && !(hw->func_caps.iscsi))
942 * @pf: the corresponding PF
947 static void i40e_dcbnl_del_app(struct i40e_pf *pf,
953 i40e_pf_for_each_vsi(pf, v, vsi)
956 dev_dbg(&pf->pdev->dev, "Deleting app for VSI seid=%d err=%d sel=%d proto=0x%x prio=%d\n",
986 * @pf: the corresponding PF
993 void i40e_dcbnl_flush_apps(struct i40e_pf *pf,
1001 if (test_bit(I40E_FLAG_MFP_ENA, pf->flags) && !(pf->hw.func_caps.iscsi))
1008 i40e_dcbnl_del_app(pf, &app);
1021 struct i40e_pf *pf = i40e_netdev_to_pf(dev);
1024 if (!test_bit(I40E_FLAG_DCB_CAPABLE, pf->flags))