i40e: keep SR-IOV enabled in the case that RSS, VMDQ, FD_SB and DCB are disabled
Modify the logic in i40e_determine_queue_usage() so that SR-IOV doesn't get turned off unnecessarily. Change-ID: I86ca304fa9f742a50e9ea831b887f358a6a9d53d Signed-off-by: Frank Zhang <frank_1.zhang@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
a34977ba6c
commit
9aa7e9355d
|
@ -8180,9 +8180,7 @@ static void i40e_determine_queue_usage(struct i40e_pf *pf)
|
|||
queues_left = pf->hw.func_caps.num_tx_qp;
|
||||
|
||||
if ((queues_left == 1) ||
|
||||
!(pf->flags & I40E_FLAG_MSIX_ENABLED) ||
|
||||
!(pf->flags & (I40E_FLAG_RSS_ENABLED | I40E_FLAG_FD_SB_ENABLED |
|
||||
I40E_FLAG_DCB_ENABLED))) {
|
||||
!(pf->flags & I40E_FLAG_MSIX_ENABLED)) {
|
||||
/* one qp for PF, no queues for anything else */
|
||||
queues_left = 0;
|
||||
pf->rss_size = pf->num_lan_qps = 1;
|
||||
|
@ -8194,6 +8192,18 @@ static void i40e_determine_queue_usage(struct i40e_pf *pf)
|
|||
I40E_FLAG_DCB_ENABLED |
|
||||
I40E_FLAG_SRIOV_ENABLED |
|
||||
I40E_FLAG_VMDQ_ENABLED);
|
||||
} else if (!(pf->flags & (I40E_FLAG_RSS_ENABLED |
|
||||
I40E_FLAG_FD_SB_ENABLED |
|
||||
I40E_FLAG_DCB_ENABLED))) {
|
||||
/* one qp for PF */
|
||||
pf->rss_size = pf->num_lan_qps = 1;
|
||||
queues_left -= pf->num_lan_qps;
|
||||
|
||||
pf->flags &= ~(I40E_FLAG_RSS_ENABLED |
|
||||
I40E_FLAG_FD_SB_ENABLED |
|
||||
I40E_FLAG_FD_ATR_ENABLED |
|
||||
I40E_FLAG_DCB_ENABLED |
|
||||
I40E_FLAG_VMDQ_ENABLED);
|
||||
} else {
|
||||
/* Not enough queues for all TCs */
|
||||
if ((pf->flags & I40E_FLAG_DCB_ENABLED) &&
|
||||
|
|
Loading…
Reference in New Issue