[dpdk-dev,26/26] ixgbe/base: block EEE(Energy Efficient Ethernet) setup on the interfaces that don't support EEE

Message ID 1433481718-24253-27-git-send-email-wenzhuo.lu@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Wenzhuo Lu June 5, 2015, 5:21 a.m. UTC
  This patch sets the setup_EEE function pointer to NULL for the
interfaces which do not support EEE. Currently only the KR backplane
interface (0x15AB) supports EEE. Setting this pointer to NULL prevents
EEE registers from being incorrectly modified and gives base drivers a
flag to check for EEE support.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/base/ixgbe_x550.c | 3 +++
 1 file changed, 3 insertions(+)
  

Patch

diff --git a/drivers/net/ixgbe/base/ixgbe_x550.c b/drivers/net/ixgbe/base/ixgbe_x550.c
index 8edc52c..da312ba 100644
--- a/drivers/net/ixgbe/base/ixgbe_x550.c
+++ b/drivers/net/ixgbe/base/ixgbe_x550.c
@@ -390,6 +390,9 @@  s32 ixgbe_init_ops_X550EM(struct ixgbe_hw *hw)
 	mac->ops.acquire_swfw_sync = ixgbe_acquire_swfw_sync_X550em;
 	mac->ops.release_swfw_sync = ixgbe_release_swfw_sync_X550em;
 
+	if (hw->device_id != IXGBE_DEV_ID_X550EM_X_KR)
+		mac->ops.setup_eee = NULL;
+
 	/* PHY */
 	phy->ops.init = ixgbe_init_phy_ops_X550em;
 	phy->ops.identify = ixgbe_identify_phy_x550em;