Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/821430/?format=api
{ "id": 821430, "url": "http://patchwork.ozlabs.org/api/patches/821430/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20171004175839.28364-12-alan.brady@intel.com/", "project": { "id": 46, "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api", "name": "Intel Wired Ethernet development", "link_name": "intel-wired-lan", "list_id": "intel-wired-lan.osuosl.org", "list_email": "intel-wired-lan@osuosl.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20171004175839.28364-12-alan.brady@intel.com>", "list_archive_url": null, "date": "2017-10-04T17:58:37", "name": "[11/13,net-next] i40e: convert i40e_get_settings_link_up to new API", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": false, "hash": "a65eca096d0977f389caa6bf736eb3b47d1f2f55", "submitter": { "id": 69551, "url": "http://patchwork.ozlabs.org/api/people/69551/?format=api", "name": "Alan Brady", "email": "alan.brady@intel.com" }, "delegate": { "id": 68, "url": "http://patchwork.ozlabs.org/api/users/68/?format=api", "username": "jtkirshe", "first_name": "Jeff", "last_name": "Kirsher", "email": "jeffrey.t.kirsher@intel.com" }, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20171004175839.28364-12-alan.brady@intel.com/mbox/", "series": [ { "id": 6427, "url": "http://patchwork.ozlabs.org/api/series/6427/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=6427", "date": "2017-10-04T17:58:26", "name": "i40e: refactor ethtool interface", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/6427/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/821430/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/821430/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<intel-wired-lan-bounces@osuosl.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "intel-wired-lan@osuosl.org" ], "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "intel-wired-lan@osuosl.org" ], "Authentication-Results": "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=osuosl.org\n\t(client-ip=140.211.166.136; helo=silver.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)", "Received": [ "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6kHm1PDxz9t7n\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 5 Oct 2017 05:01:56 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 753882FF81;\n\tWed, 4 Oct 2017 18:01:54 +0000 (UTC)", "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id DZlD5iT4PEdB; Wed, 4 Oct 2017 18:01:51 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id 4DA4C2FF8D;\n\tWed, 4 Oct 2017 18:01:51 +0000 (UTC)", "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id 30DF11CE7B9\n\tfor <intel-wired-lan@osuosl.org>;\n\tWed, 4 Oct 2017 18:01:46 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 2795187A1B\n\tfor <intel-wired-lan@osuosl.org>;\n\tWed, 4 Oct 2017 18:01:46 +0000 (UTC)", "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id Vj0d4UuaKT4w for <intel-wired-lan@osuosl.org>;\n\tWed, 4 Oct 2017 18:01:45 +0000 (UTC)", "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id 61D3A87A28\n\tfor <intel-wired-lan@osuosl.org>;\n\tWed, 4 Oct 2017 18:01:45 +0000 (UTC)", "from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t04 Oct 2017 11:01:45 -0700", "from dev1-atbrady.jf.intel.com ([10.165.248.38])\n\tby FMSMGA003.fm.intel.com with ESMTP; 04 Oct 2017 11:01:44 -0700" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.42,478,1500966000\"; d=\"scan'208\";a=\"906754438\"", "From": "Alan Brady <alan.brady@intel.com>", "To": "intel-wired-lan@osuosl.org", "Date": "Wed, 4 Oct 2017 10:58:37 -0700", "Message-Id": "<20171004175839.28364-12-alan.brady@intel.com>", "X-Mailer": "git-send-email 2.14.1", "In-Reply-To": "<20171004175839.28364-1-alan.brady@intel.com>", "References": "<20171004175839.28364-1-alan.brady@intel.com>", "Subject": "[Intel-wired-lan] [PATCH 11/13 net-next] i40e: convert\n\ti40e_get_settings_link_up to new API", "X-BeenThere": "intel-wired-lan@osuosl.org", "X-Mailman-Version": "2.1.18-1", "Precedence": "list", "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.osuosl.org>", "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>", "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>", "List-Post": "<mailto:intel-wired-lan@osuosl.org>", "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>", "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "intel-wired-lan-bounces@osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>" }, "content": "This removes references to old ethtool API macros and functions in\ni40e_get_settings_link_up as part of the process of converting to the\nnew API. The new API also allows us to provide more explicit support\nfor new 25G and 10G PHY types so some of the PHY types have been\nadjusted where necessary as well.\n\nSigned-off-by: Alan Brady <alan.brady@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 187 +++++++++++++++++--------\n 1 file changed, 125 insertions(+), 62 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\nindex 76530a83eb70..df05bd510b77 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\n@@ -497,125 +497,192 @@ static void i40e_get_settings_link_up(struct i40e_hw *hw,\n \tstruct i40e_link_status *hw_link_info = &hw->phy.link_info;\n \tstruct ethtool_link_ksettings cap_ksettings;\n \tu32 link_speed = hw_link_info->link_speed;\n-\tu32 supported, advertising;\n-\n-\tethtool_convert_link_mode_to_legacy_u32(&supported,\n-\t\t\t\t\t\tks->link_modes.supported);\n-\tethtool_convert_link_mode_to_legacy_u32(&advertising,\n-\t\t\t\t\t\tks->link_modes.advertising);\n \n \t/* Initialize supported and advertised settings based on phy settings */\n \tswitch (hw_link_info->phy_type) {\n \tcase I40E_PHY_TYPE_40GBASE_CR4:\n \tcase I40E_PHY_TYPE_40GBASE_CR4_CU:\n-\t\tsupported = SUPPORTED_Autoneg |\n-\t\t\t SUPPORTED_40000baseCR4_Full;\n-\t\tadvertising = ADVERTISED_Autoneg |\n-\t\t\t ADVERTISED_40000baseCR4_Full;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 40000baseCR4_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 40000baseCR4_Full);\n \t\tbreak;\n \tcase I40E_PHY_TYPE_XLAUI:\n \tcase I40E_PHY_TYPE_XLPPI:\n \tcase I40E_PHY_TYPE_40GBASE_AOC:\n-\t\tsupported = SUPPORTED_40000baseCR4_Full;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 40000baseCR4_Full);\n \t\tbreak;\n \tcase I40E_PHY_TYPE_40GBASE_SR4:\n-\t\tsupported = SUPPORTED_40000baseSR4_Full;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 40000baseSR4_Full);\n \t\tbreak;\n \tcase I40E_PHY_TYPE_40GBASE_LR4:\n-\t\tsupported = SUPPORTED_40000baseLR4_Full;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 40000baseLR4_Full);\n \t\tbreak;\n+\tcase I40E_PHY_TYPE_25GBASE_SR:\n+\tcase I40E_PHY_TYPE_25GBASE_LR:\n \tcase I40E_PHY_TYPE_10GBASE_SR:\n \tcase I40E_PHY_TYPE_10GBASE_LR:\n \tcase I40E_PHY_TYPE_1000BASE_SX:\n \tcase I40E_PHY_TYPE_1000BASE_LX:\n-\t\tsupported = SUPPORTED_10000baseT_Full;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 25000baseSR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 25000baseSR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 10000baseSR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 10000baseSR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 10000baseLR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 10000baseLR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 1000baseX_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 1000baseX_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 10000baseT_Full);\n \t\tif (hw_link_info->module_type[2] &\n \t\t I40E_MODULE_TYPE_1000BASE_SX ||\n \t\t hw_link_info->module_type[2] &\n \t\t I40E_MODULE_TYPE_1000BASE_LX) {\n-\t\t\tsupported |= SUPPORTED_1000baseT_Full;\n+\t\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t\t 1000baseT_Full);\n \t\t\tif (hw_link_info->requested_speeds &\n \t\t\t I40E_LINK_SPEED_1GB)\n-\t\t\t\tadvertising |= ADVERTISED_1000baseT_Full;\n+\t\t\t\tethtool_link_ksettings_add_link_mode(\n+\t\t\t\t ks, advertising, 1000baseT_Full);\n \t\t}\n \t\tif (hw_link_info->requested_speeds & I40E_LINK_SPEED_10GB)\n-\t\t\tadvertising |= ADVERTISED_10000baseT_Full;\n+\t\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t\t 10000baseT_Full);\n \t\tbreak;\n \tcase I40E_PHY_TYPE_10GBASE_T:\n \tcase I40E_PHY_TYPE_1000BASE_T:\n \tcase I40E_PHY_TYPE_100BASE_TX:\n-\t\tsupported = SUPPORTED_Autoneg |\n-\t\t\t SUPPORTED_10000baseT_Full |\n-\t\t\t SUPPORTED_1000baseT_Full |\n-\t\t\t SUPPORTED_100baseT_Full;\n-\t\tadvertising = ADVERTISED_Autoneg;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 10000baseT_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 1000baseT_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 100baseT_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising, Autoneg);\n \t\tif (hw_link_info->requested_speeds & I40E_LINK_SPEED_10GB)\n-\t\t\tadvertising |= ADVERTISED_10000baseT_Full;\n+\t\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t\t 10000baseT_Full);\n \t\tif (hw_link_info->requested_speeds & I40E_LINK_SPEED_1GB)\n-\t\t\tadvertising |= ADVERTISED_1000baseT_Full;\n+\t\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t\t 1000baseT_Full);\n \t\tif (hw_link_info->requested_speeds & I40E_LINK_SPEED_100MB)\n-\t\t\tadvertising |= ADVERTISED_100baseT_Full;\n+\t\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t\t 100baseT_Full);\n \t\tbreak;\n \tcase I40E_PHY_TYPE_1000BASE_T_OPTICAL:\n-\t\tsupported = SUPPORTED_Autoneg |\n-\t\t\t SUPPORTED_1000baseT_Full;\n-\t\tadvertising = ADVERTISED_Autoneg |\n-\t\t\t ADVERTISED_1000baseT_Full;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 1000baseT_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 1000baseT_Full);\n \t\tbreak;\n \tcase I40E_PHY_TYPE_10GBASE_CR1_CU:\n \tcase I40E_PHY_TYPE_10GBASE_CR1:\n-\t\tsupported = SUPPORTED_Autoneg |\n-\t\t\t SUPPORTED_10000baseT_Full;\n-\t\tadvertising = ADVERTISED_Autoneg |\n-\t\t\t ADVERTISED_10000baseT_Full;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 10000baseT_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 10000baseT_Full);\n \t\tbreak;\n \tcase I40E_PHY_TYPE_XAUI:\n \tcase I40E_PHY_TYPE_XFI:\n \tcase I40E_PHY_TYPE_SFI:\n \tcase I40E_PHY_TYPE_10GBASE_SFPP_CU:\n \tcase I40E_PHY_TYPE_10GBASE_AOC:\n-\t\tsupported = SUPPORTED_10000baseT_Full;\n-\t\tadvertising = SUPPORTED_10000baseT_Full;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 10000baseT_Full);\n+\t\tif (hw_link_info->requested_speeds & I40E_LINK_SPEED_10GB)\n+\t\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t\t 10000baseT_Full);\n \t\tbreak;\n \tcase I40E_PHY_TYPE_SGMII:\n-\t\tsupported = SUPPORTED_Autoneg |\n-\t\t\t SUPPORTED_1000baseT_Full;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 1000baseT_Full);\n \t\tif (hw_link_info->requested_speeds & I40E_LINK_SPEED_1GB)\n-\t\t\tadvertising |= ADVERTISED_1000baseT_Full;\n+\t\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t\t 1000baseT_Full);\n \t\tif (pf->hw_features & I40E_HW_100M_SGMII_CAPABLE) {\n-\t\t\tsupported |= SUPPORTED_100baseT_Full;\n+\t\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t\t 100baseT_Full);\n \t\t\tif (hw_link_info->requested_speeds &\n \t\t\t I40E_LINK_SPEED_100MB)\n-\t\t\t\tadvertising |= ADVERTISED_100baseT_Full;\n+\t\t\t\tethtool_link_ksettings_add_link_mode(\n+\t\t\t\t ks, advertising, 100baseT_Full);\n \t\t}\n \t\tbreak;\n \tcase I40E_PHY_TYPE_40GBASE_KR4:\n+\tcase I40E_PHY_TYPE_25GBASE_KR:\n \tcase I40E_PHY_TYPE_20GBASE_KR2:\n \tcase I40E_PHY_TYPE_10GBASE_KR:\n \tcase I40E_PHY_TYPE_10GBASE_KX4:\n \tcase I40E_PHY_TYPE_1000BASE_KX:\n-\t\tsupported |= SUPPORTED_40000baseKR4_Full |\n-\t\t\t SUPPORTED_20000baseKR2_Full |\n-\t\t\t SUPPORTED_10000baseKR_Full |\n-\t\t\t SUPPORTED_10000baseKX4_Full |\n-\t\t\t SUPPORTED_1000baseKX_Full |\n-\t\t\t SUPPORTED_Autoneg;\n-\t\tadvertising |= ADVERTISED_40000baseKR4_Full |\n-\t\t\t ADVERTISED_20000baseKR2_Full |\n-\t\t\t ADVERTISED_10000baseKR_Full |\n-\t\t\t ADVERTISED_10000baseKX4_Full |\n-\t\t\t ADVERTISED_1000baseKX_Full |\n-\t\t\t ADVERTISED_Autoneg;\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 40000baseKR4_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 25000baseKR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 20000baseKR2_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 10000baseKR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 10000baseKX4_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 1000baseKX_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 40000baseKR4_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 25000baseKR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 20000baseKR2_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 10000baseKR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 10000baseKX4_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 1000baseKX_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising, Autoneg);\n \t\tbreak;\n-\tcase I40E_PHY_TYPE_25GBASE_KR:\n \tcase I40E_PHY_TYPE_25GBASE_CR:\n-\tcase I40E_PHY_TYPE_25GBASE_SR:\n-\tcase I40E_PHY_TYPE_25GBASE_LR:\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 25000baseCR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 25000baseCR_Full);\n+\t\tbreak;\n \tcase I40E_PHY_TYPE_25GBASE_AOC:\n \tcase I40E_PHY_TYPE_25GBASE_ACC:\n-\t\tsupported = SUPPORTED_Autoneg;\n-\t\tadvertising = ADVERTISED_Autoneg;\n-\t\t/* TODO: add speeds when ethtool is ready to support*/\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising, Autoneg);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 25000baseCR_Full);\n+\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 25000baseCR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, supported,\n+\t\t\t\t\t\t 10000baseCR_Full);\n+\t\tethtool_link_ksettings_add_link_mode(ks, advertising,\n+\t\t\t\t\t\t 10000baseCR_Full);\n \t\tbreak;\n \tdefault:\n \t\t/* if we got here and link is up something bad is afoot */\n@@ -628,10 +695,6 @@ static void i40e_get_settings_link_up(struct i40e_hw *hw,\n \t * current PHY type, get what is supported by the NVM and intersect\n \t * them to get what is truly supported\n \t */\n-\tethtool_convert_legacy_u32_to_link_mode(ks->link_modes.supported,\n-\t\t\t\t\t\tsupported);\n-\tethtool_convert_legacy_u32_to_link_mode(ks->link_modes.advertising,\n-\t\t\t\t\t\tadvertising);\n \tmemset(&cap_ksettings, 0, sizeof(struct ethtool_link_ksettings));\n \ti40e_phy_type_to_ethtool(pf, &cap_ksettings);\n \ti40e_intersect_link_masks(ks, &cap_ksettings);\n", "prefixes": [ "11/13", "net-next" ] }