Commit 84590fd9 authored by Mitch Williams's avatar Mitch Williams Committed by Jeff Kirsher

i40evf: tweak Tx rate params and de-magic-ify

In order for the VF to achieve its programmed Tx rate, we need to set
the max credits value to 4. While we're at it, get rid of some magic
numbers.

Change-ID: I4f17b4d3a90f1e069bdd134a543f0aa22feac3a9
Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
Tested-by: default avatarSibai Li <sibai.li@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent dac9b31a
...@@ -2198,6 +2198,8 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev, ...@@ -2198,6 +2198,8 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev,
return ret; return ret;
} }
#define I40E_BW_CREDIT_DIVISOR 50 /* 50Mbps per BW credit */
#define I40E_MAX_BW_INACTIVE_ACCUM 4 /* device can accumulate 4 credits max */
/** /**
* i40e_ndo_set_vf_bw * i40e_ndo_set_vf_bw
* @netdev: network interface device structure * @netdev: network interface device structure
...@@ -2264,8 +2266,9 @@ int i40e_ndo_set_vf_bw(struct net_device *netdev, int vf_id, int min_tx_rate, ...@@ -2264,8 +2266,9 @@ int i40e_ndo_set_vf_bw(struct net_device *netdev, int vf_id, int min_tx_rate,
} }
/* Tx rate credits are in values of 50Mbps, 0 is disabled*/ /* Tx rate credits are in values of 50Mbps, 0 is disabled*/
ret = i40e_aq_config_vsi_bw_limit(&pf->hw, vsi->seid, max_tx_rate / 50, ret = i40e_aq_config_vsi_bw_limit(&pf->hw, vsi->seid,
0, NULL); max_tx_rate / I40E_BW_CREDIT_DIVISOR,
I40E_MAX_BW_INACTIVE_ACCUM, NULL);
if (ret) { if (ret) {
dev_err(&pf->pdev->dev, "Unable to set max tx rate, error code %d.\n", dev_err(&pf->pdev->dev, "Unable to set max tx rate, error code %d.\n",
ret); ret);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment