* [Intel-wired-lan] [next-queue] ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support
@ 2020-06-26 5:02 Jeff Kirsher
2020-06-26 12:22 ` Piotr Skajewski
2020-06-30 10:54 ` Dan Carpenter
0 siblings, 2 replies; 5+ messages in thread
From: Jeff Kirsher @ 2020-06-26 5:02 UTC (permalink / raw)
To: intel-wired-lan
Update the ixgbe ethtool interface to support 2.5 and 5 GbE support by
updated the getting and setting advertised and supported speed modes.
CC: Arthur F Mclean <arthur.f.mclean@intel.com>
CC: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
.../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 234 ++++++++++++------
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +
2 files changed, 155 insertions(+), 81 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
index 8ae2c8c2f6a1..c4e4aa33c91d 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
@@ -149,28 +149,6 @@ static const char ixgbe_priv_flags_strings[][ETH_GSTRING_LEN] = {
#define ixgbe_isbackplane(type) ((type) == ixgbe_media_type_backplane)
-static u32 ixgbe_get_supported_10gtypes(struct ixgbe_hw *hw)
-{
- if (!ixgbe_isbackplane(hw->phy.media_type))
- return SUPPORTED_10000baseT_Full;
-
- switch (hw->device_id) {
- case IXGBE_DEV_ID_82598:
- case IXGBE_DEV_ID_82599_KX4:
- case IXGBE_DEV_ID_82599_KX4_MEZZ:
- case IXGBE_DEV_ID_X550EM_X_KX4:
- return SUPPORTED_10000baseKX4_Full;
- case IXGBE_DEV_ID_82598_BX:
- case IXGBE_DEV_ID_82599_KR:
- case IXGBE_DEV_ID_X550EM_X_KR:
- case IXGBE_DEV_ID_X550EM_X_XFI:
- return SUPPORTED_10000baseKR_Full;
- default:
- return SUPPORTED_10000baseKX4_Full |
- SUPPORTED_10000baseKR_Full;
- }
-}
-
static int ixgbe_get_link_ksettings(struct net_device *netdev,
struct ethtool_link_ksettings *cmd)
{
@@ -178,55 +156,131 @@ static int ixgbe_get_link_ksettings(struct net_device *netdev,
struct ixgbe_hw *hw = &adapter->hw;
ixgbe_link_speed supported_link;
bool autoneg = false;
- u32 supported, advertising;
- ethtool_convert_link_mode_to_legacy_u32(&supported,
- cmd->link_modes.supported);
+ ethtool_link_ksettings_zero_link_mode(cmd, supported);
+ ethtool_link_ksettings_zero_link_mode(cmd, advertising);
hw->mac.ops.get_link_capabilities(hw, &supported_link, &autoneg);
-
/* set the supported link speeds */
- if (supported_link & IXGBE_LINK_SPEED_10GB_FULL)
- supported |= ixgbe_get_supported_10gtypes(hw);
- if (supported_link & IXGBE_LINK_SPEED_1GB_FULL)
- supported |= (ixgbe_isbackplane(hw->phy.media_type)) ?
- SUPPORTED_1000baseKX_Full :
- SUPPORTED_1000baseT_Full;
- if (supported_link & IXGBE_LINK_SPEED_100_FULL)
- supported |= SUPPORTED_100baseT_Full;
- if (supported_link & IXGBE_LINK_SPEED_10_FULL)
- supported |= SUPPORTED_10baseT_Full;
-
- /* default advertised speed if phy.autoneg_advertised isn't set */
- advertising = supported;
+ if (supported_link & IXGBE_LINK_SPEED_10GB_FULL) {
+ if (ixgbe_isbackplane(hw->phy.media_type)) {
+ switch (hw->device_id) {
+ case IXGBE_DEV_ID_82598:
+ case IXGBE_DEV_ID_82599_KX4:
+ case IXGBE_DEV_ID_82599_KX4_MEZZ:
+ case IXGBE_DEV_ID_X550EM_X_KX4:
+ ethtool_link_ksettings_add_link_mode
+ (cmd, supported, 10000baseKX4_Full);
+ ethtool_link_ksettings_add_link_mode
+ (cmd, advertising, 10000baseKX4_Full);
+ break;
+ case IXGBE_DEV_ID_82598_BX:
+ case IXGBE_DEV_ID_82599_KR:
+ case IXGBE_DEV_ID_X550EM_X_KR:
+ case IXGBE_DEV_ID_X550EM_X_XFI:
+ ethtool_link_ksettings_add_link_mode
+ (cmd, supported, 10000baseKR_Full);
+ ethtool_link_ksettings_add_link_mode
+ (cmd, advertising, 10000baseKR_Full);
+ break;
+ default:
+ ethtool_link_ksettings_add_link_mode
+ (cmd, supported, 10000baseKX4_Full);
+ ethtool_link_ksettings_add_link_mode
+ (cmd, advertising, 10000baseKX4_Full);
+ ethtool_link_ksettings_add_link_mode
+ (cmd, supported, 10000baseKR_Full);
+ ethtool_link_ksettings_add_link_mode
+ (cmd, advertising, 10000baseKR_Full);
+ break;
+ }
+ } else {
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ 10000baseT_Full);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ 10000baseT_Full);
+ }
+ }
+ if (supported_link & IXGBE_LINK_SPEED_5GB_FULL)
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ 5000baseT_Full);
+ if (supported_link & IXGBE_LINK_SPEED_2_5GB_FULL)
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ 2500baseT_Full);
+ if (supported_link & IXGBE_LINK_SPEED_1GB_FULL) {
+ if (ixgbe_isbackplane(hw->phy.media_type)) {
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ 1000baseKX_Full);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ 1000baseKX_Full);
+ } else {
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ 1000baseT_Full);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ 1000baseT_Full);
+ }
+ }
+ if (supported_link & IXGBE_LINK_SPEED_100_FULL) {
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ 100baseT_Full);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ 100baseT_Full);
+ }
+ if (supported_link & IXGBE_LINK_SPEED_10_FULL) {
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ 10baseT_Full);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ 10baseT_Full);
+ }
+
/* set the advertised speeds */
if (hw->phy.autoneg_advertised) {
- advertising = 0;
+ ethtool_link_ksettings_zero_link_mode(cmd, advertising);
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10_FULL)
- advertising |= ADVERTISED_10baseT_Full;
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ 10baseT_Full);
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_100_FULL)
- advertising |= ADVERTISED_100baseT_Full;
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ 100baseT_Full);
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10GB_FULL)
- advertising |= supported & ADVRTSD_MSK_10G;
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ 10000baseT_Full);
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_1GB_FULL) {
- if (supported & SUPPORTED_1000baseKX_Full)
- advertising |= ADVERTISED_1000baseKX_Full;
+ if (ethtool_link_ksettings_test_link_mode(cmd,
+ supported,
+ 1000baseKX_Full))
+ ethtool_link_ksettings_add_link_mode(cmd,
+ advertising,
+ 1000baseKX_Full);
else
- advertising |= ADVERTISED_1000baseT_Full;
+ ethtool_link_ksettings_add_link_mode(cmd,
+ advertising,
+ 1000baseT_Full);
+ }
+ if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_5GB_FULL) {
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ 5000baseT_Full);
+ }
+ if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_2_5GB_FULL) {
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ 2500baseT_Full);
}
} else {
if (hw->phy.multispeed_fiber && !autoneg) {
if (supported_link & IXGBE_LINK_SPEED_10GB_FULL)
- advertising = ADVERTISED_10000baseT_Full;
+ ethtool_link_ksettings_add_link_mode(cmd,
+ advertising,
+ 10000baseT_Full);
}
}
if (autoneg) {
- supported |= SUPPORTED_Autoneg;
- advertising |= ADVERTISED_Autoneg;
+ ethtool_link_ksettings_add_link_mode(cmd, supported, Autoneg);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising, Autoneg);
cmd->base.autoneg = AUTONEG_ENABLE;
- } else
+ } else {
cmd->base.autoneg = AUTONEG_DISABLE;
+ }
/* Determine the remaining settings based on the PHY type. */
switch (adapter->hw.phy.type) {
@@ -235,13 +289,13 @@ static int ixgbe_get_link_ksettings(struct net_device *netdev,
case ixgbe_phy_x550em_ext_t:
case ixgbe_phy_fw:
case ixgbe_phy_cu_unknown:
- supported |= SUPPORTED_TP;
- advertising |= ADVERTISED_TP;
+ ethtool_link_ksettings_add_link_mode(cmd, supported, TP);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising, TP);
cmd->base.port = PORT_TP;
break;
case ixgbe_phy_qt:
- supported |= SUPPORTED_FIBRE;
- advertising |= ADVERTISED_FIBRE;
+ ethtool_link_ksettings_add_link_mode(cmd, supported, FIBRE);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising, FIBRE);
cmd->base.port = PORT_FIBRE;
break;
case ixgbe_phy_nl:
@@ -255,13 +309,15 @@ static int ixgbe_get_link_ksettings(struct net_device *netdev,
case ixgbe_phy_qsfp_active_unknown:
case ixgbe_phy_qsfp_intel:
case ixgbe_phy_qsfp_unknown:
- /* SFP+ devices, further checking needed */
switch (adapter->hw.phy.sfp_type) {
+ /* SFP+ devices, further checking needed */
case ixgbe_sfp_type_da_cu:
case ixgbe_sfp_type_da_cu_core0:
case ixgbe_sfp_type_da_cu_core1:
- supported |= SUPPORTED_FIBRE;
- advertising |= ADVERTISED_FIBRE;
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ FIBRE);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ FIBRE);
cmd->base.port = PORT_DA;
break;
case ixgbe_sfp_type_sr:
@@ -272,61 +328,72 @@ static int ixgbe_get_link_ksettings(struct net_device *netdev,
case ixgbe_sfp_type_1g_sx_core1:
case ixgbe_sfp_type_1g_lx_core0:
case ixgbe_sfp_type_1g_lx_core1:
- supported |= SUPPORTED_FIBRE;
- advertising |= ADVERTISED_FIBRE;
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ FIBRE);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ FIBRE);
cmd->base.port = PORT_FIBRE;
break;
case ixgbe_sfp_type_not_present:
- supported |= SUPPORTED_FIBRE;
- advertising |= ADVERTISED_FIBRE;
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ FIBRE);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ FIBRE);
cmd->base.port = PORT_NONE;
break;
case ixgbe_sfp_type_1g_cu_core0:
case ixgbe_sfp_type_1g_cu_core1:
- supported |= SUPPORTED_TP;
- advertising |= ADVERTISED_TP;
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ TP);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ TP);
cmd->base.port = PORT_TP;
break;
case ixgbe_sfp_type_unknown:
default:
- supported |= SUPPORTED_FIBRE;
- advertising |= ADVERTISED_FIBRE;
+ ethtool_link_ksettings_add_link_mode(cmd, supported,
+ FIBRE);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ FIBRE);
cmd->base.port = PORT_OTHER;
break;
}
break;
case ixgbe_phy_xaui:
- supported |= SUPPORTED_FIBRE;
- advertising |= ADVERTISED_FIBRE;
+ ethtool_link_ksettings_add_link_mode(cmd, supported, FIBRE);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising, FIBRE);
cmd->base.port = PORT_NONE;
break;
case ixgbe_phy_unknown:
case ixgbe_phy_generic:
case ixgbe_phy_sfp_unsupported:
default:
- supported |= SUPPORTED_FIBRE;
- advertising |= ADVERTISED_FIBRE;
+ ethtool_link_ksettings_add_link_mode(cmd, supported, FIBRE);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising, FIBRE);
cmd->base.port = PORT_OTHER;
break;
}
/* Indicate pause support */
- supported |= SUPPORTED_Pause;
+ ethtool_link_ksettings_add_link_mode(cmd, supported, Pause);
switch (hw->fc.requested_mode) {
case ixgbe_fc_full:
- advertising |= ADVERTISED_Pause;
+ ethtool_link_ksettings_add_link_mode(cmd, advertising, Pause);
break;
case ixgbe_fc_rx_pause:
- advertising |= ADVERTISED_Pause |
- ADVERTISED_Asym_Pause;
+ ethtool_link_ksettings_add_link_mode(cmd, advertising, Pause);
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ Asym_Pause);
break;
case ixgbe_fc_tx_pause:
- advertising |= ADVERTISED_Asym_Pause;
+ ethtool_link_ksettings_add_link_mode(cmd, advertising,
+ Asym_Pause);
break;
default:
- advertising &= ~(ADVERTISED_Pause |
- ADVERTISED_Asym_Pause);
+ ethtool_link_ksettings_del_link_mode(cmd, advertising, Pause);
+ ethtool_link_ksettings_del_link_mode(cmd, advertising,
+ Asym_Pause);
}
if (netif_carrier_ok(netdev)) {
@@ -358,11 +425,6 @@ static int ixgbe_get_link_ksettings(struct net_device *netdev,
cmd->base.duplex = DUPLEX_UNKNOWN;
}
- ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported,
- supported);
- ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.advertising,
- advertising);
-
return 0;
}
@@ -402,6 +464,16 @@ static int ixgbe_set_link_ksettings(struct net_device *netdev,
if (advertising & ADVERTISED_10000baseT_Full)
advertised |= IXGBE_LINK_SPEED_10GB_FULL;
+ if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
+ 5000baseT_Full))
+ advertised |= IXGBE_LINK_SPEED_5GB_FULL;
+
+ if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
+ 2500baseT_Full))
+ advertised |= IXGBE_LINK_SPEED_2_5GB_FULL;
+
+ if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
+ 1000baseT_Full))
if (advertising & ADVERTISED_1000baseT_Full)
advertised |= IXGBE_LINK_SPEED_1GB_FULL;
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 7515ed825fe2..0c7d208d9ab0 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -5512,6 +5512,8 @@ static int ixgbe_non_sfp_link_config(struct ixgbe_hw *hw)
if (ret)
return ret;
+ speed &= ~(IXGBE_LINK_SPEED_5GB_FULL | IXGBE_LINK_SPEED_2_5GB_FULL);
+
if (hw->mac.ops.setup_link)
ret = hw->mac.ops.setup_link(hw, speed, link_up);
--
2.26.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Intel-wired-lan] [next-queue] ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support
2020-06-26 5:02 Jeff Kirsher
@ 2020-06-26 12:22 ` Piotr Skajewski
2020-06-30 10:54 ` Dan Carpenter
1 sibling, 0 replies; 5+ messages in thread
From: Piotr Skajewski @ 2020-06-26 12:22 UTC (permalink / raw)
To: intel-wired-lan
>> -----Original Message-----
>>
>> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
>> To: intel-wired-lan at lists.osuosl.org
>> Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>, Arthur F Mclean
>> <arthur.f.mclean@intel.com>, Aleksandr Loktionov
>> <aleksandr.loktionov@intel.com>
>> Subject: [Intel-wired-lan] [next-queue] ixgbe: Add ethtool support to
>> enable 2.5 and 5.0 Gbps support
>> Message-ID: <20200626050228.1287009-1-jeffrey.t.kirsher@intel.com>
>>
>> Update the ixgbe ethtool interface to support 2.5 and 5 GbE support by updated the getting and setting advertised and supported speed modes.
>>
>> CC: Arthur F Mclean <arthur.f.mclean@intel.com>
>> CC: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
>> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
>> ---
>> .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 234 ++++++++++++------
>> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +
>> 2 files changed, 155 insertions(+), 81 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
>> index 8ae2c8c2f6a1..c4e4aa33c91d 100644
>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
>> @@ -149,28 +149,6 @@ static const char ixgbe_priv_flags_strings[][ETH_GSTRING_LEN] = {
>>
...
>> /* set the advertised speeds */
>> if (hw->phy.autoneg_advertised) {
>> - advertising = 0;
>> + ethtool_link_ksettings_zero_link_mode(cmd, advertising);
>> if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10_FULL)
>> - advertising |= ADVERTISED_10baseT_Full;
>> + ethtool_link_ksettings_add_link_mode(cmd, advertising,
>> + 10baseT_Full);
>> if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_100_FULL)
>> - advertising |= ADVERTISED_100baseT_Full;
>> + ethtool_link_ksettings_add_link_mode(cmd, advertising,
>> + 100baseT_Full);
>> if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10GB_FULL)
>> - advertising |= supported & ADVRTSD_MSK_10G;
we need to add advertised for KX4 and KR modes which was previous in ADVRTSD_MSK_10G
and which are already zeroed
>> + ethtool_link_ksettings_add_link_mode(cmd, advertising,
>> + 10000baseT_Full);
>> if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_1GB_FULL) {
...
>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>> index 7515ed825fe2..0c7d208d9ab0 100644
>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>> @@ -5512,6 +5512,8 @@ static int ixgbe_non_sfp_link_config(struct ixgbe_hw *hw)
>> if (ret)
>> return ret;
>>
>> + speed &= ~(IXGBE_LINK_SPEED_5GB_FULL | IXGBE_LINK_SPEED_2_5GB_FULL);
this should be inside
if (!speed && hw->mac.ops.get_link_capabilities)
if not, then after ifdown/ifup all advertised speed will be available again
>> +
>> if (hw->mac.ops.setup_link)
>> ret = hw->mac.ops.setup_link(hw, speed, link_up);
>>
>> --
>> 2.26.2
we've worked on this upstream patch before, we wanted to publish it today
after some inside tests. Patch is already ready to publish.
Now we are going to publish a new patch wihh you in cc.
Piotr
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Intel-wired-lan] [next-queue] ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support
@ 2020-06-26 17:37 kernel test robot
0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2020-06-26 17:37 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 12956 bytes --]
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20200626050228.1287009-1-jeffrey.t.kirsher@intel.com>
References: <20200626050228.1287009-1-jeffrey.t.kirsher@intel.com>
TO: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Hi Jeff,
I love your patch! Perhaps something to improve:
[auto build test WARNING on jkirsher-next-queue/dev-queue]
[also build test WARNING on v5.8-rc2 next-20200626]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Jeff-Kirsher/ixgbe-Add-ethtool-support-to-enable-2-5-and-5-0-Gbps-support/20200626-130545
base: https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
:::::: branch date: 13 hours ago
:::::: commit date: 13 hours ago
config: x86_64-randconfig-m001-20200624 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c:475 ixgbe_set_link_ksettings() warn: if statement not indented
# https://github.com/0day-ci/linux/commit/6607c3800b28dc6f72dc1018bf23cfeabe5aefde
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 6607c3800b28dc6f72dc1018bf23cfeabe5aefde
vim +475 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 430
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 431 static int ixgbe_set_link_ksettings(struct net_device *netdev,
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 432 const struct ethtool_link_ksettings *cmd)
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 433 {
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 434 struct ixgbe_adapter *adapter = netdev_priv(netdev);
735441fb1a3b21 drivers/net/ixgbe/ixgbe_ethtool.c Ayyappan Veeraiyan 2008-02-01 435 struct ixgbe_hw *hw = &adapter->hw;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 436 u32 advertised, old;
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 437 s32 err = 0;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 438 u32 supported, advertising;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 439
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 440 ethtool_convert_link_mode_to_legacy_u32(&supported,
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 441 cmd->link_modes.supported);
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 442 ethtool_convert_link_mode_to_legacy_u32(&advertising,
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 443 cmd->link_modes.advertising);
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 444
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 445 if ((hw->phy.media_type == ixgbe_media_type_copper) ||
a380137900fca5 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-30 446 (hw->phy.multispeed_fiber)) {
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 447 /*
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 448 * this function does not support duplex forcing, but can
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 449 * limit the advertising of the adapter to the specified speed
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 450 */
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 451 if (advertising & ~supported)
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 452 return -EINVAL;
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 453
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 454 /* only allow one speed at a time if no autoneg */
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 455 if (!cmd->base.autoneg && hw->phy.multispeed_fiber) {
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 456 if (advertising ==
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 457 (ADVERTISED_10000baseT_Full |
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 458 ADVERTISED_1000baseT_Full))
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 459 return -EINVAL;
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 460 }
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 461
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 462 old = hw->phy.autoneg_advertised;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 463 advertised = 0;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 464 if (advertising & ADVERTISED_10000baseT_Full)
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 465 advertised |= IXGBE_LINK_SPEED_10GB_FULL;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 466
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 467 if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 468 5000baseT_Full))
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 469 advertised |= IXGBE_LINK_SPEED_5GB_FULL;
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 470
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 471 if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 472 2500baseT_Full))
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 473 advertised |= IXGBE_LINK_SPEED_2_5GB_FULL;
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 474
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 @475 if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 476 1000baseT_Full))
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 477 if (advertising & ADVERTISED_1000baseT_Full)
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 478 advertised |= IXGBE_LINK_SPEED_1GB_FULL;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 479
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 480 if (advertising & ADVERTISED_100baseT_Full)
2b642ca5e93fa1 drivers/net/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-03-04 481 advertised |= IXGBE_LINK_SPEED_100_FULL;
2b642ca5e93fa1 drivers/net/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-03-04 482
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 483 if (advertising & ADVERTISED_10baseT_Full)
b3eb4e1860f359 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Mark Rustad 2016-12-14 484 advertised |= IXGBE_LINK_SPEED_10_FULL;
b3eb4e1860f359 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Mark Rustad 2016-12-14 485
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 486 if (old == advertised)
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 487 return err;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 488 /* this sets the link speed and restarts auto-neg */
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 489 while (test_and_set_bit(__IXGBE_IN_SFP_INIT, &adapter->state))
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 490 usleep_range(1000, 2000);
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 491
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 492 hw->mac.autotry_restart = true;
fd0326f2cf9e5d drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Josh Hay 2012-12-15 493 err = hw->mac.ops.setup_link(hw, advertised, true);
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 494 if (err) {
396e799c3ac29f drivers/net/ixgbe/ixgbe_ethtool.c Emil Tantilov 2010-07-01 495 e_info(probe, "setup link failed with code %d\n", err);
fd0326f2cf9e5d drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Josh Hay 2012-12-15 496 hw->mac.ops.setup_link(hw, old, true);
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 497 }
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 498 clear_bit(__IXGBE_IN_SFP_INIT, &adapter->state);
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 499 } else {
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 500 /* in this case we currently only support 10Gb/FULL */
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 501 u32 speed = cmd->base.speed;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 502
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 503 if ((cmd->base.autoneg == AUTONEG_ENABLE) ||
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 504 (advertising != ADVERTISED_10000baseT_Full) ||
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 505 (speed + cmd->base.duplex != SPEED_10000 + DUPLEX_FULL))
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 506 return -EINVAL;
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 507 }
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 508
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 509 return err;
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 510 }
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 511
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33440 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Intel-wired-lan] [next-queue] ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support
2020-06-26 5:02 Jeff Kirsher
@ 2020-06-30 10:54 ` Dan Carpenter
2020-06-30 10:54 ` Dan Carpenter
1 sibling, 0 replies; 5+ messages in thread
From: Dan Carpenter @ 2020-06-30 10:54 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 12205 bytes --]
Hi Jeff,
url: https://github.com/0day-ci/linux/commits/Jeff-Kirsher/ixgbe-Add-ethtool-support-to-enable-2-5-and-5-0-Gbps-support/20200626-130545
base: https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
config: x86_64-randconfig-m001-20200624 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c:475 ixgbe_set_link_ksettings() warn: if statement not indented
# https://github.com/0day-ci/linux/commit/6607c3800b28dc6f72dc1018bf23cfeabe5aefde
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 6607c3800b28dc6f72dc1018bf23cfeabe5aefde
vim +475 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 431 static int ixgbe_set_link_ksettings(struct net_device *netdev,
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 432 const struct ethtool_link_ksettings *cmd)
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 433 {
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 434 struct ixgbe_adapter *adapter = netdev_priv(netdev);
735441fb1a3b21 drivers/net/ixgbe/ixgbe_ethtool.c Ayyappan Veeraiyan 2008-02-01 435 struct ixgbe_hw *hw = &adapter->hw;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 436 u32 advertised, old;
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 437 s32 err = 0;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 438 u32 supported, advertising;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 439
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 440 ethtool_convert_link_mode_to_legacy_u32(&supported,
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 441 cmd->link_modes.supported);
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 442 ethtool_convert_link_mode_to_legacy_u32(&advertising,
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 443 cmd->link_modes.advertising);
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 444
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 445 if ((hw->phy.media_type == ixgbe_media_type_copper) ||
a380137900fca5 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-30 446 (hw->phy.multispeed_fiber)) {
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 447 /*
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 448 * this function does not support duplex forcing, but can
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 449 * limit the advertising of the adapter to the specified speed
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 450 */
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 451 if (advertising & ~supported)
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 452 return -EINVAL;
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 453
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 454 /* only allow one speed at a time if no autoneg */
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 455 if (!cmd->base.autoneg && hw->phy.multispeed_fiber) {
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 456 if (advertising ==
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 457 (ADVERTISED_10000baseT_Full |
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 458 ADVERTISED_1000baseT_Full))
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 459 return -EINVAL;
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 460 }
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 461
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 462 old = hw->phy.autoneg_advertised;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 463 advertised = 0;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 464 if (advertising & ADVERTISED_10000baseT_Full)
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 465 advertised |= IXGBE_LINK_SPEED_10GB_FULL;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 466
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 467 if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 468 5000baseT_Full))
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 469 advertised |= IXGBE_LINK_SPEED_5GB_FULL;
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 470
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 471 if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 472 2500baseT_Full))
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 473 advertised |= IXGBE_LINK_SPEED_2_5GB_FULL;
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 474
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 @475 if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 476 1000baseT_Full))
There is no if statement here.
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 477 if (advertising & ADVERTISED_1000baseT_Full)
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 478 advertised |= IXGBE_LINK_SPEED_1GB_FULL;
Which probably means that it can never be 1GB link speed.
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 479
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 480 if (advertising & ADVERTISED_100baseT_Full)
2b642ca5e93fa1 drivers/net/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-03-04 481 advertised |= IXGBE_LINK_SPEED_100_FULL;
2b642ca5e93fa1 drivers/net/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-03-04 482
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 483 if (advertising & ADVERTISED_10baseT_Full)
b3eb4e1860f359 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Mark Rustad 2016-12-14 484 advertised |= IXGBE_LINK_SPEED_10_FULL;
b3eb4e1860f359 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Mark Rustad 2016-12-14 485
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 486 if (old == advertised)
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 487 return err;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 488 /* this sets the link speed and restarts auto-neg */
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 489 while (test_and_set_bit(__IXGBE_IN_SFP_INIT, &adapter->state))
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 490 usleep_range(1000, 2000);
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 491
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 492 hw->mac.autotry_restart = true;
fd0326f2cf9e5d drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Josh Hay 2012-12-15 493 err = hw->mac.ops.setup_link(hw, advertised, true);
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 494 if (err) {
396e799c3ac29f drivers/net/ixgbe/ixgbe_ethtool.c Emil Tantilov 2010-07-01 495 e_info(probe, "setup link failed with code %d\n", err);
fd0326f2cf9e5d drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Josh Hay 2012-12-15 496 hw->mac.ops.setup_link(hw, old, true);
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 497 }
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 498 clear_bit(__IXGBE_IN_SFP_INIT, &adapter->state);
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 499 } else {
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 500 /* in this case we currently only support 10Gb/FULL */
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 501 u32 speed = cmd->base.speed;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 502
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 503 if ((cmd->base.autoneg == AUTONEG_ENABLE) ||
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 504 (advertising != ADVERTISED_10000baseT_Full) ||
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 505 (speed + cmd->base.duplex != SPEED_10000 + DUPLEX_FULL))
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 506 return -EINVAL;
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 507 }
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 508
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 509 return err;
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 510 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33440 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Intel-wired-lan] [next-queue] ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support
@ 2020-06-30 10:54 ` Dan Carpenter
0 siblings, 0 replies; 5+ messages in thread
From: Dan Carpenter @ 2020-06-30 10:54 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 12205 bytes --]
Hi Jeff,
url: https://github.com/0day-ci/linux/commits/Jeff-Kirsher/ixgbe-Add-ethtool-support-to-enable-2-5-and-5-0-Gbps-support/20200626-130545
base: https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
config: x86_64-randconfig-m001-20200624 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c:475 ixgbe_set_link_ksettings() warn: if statement not indented
# https://github.com/0day-ci/linux/commit/6607c3800b28dc6f72dc1018bf23cfeabe5aefde
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 6607c3800b28dc6f72dc1018bf23cfeabe5aefde
vim +475 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 431 static int ixgbe_set_link_ksettings(struct net_device *netdev,
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 432 const struct ethtool_link_ksettings *cmd)
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 433 {
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 434 struct ixgbe_adapter *adapter = netdev_priv(netdev);
735441fb1a3b21 drivers/net/ixgbe/ixgbe_ethtool.c Ayyappan Veeraiyan 2008-02-01 435 struct ixgbe_hw *hw = &adapter->hw;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 436 u32 advertised, old;
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 437 s32 err = 0;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 438 u32 supported, advertising;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 439
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 440 ethtool_convert_link_mode_to_legacy_u32(&supported,
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 441 cmd->link_modes.supported);
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 442 ethtool_convert_link_mode_to_legacy_u32(&advertising,
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 443 cmd->link_modes.advertising);
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 444
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 445 if ((hw->phy.media_type == ixgbe_media_type_copper) ||
a380137900fca5 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-30 446 (hw->phy.multispeed_fiber)) {
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 447 /*
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 448 * this function does not support duplex forcing, but can
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 449 * limit the advertising of the adapter to the specified speed
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 450 */
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 451 if (advertising & ~supported)
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 452 return -EINVAL;
abcc80d26cc040 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-07-29 453
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 454 /* only allow one speed at a time if no autoneg */
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 455 if (!cmd->base.autoneg && hw->phy.multispeed_fiber) {
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 456 if (advertising ==
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 457 (ADVERTISED_10000baseT_Full |
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 458 ADVERTISED_1000baseT_Full))
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 459 return -EINVAL;
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 460 }
ed33ff66d8064e drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2013-08-30 461
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 462 old = hw->phy.autoneg_advertised;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 463 advertised = 0;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 464 if (advertising & ADVERTISED_10000baseT_Full)
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 465 advertised |= IXGBE_LINK_SPEED_10GB_FULL;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 466
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 467 if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 468 5000baseT_Full))
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 469 advertised |= IXGBE_LINK_SPEED_5GB_FULL;
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 470
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 471 if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 472 2500baseT_Full))
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 473 advertised |= IXGBE_LINK_SPEED_2_5GB_FULL;
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 474
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 @475 if (ethtool_link_ksettings_test_link_mode(cmd, advertising,
6607c3800b28dc drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Jeff Kirsher 2020-06-25 476 1000baseT_Full))
There is no if statement here.
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 477 if (advertising & ADVERTISED_1000baseT_Full)
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 478 advertised |= IXGBE_LINK_SPEED_1GB_FULL;
Which probably means that it can never be 1GB link speed.
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 479
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 480 if (advertising & ADVERTISED_100baseT_Full)
2b642ca5e93fa1 drivers/net/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-03-04 481 advertised |= IXGBE_LINK_SPEED_100_FULL;
2b642ca5e93fa1 drivers/net/ixgbe/ixgbe_ethtool.c Emil Tantilov 2011-03-04 482
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 483 if (advertising & ADVERTISED_10baseT_Full)
b3eb4e1860f359 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Mark Rustad 2016-12-14 484 advertised |= IXGBE_LINK_SPEED_10_FULL;
b3eb4e1860f359 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Mark Rustad 2016-12-14 485
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 486 if (old == advertised)
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 487 return err;
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 488 /* this sets the link speed and restarts auto-neg */
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 489 while (test_and_set_bit(__IXGBE_IN_SFP_INIT, &adapter->state))
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 490 usleep_range(1000, 2000);
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 491
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 492 hw->mac.autotry_restart = true;
fd0326f2cf9e5d drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Josh Hay 2012-12-15 493 err = hw->mac.ops.setup_link(hw, advertised, true);
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 494 if (err) {
396e799c3ac29f drivers/net/ixgbe/ixgbe_ethtool.c Emil Tantilov 2010-07-01 495 e_info(probe, "setup link failed with code %d\n", err);
fd0326f2cf9e5d drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Josh Hay 2012-12-15 496 hw->mac.ops.setup_link(hw, old, true);
0befdb3e0a26a8 drivers/net/ixgbe/ixgbe_ethtool.c Jesse Brandeburg 2008-10-31 497 }
e3215f0ac77ec2 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Emil Tantilov 2014-10-28 498 clear_bit(__IXGBE_IN_SFP_INIT, &adapter->state);
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 499 } else {
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 500 /* in this case we currently only support 10Gb/FULL */
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 501 u32 speed = cmd->base.speed;
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 502
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 503 if ((cmd->base.autoneg == AUTONEG_ENABLE) ||
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 504 (advertising != ADVERTISED_10000baseT_Full) ||
8704f21c8449d4 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c Philippe Reynes 2017-03-07 505 (speed + cmd->base.duplex != SPEED_10000 + DUPLEX_FULL))
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 506 return -EINVAL;
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 507 }
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 508
74766013a131f1 drivers/net/ixgbe/ixgbe_ethtool.c Mallikarjuna R Chilakala 2009-06-04 509 return err;
9a799d71034c4e drivers/net/ixgbe/ixgbe_ethtool.c Auke Kok 2007-09-15 510 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33440 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-06-30 10:54 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-26 17:37 [Intel-wired-lan] [next-queue] ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2020-06-26 5:02 Jeff Kirsher
2020-06-26 12:22 ` Piotr Skajewski
2020-06-30 10:54 ` Dan Carpenter
2020-06-30 10:54 ` Dan Carpenter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.