From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Dai Subject: [PATCH 24/29] net/ixgbe/base: add EEE support for DNL-controlled PHYs Date: Sun, 4 Dec 2016 14:31:35 +0800 Message-ID: <1480833100-48545-24-git-send-email-wei.dai@intel.com> References: <1480833100-48545-1-git-send-email-wei.dai@intel.com> Cc: dev@dpdk.org, Wei Dai To: helin.zhang@intel.com, konstantin.ananyev@intel.com Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 5A0EE2C07 for ; Sun, 4 Dec 2016 07:35:56 +0100 (CET) In-Reply-To: <1480833100-48545-1-git-send-email-wei.dai@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch adds EEE support for DNL-controlled PHYs. Because DNL does not indicate EEE capability or status, this patch simply assumes that it is supported. As soon as there is a DNL-supported PHY that does not support EEE, there will be defects in this area because the driver will not report the EEE status correctly. This also deletes some now-unused definitions from an earlier Marvell PHY implementation and combines a device ID check into a switch statement. Signed-off-by: Wei Dai --- drivers/net/ixgbe/base/ixgbe_type.h | 8 -------- drivers/net/ixgbe/base/ixgbe_x550.c | 15 +++++++-------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/drivers/net/ixgbe/base/ixgbe_type.h b/drivers/net/ixgbe/base/ixgbe_type.h index 9ec17a9..f1761a3 100644 --- a/drivers/net/ixgbe/base/ixgbe_type.h +++ b/drivers/net/ixgbe/base/ixgbe_type.h @@ -3720,14 +3720,6 @@ enum ixgbe_fc_mode { ixgbe_fc_default }; -/* Master/slave control */ -enum ixgbe_ms_type { - ixgbe_ms_hw_default = 0, - ixgbe_ms_force_master, - ixgbe_ms_force_slave, - ixgbe_ms_auto -}; - /* Smart Speed Settings */ #define IXGBE_SMARTSPEED_MAX_RETRIES 3 enum ixgbe_smart_speed { diff --git a/drivers/net/ixgbe/base/ixgbe_x550.c b/drivers/net/ixgbe/base/ixgbe_x550.c index 49b59e7..2aaed6b 100644 --- a/drivers/net/ixgbe/base/ixgbe_x550.c +++ b/drivers/net/ixgbe/base/ixgbe_x550.c @@ -896,19 +896,18 @@ s32 ixgbe_init_ops_X550EM_a(struct ixgbe_hw *hw) break; } - if ((hw->device_id == IXGBE_DEV_ID_X550EM_A_1G_T) || - (hw->device_id == IXGBE_DEV_ID_X550EM_A_1G_T_L)) { + switch (hw->device_id) { + case IXGBE_DEV_ID_X550EM_A_1G_T: + case IXGBE_DEV_ID_X550EM_A_1G_T_L: mac->ops.fc_autoneg = ixgbe_fc_autoneg_sgmii_x550em_a; mac->ops.setup_fc = ixgbe_fc_autoneg_fw; - } - - switch (hw->device_id) { - case IXGBE_DEV_ID_X550EM_A_KR: - case IXGBE_DEV_ID_X550EM_A_KR_L: mac->ops.setup_eee = ixgbe_setup_eee_fw; + hw->phy.eee_speeds_supported = IXGBE_LINK_SPEED_100_FULL | + IXGBE_LINK_SPEED_1GB_FULL; + hw->phy.eee_speeds_advertised = hw->phy.eee_speeds_supported; break; default: - mac->ops.setup_eee = NULL; + break; } return ret_val; -- 2.7.4