mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 17:11:46 +00:00
ixgbe: define IXGBE_MAX_VFS_DRV_LIMIT macro and cleanup const 63
Because ixgbe driver limit the max number of VF functions could be enabled to 63, so define one macro IXGBE_MAX_VFS_DRV_LIMIT and cleanup the const 63 in code. v3: revised for net-next tree. Signed-off-by: Ethan Zhao <ethan.kernel@gmail.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6c7e7610ff
commit
dcc23e3ab6
3 changed files with 9 additions and 4 deletions
|
@ -5067,7 +5067,7 @@ static int ixgbe_sw_init(struct ixgbe_adapter *adapter)
|
||||||
|
|
||||||
/* assign number of SR-IOV VFs */
|
/* assign number of SR-IOV VFs */
|
||||||
if (hw->mac.type != ixgbe_mac_82598EB) {
|
if (hw->mac.type != ixgbe_mac_82598EB) {
|
||||||
if (max_vfs > 63) {
|
if (max_vfs > IXGBE_MAX_VFS_DRV_LIMIT) {
|
||||||
adapter->num_vfs = 0;
|
adapter->num_vfs = 0;
|
||||||
e_dev_warn("max_vfs parameter out of range. Not assigning any SR-IOV VFs\n");
|
e_dev_warn("max_vfs parameter out of range. Not assigning any SR-IOV VFs\n");
|
||||||
} else {
|
} else {
|
||||||
|
@ -8020,7 +8020,7 @@ static int ixgbe_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
ixgbe_init_mbx_params_pf(hw);
|
ixgbe_init_mbx_params_pf(hw);
|
||||||
memcpy(&hw->mbx.ops, ii->mbx_ops, sizeof(hw->mbx.ops));
|
memcpy(&hw->mbx.ops, ii->mbx_ops, sizeof(hw->mbx.ops));
|
||||||
ixgbe_enable_sriov(adapter);
|
ixgbe_enable_sriov(adapter);
|
||||||
pci_sriov_set_totalvfs(pdev, 63);
|
pci_sriov_set_totalvfs(pdev, IXGBE_MAX_VFS_DRV_LIMIT);
|
||||||
skip_sriov:
|
skip_sriov:
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -148,7 +148,7 @@ void ixgbe_enable_sriov(struct ixgbe_adapter *adapter)
|
||||||
* physical function. If the user requests greater thn
|
* physical function. If the user requests greater thn
|
||||||
* 63 VFs then it is an error - reset to default of zero.
|
* 63 VFs then it is an error - reset to default of zero.
|
||||||
*/
|
*/
|
||||||
adapter->num_vfs = min_t(unsigned int, adapter->num_vfs, 63);
|
adapter->num_vfs = min_t(unsigned int, adapter->num_vfs, IXGBE_MAX_VFS_DRV_LIMIT);
|
||||||
|
|
||||||
err = pci_enable_sriov(adapter->pdev, adapter->num_vfs);
|
err = pci_enable_sriov(adapter->pdev, adapter->num_vfs);
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -257,7 +257,7 @@ static int ixgbe_pci_sriov_enable(struct pci_dev *dev, int num_vfs)
|
||||||
* PF. The PCI bus driver already checks for other values out of
|
* PF. The PCI bus driver already checks for other values out of
|
||||||
* range.
|
* range.
|
||||||
*/
|
*/
|
||||||
if (num_vfs > 63) {
|
if (num_vfs > IXGBE_MAX_VFS_DRV_LIMIT) {
|
||||||
err = -EPERM;
|
err = -EPERM;
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,11 @@
|
||||||
#ifndef _IXGBE_SRIOV_H_
|
#ifndef _IXGBE_SRIOV_H_
|
||||||
#define _IXGBE_SRIOV_H_
|
#define _IXGBE_SRIOV_H_
|
||||||
|
|
||||||
|
/* ixgbe driver limit the max number of VFs could be enabled to
|
||||||
|
* 63 (IXGBE_MAX_VF_FUNCTIONS - 1)
|
||||||
|
*/
|
||||||
|
#define IXGBE_MAX_VFS_DRV_LIMIT (IXGBE_MAX_VF_FUNCTIONS - 1)
|
||||||
|
|
||||||
void ixgbe_restore_vf_multicasts(struct ixgbe_adapter *adapter);
|
void ixgbe_restore_vf_multicasts(struct ixgbe_adapter *adapter);
|
||||||
void ixgbe_msg_task(struct ixgbe_adapter *adapter);
|
void ixgbe_msg_task(struct ixgbe_adapter *adapter);
|
||||||
int ixgbe_vf_configuration(struct pci_dev *pdev, unsigned int event_mask);
|
int ixgbe_vf_configuration(struct pci_dev *pdev, unsigned int event_mask);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue