mirror of https://gitee.com/openkylin/linux.git
net: phy: shrink PHY settings array
The definition of array settings[] is quite lengthy meanwhile. Add a macro to shrink the definition. v2: - Fix an indentation issue Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5fa7d3f9d3
commit
f1538eca9e
|
@ -58,222 +58,65 @@ EXPORT_SYMBOL_GPL(phy_duplex_to_str);
|
|||
/* A mapping of all SUPPORTED settings to speed/duplex. This table
|
||||
* must be grouped by speed and sorted in descending match priority
|
||||
* - iow, descending speed. */
|
||||
|
||||
#define PHY_SETTING(s, d, b) { .speed = SPEED_ ## s, .duplex = DUPLEX_ ## d, \
|
||||
.bit = ETHTOOL_LINK_MODE_ ## b ## _BIT}
|
||||
|
||||
static const struct phy_setting settings[] = {
|
||||
/* 100G */
|
||||
{
|
||||
.speed = SPEED_100000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_100000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_100000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_100000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT,
|
||||
},
|
||||
PHY_SETTING( 100000, FULL, 100000baseCR4_Full ),
|
||||
PHY_SETTING( 100000, FULL, 100000baseKR4_Full ),
|
||||
PHY_SETTING( 100000, FULL, 100000baseLR4_ER4_Full ),
|
||||
PHY_SETTING( 100000, FULL, 100000baseSR4_Full ),
|
||||
/* 56G */
|
||||
{
|
||||
.speed = SPEED_56000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_56000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_56000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_56000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT,
|
||||
},
|
||||
PHY_SETTING( 56000, FULL, 56000baseCR4_Full ),
|
||||
PHY_SETTING( 56000, FULL, 56000baseKR4_Full ),
|
||||
PHY_SETTING( 56000, FULL, 56000baseLR4_Full ),
|
||||
PHY_SETTING( 56000, FULL, 56000baseSR4_Full ),
|
||||
/* 50G */
|
||||
{
|
||||
.speed = SPEED_50000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_50000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_50000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT,
|
||||
},
|
||||
PHY_SETTING( 50000, FULL, 50000baseCR2_Full ),
|
||||
PHY_SETTING( 50000, FULL, 50000baseKR2_Full ),
|
||||
PHY_SETTING( 50000, FULL, 50000baseSR2_Full ),
|
||||
/* 40G */
|
||||
{
|
||||
.speed = SPEED_40000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_40000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_40000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_40000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT,
|
||||
},
|
||||
PHY_SETTING( 40000, FULL, 40000baseCR4_Full ),
|
||||
PHY_SETTING( 40000, FULL, 40000baseKR4_Full ),
|
||||
PHY_SETTING( 40000, FULL, 40000baseLR4_Full ),
|
||||
PHY_SETTING( 40000, FULL, 40000baseSR4_Full ),
|
||||
/* 25G */
|
||||
{
|
||||
.speed = SPEED_25000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_25000baseCR_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_25000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_25000baseKR_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_25000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_25000baseSR_Full_BIT,
|
||||
},
|
||||
|
||||
PHY_SETTING( 25000, FULL, 25000baseCR_Full ),
|
||||
PHY_SETTING( 25000, FULL, 25000baseKR_Full ),
|
||||
PHY_SETTING( 25000, FULL, 25000baseSR_Full ),
|
||||
/* 20G */
|
||||
{
|
||||
.speed = SPEED_20000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_20000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT,
|
||||
},
|
||||
PHY_SETTING( 20000, FULL, 20000baseKR2_Full ),
|
||||
PHY_SETTING( 20000, FULL, 20000baseMLD2_Full ),
|
||||
/* 10G */
|
||||
{
|
||||
.speed = SPEED_10000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_10000baseCR_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_10000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_10000baseER_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_10000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_10000baseKR_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_10000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_10000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_10000baseLR_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_10000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_10000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_10000baseR_FEC_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_10000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_10000baseSR_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_10000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
|
||||
},
|
||||
PHY_SETTING( 10000, FULL, 10000baseCR_Full ),
|
||||
PHY_SETTING( 10000, FULL, 10000baseER_Full ),
|
||||
PHY_SETTING( 10000, FULL, 10000baseKR_Full ),
|
||||
PHY_SETTING( 10000, FULL, 10000baseKX4_Full ),
|
||||
PHY_SETTING( 10000, FULL, 10000baseLR_Full ),
|
||||
PHY_SETTING( 10000, FULL, 10000baseLRM_Full ),
|
||||
PHY_SETTING( 10000, FULL, 10000baseR_FEC ),
|
||||
PHY_SETTING( 10000, FULL, 10000baseSR_Full ),
|
||||
PHY_SETTING( 10000, FULL, 10000baseT_Full ),
|
||||
/* 5G */
|
||||
{
|
||||
.speed = SPEED_5000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
|
||||
},
|
||||
|
||||
PHY_SETTING( 5000, FULL, 5000baseT_Full ),
|
||||
/* 2.5G */
|
||||
{
|
||||
.speed = SPEED_2500,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_2500,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_2500baseX_Full_BIT,
|
||||
},
|
||||
PHY_SETTING( 2500, FULL, 2500baseT_Full ),
|
||||
PHY_SETTING( 2500, FULL, 2500baseX_Full ),
|
||||
/* 1G */
|
||||
{
|
||||
.speed = SPEED_1000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_1000baseKX_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_1000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_1000baseT_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_1000,
|
||||
.duplex = DUPLEX_HALF,
|
||||
.bit = ETHTOOL_LINK_MODE_1000baseT_Half_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_1000,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_1000baseX_Full_BIT,
|
||||
},
|
||||
PHY_SETTING( 1000, FULL, 1000baseKX_Full ),
|
||||
PHY_SETTING( 1000, FULL, 1000baseT_Full ),
|
||||
PHY_SETTING( 1000, HALF, 1000baseT_Half ),
|
||||
PHY_SETTING( 1000, FULL, 1000baseX_Full ),
|
||||
/* 100M */
|
||||
{
|
||||
.speed = SPEED_100,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_100baseT_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_100,
|
||||
.duplex = DUPLEX_HALF,
|
||||
.bit = ETHTOOL_LINK_MODE_100baseT_Half_BIT,
|
||||
},
|
||||
PHY_SETTING( 100, FULL, 100baseT_Full ),
|
||||
PHY_SETTING( 100, HALF, 100baseT_Half ),
|
||||
/* 10M */
|
||||
{
|
||||
.speed = SPEED_10,
|
||||
.duplex = DUPLEX_FULL,
|
||||
.bit = ETHTOOL_LINK_MODE_10baseT_Full_BIT,
|
||||
},
|
||||
{
|
||||
.speed = SPEED_10,
|
||||
.duplex = DUPLEX_HALF,
|
||||
.bit = ETHTOOL_LINK_MODE_10baseT_Half_BIT,
|
||||
},
|
||||
PHY_SETTING( 10, FULL, 10baseT_Full ),
|
||||
PHY_SETTING( 10, HALF, 10baseT_Half ),
|
||||
};
|
||||
#undef PHY_SETTING
|
||||
|
||||
/**
|
||||
* phy_lookup_setting - lookup a PHY setting
|
||||
|
|
Loading…
Reference in New Issue