Skip to content

Commit 774afb8

Browse files
julianwiedmanndavem330
authored andcommitted
s390/qeth: clean up qeth_set_ecmd_adv_sup()
In preparation for moving to get_link_ksettings(), clean up how we build the supported and advertised port/speed masks. Signed-off-by: Julian Wiedmann <[email protected]> Reviewed-by: Thomas Richter <[email protected]> Reviewed-by: Ursula Braun <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 2aedd56 commit 774afb8

File tree

1 file changed

+28
-29
lines changed

1 file changed

+28
-29
lines changed

drivers/s390/net/qeth_core_main.c

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6024,57 +6024,56 @@ void qeth_core_get_drvinfo(struct net_device *dev,
60246024
}
60256025
EXPORT_SYMBOL_GPL(qeth_core_get_drvinfo);
60266026

6027-
/* Helper function to fill 'advertizing' and 'supported' which are the same. */
6028-
/* Autoneg and full-duplex are supported and advertized uncondionally. */
6029-
/* Always advertize and support all speeds up to specified, and only one */
6027+
/* Helper function to fill 'advertising' and 'supported' which are the same. */
6028+
/* Autoneg and full-duplex are supported and advertised unconditionally. */
6029+
/* Always advertise and support all speeds up to specified, and only one */
60306030
/* specified port type. */
60316031
static void qeth_set_ecmd_adv_sup(struct ethtool_cmd *ecmd,
60326032
int maxspeed, int porttype)
60336033
{
6034-
int port_sup, port_adv, spd_sup, spd_adv;
6034+
u32 sup, adv;
6035+
6036+
sup = SUPPORTED_Autoneg;
6037+
adv = ADVERTISED_Autoneg;
60356038

60366039
switch (porttype) {
60376040
case PORT_TP:
6038-
port_sup = SUPPORTED_TP;
6039-
port_adv = ADVERTISED_TP;
6041+
sup |= SUPPORTED_TP;
6042+
adv |= ADVERTISED_TP;
60406043
break;
60416044
case PORT_FIBRE:
6042-
port_sup = SUPPORTED_FIBRE;
6043-
port_adv = ADVERTISED_FIBRE;
6045+
sup |= SUPPORTED_FIBRE;
6046+
adv |= ADVERTISED_FIBRE;
60446047
break;
60456048
default:
6046-
port_sup = SUPPORTED_TP;
6047-
port_adv = ADVERTISED_TP;
6049+
sup |= SUPPORTED_TP;
6050+
adv |= ADVERTISED_TP;
60486051
WARN_ON_ONCE(1);
60496052
}
60506053

6051-
/* "Fallthrough" case'es ordered from high to low result in setting */
6052-
/* flags cumulatively, starting from the specified speed and down to */
6053-
/* the lowest possible. */
6054-
spd_sup = 0;
6055-
spd_adv = 0;
6054+
/* fallthrough from high to low, to select all legal speeds: */
60566055
switch (maxspeed) {
60576056
case SPEED_10000:
6058-
spd_sup |= SUPPORTED_10000baseT_Full;
6059-
spd_adv |= ADVERTISED_10000baseT_Full;
6057+
sup |= SUPPORTED_10000baseT_Full;
6058+
adv |= ADVERTISED_10000baseT_Full;
60606059
case SPEED_1000:
6061-
spd_sup |= SUPPORTED_1000baseT_Half | SUPPORTED_1000baseT_Full;
6062-
spd_adv |= ADVERTISED_1000baseT_Half |
6063-
ADVERTISED_1000baseT_Full;
6060+
sup |= SUPPORTED_1000baseT_Half | SUPPORTED_1000baseT_Full;
6061+
adv |= ADVERTISED_1000baseT_Half | ADVERTISED_1000baseT_Full;
60646062
case SPEED_100:
6065-
spd_sup |= SUPPORTED_100baseT_Half | SUPPORTED_100baseT_Full;
6066-
spd_adv |= ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Full;
6063+
sup |= SUPPORTED_100baseT_Half | SUPPORTED_100baseT_Full;
6064+
adv |= ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Full;
60676065
case SPEED_10:
6068-
spd_sup |= SUPPORTED_10baseT_Half | SUPPORTED_10baseT_Full;
6069-
spd_adv |= ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full;
6070-
break;
6066+
sup |= SUPPORTED_10baseT_Half | SUPPORTED_10baseT_Full;
6067+
adv |= ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full;
6068+
/* end fallthrough */
6069+
break;
60716070
default:
6072-
spd_sup = SUPPORTED_10baseT_Half | SUPPORTED_10baseT_Full;
6073-
spd_adv = ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full;
6071+
sup |= SUPPORTED_10baseT_Half | SUPPORTED_10baseT_Full;
6072+
adv |= ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full;
60746073
WARN_ON_ONCE(1);
60756074
}
6076-
ecmd->advertising = ADVERTISED_Autoneg | port_adv | spd_adv;
6077-
ecmd->supported = SUPPORTED_Autoneg | port_sup | spd_sup;
6075+
ecmd->supported = sup;
6076+
ecmd->advertising = adv;
60786077
}
60796078

60806079
int qeth_core_ethtool_get_settings(struct net_device *netdev,

0 commit comments

Comments
 (0)