aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/i40e/i40e_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/intel/i40e/i40e_main.c')
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_main.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index c6ac7a61812f..d0b3a1bb82ca 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -5113,9 +5113,13 @@ static int i40e_init_pf_dcb(struct i40e_pf *pf)
5113 DCB_CAP_DCBX_VER_IEEE; 5113 DCB_CAP_DCBX_VER_IEEE;
5114 5114
5115 pf->flags |= I40E_FLAG_DCB_CAPABLE; 5115 pf->flags |= I40E_FLAG_DCB_CAPABLE;
5116 /* Enable DCB tagging only when more than one TC */ 5116 /* Enable DCB tagging only when more than one TC
5117 * or explicitly disable if only one TC
5118 */
5117 if (i40e_dcb_get_num_tc(&hw->local_dcbx_config) > 1) 5119 if (i40e_dcb_get_num_tc(&hw->local_dcbx_config) > 1)
5118 pf->flags |= I40E_FLAG_DCB_ENABLED; 5120 pf->flags |= I40E_FLAG_DCB_ENABLED;
5121 else
5122 pf->flags &= ~I40E_FLAG_DCB_ENABLED;
5119 dev_dbg(&pf->pdev->dev, 5123 dev_dbg(&pf->pdev->dev,
5120 "DCBX offload is supported for this PF.\n"); 5124 "DCBX offload is supported for this PF.\n");
5121 } 5125 }
@@ -5431,7 +5435,6 @@ int i40e_open(struct net_device *netdev)
5431 wr32(&pf->hw, I40E_GLLAN_TSOMSK_L, be32_to_cpu(TCP_FLAG_CWR) >> 16); 5435 wr32(&pf->hw, I40E_GLLAN_TSOMSK_L, be32_to_cpu(TCP_FLAG_CWR) >> 16);
5432 5436
5433 udp_tunnel_get_rx_info(netdev); 5437 udp_tunnel_get_rx_info(netdev);
5434 i40e_notify_client_of_netdev_open(vsi);
5435 5438
5436 return 0; 5439 return 0;
5437} 5440}
@@ -5717,7 +5720,7 @@ static int i40e_handle_lldp_event(struct i40e_pf *pf,
5717 u8 type; 5720 u8 type;
5718 5721
5719 /* Not DCB capable or capability disabled */ 5722 /* Not DCB capable or capability disabled */
5720 if (!(pf->flags & I40E_FLAG_DCB_CAPABLE)) 5723 if (!(pf->flags & I40E_FLAG_DCB_ENABLED))
5721 return ret; 5724 return ret;
5722 5725
5723 /* Ignore if event is not for Nearest Bridge */ 5726 /* Ignore if event is not for Nearest Bridge */
@@ -7897,6 +7900,7 @@ static int i40e_init_interrupt_scheme(struct i40e_pf *pf)
7897#endif 7900#endif
7898 I40E_FLAG_RSS_ENABLED | 7901 I40E_FLAG_RSS_ENABLED |
7899 I40E_FLAG_DCB_CAPABLE | 7902 I40E_FLAG_DCB_CAPABLE |
7903 I40E_FLAG_DCB_ENABLED |
7900 I40E_FLAG_SRIOV_ENABLED | 7904 I40E_FLAG_SRIOV_ENABLED |
7901 I40E_FLAG_FD_SB_ENABLED | 7905 I40E_FLAG_FD_SB_ENABLED |
7902 I40E_FLAG_FD_ATR_ENABLED | 7906 I40E_FLAG_FD_ATR_ENABLED |
@@ -10503,6 +10507,7 @@ static void i40e_determine_queue_usage(struct i40e_pf *pf)
10503 I40E_FLAG_FD_SB_ENABLED | 10507 I40E_FLAG_FD_SB_ENABLED |
10504 I40E_FLAG_FD_ATR_ENABLED | 10508 I40E_FLAG_FD_ATR_ENABLED |
10505 I40E_FLAG_DCB_CAPABLE | 10509 I40E_FLAG_DCB_CAPABLE |
10510 I40E_FLAG_DCB_ENABLED |
10506 I40E_FLAG_SRIOV_ENABLED | 10511 I40E_FLAG_SRIOV_ENABLED |
10507 I40E_FLAG_VMDQ_ENABLED); 10512 I40E_FLAG_VMDQ_ENABLED);
10508 } else if (!(pf->flags & (I40E_FLAG_RSS_ENABLED | 10513 } else if (!(pf->flags & (I40E_FLAG_RSS_ENABLED |
@@ -10526,7 +10531,8 @@ static void i40e_determine_queue_usage(struct i40e_pf *pf)
10526 /* Not enough queues for all TCs */ 10531 /* Not enough queues for all TCs */
10527 if ((pf->flags & I40E_FLAG_DCB_CAPABLE) && 10532 if ((pf->flags & I40E_FLAG_DCB_CAPABLE) &&
10528 (queues_left < I40E_MAX_TRAFFIC_CLASS)) { 10533 (queues_left < I40E_MAX_TRAFFIC_CLASS)) {
10529 pf->flags &= ~I40E_FLAG_DCB_CAPABLE; 10534 pf->flags &= ~(I40E_FLAG_DCB_CAPABLE |
10535 I40E_FLAG_DCB_ENABLED);
10530 dev_info(&pf->pdev->dev, "not enough queues for DCB. DCB is disabled.\n"); 10536 dev_info(&pf->pdev->dev, "not enough queues for DCB. DCB is disabled.\n");
10531 } 10537 }
10532 pf->num_lan_qps = max_t(int, pf->rss_size_max, 10538 pf->num_lan_qps = max_t(int, pf->rss_size_max,
@@ -10923,7 +10929,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
10923 err = i40e_init_pf_dcb(pf); 10929 err = i40e_init_pf_dcb(pf);
10924 if (err) { 10930 if (err) {
10925 dev_info(&pdev->dev, "DCB init failed %d, disabled\n", err); 10931 dev_info(&pdev->dev, "DCB init failed %d, disabled\n", err);
10926 pf->flags &= ~I40E_FLAG_DCB_CAPABLE; 10932 pf->flags &= ~(I40E_FLAG_DCB_CAPABLE & I40E_FLAG_DCB_ENABLED);
10927 /* Continue without DCB enabled */ 10933 /* Continue without DCB enabled */
10928 } 10934 }
10929#endif /* CONFIG_I40E_DCB */ 10935#endif /* CONFIG_I40E_DCB */