Răsfoiți Sursa

qed: Add missing 100g init mode

Some of the HW configurations are currently missing for 100g devices.
This can cause various classification issues, as well as prevent device
from fully reaching line-rate.

Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Yuval Mintz 9 ani în urmă
părinte
comite
1af9dcf7f9
1 a modificat fișierele cu 7 adăugiri și 0 ștergeri
  1. 7 0
      drivers/net/ethernet/qlogic/qed/qed_dev.c

+ 7 - 0
drivers/net/ethernet/qlogic/qed/qed_dev.c

@@ -588,7 +588,14 @@ static void qed_calc_hw_mode(struct qed_hwfn *p_hwfn)
 
 
 	hw_mode |= 1 << MODE_ASIC;
 	hw_mode |= 1 << MODE_ASIC;
 
 
+	if (p_hwfn->cdev->num_hwfns > 1)
+		hw_mode |= 1 << MODE_100G;
+
 	p_hwfn->hw_info.hw_mode = hw_mode;
 	p_hwfn->hw_info.hw_mode = hw_mode;
+
+	DP_VERBOSE(p_hwfn, (NETIF_MSG_PROBE | NETIF_MSG_IFUP),
+		   "Configuring function for hw_mode: 0x%08x\n",
+		   p_hwfn->hw_info.hw_mode);
 }
 }
 
 
 /* Init run time data for all PFs on an engine. */
 /* Init run time data for all PFs on an engine. */