mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-16 05:36:42 +07:00
net: dsa: mv88e6xxx: use bridge state values
Reuse the BR_STATE_* values to abstract a port STP state value. This provides shorter names and better control over the DSA switch operation call. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
31bef4e90c
commit
f894c29c35
@ -915,28 +915,10 @@ static void mv88e6xxx_port_stp_state_set(struct dsa_switch *ds, int port,
|
||||
u8 state)
|
||||
{
|
||||
struct mv88e6xxx_chip *chip = ds->priv;
|
||||
int stp_state;
|
||||
int err;
|
||||
|
||||
switch (state) {
|
||||
case BR_STATE_DISABLED:
|
||||
stp_state = PORT_CONTROL_STATE_DISABLED;
|
||||
break;
|
||||
case BR_STATE_BLOCKING:
|
||||
case BR_STATE_LISTENING:
|
||||
stp_state = PORT_CONTROL_STATE_BLOCKING;
|
||||
break;
|
||||
case BR_STATE_LEARNING:
|
||||
stp_state = PORT_CONTROL_STATE_LEARNING;
|
||||
break;
|
||||
case BR_STATE_FORWARDING:
|
||||
default:
|
||||
stp_state = PORT_CONTROL_STATE_FORWARDING;
|
||||
break;
|
||||
}
|
||||
|
||||
mutex_lock(&chip->reg_lock);
|
||||
err = mv88e6xxx_port_set_state(chip, port, stp_state);
|
||||
err = mv88e6xxx_port_set_state(chip, port, state);
|
||||
mutex_unlock(&chip->reg_lock);
|
||||
|
||||
if (err)
|
||||
@ -1694,8 +1676,7 @@ static int mv88e6xxx_disable_ports(struct mv88e6xxx_chip *chip)
|
||||
|
||||
/* Set all ports to the Disabled state */
|
||||
for (i = 0; i < mv88e6xxx_num_ports(chip); i++) {
|
||||
err = mv88e6xxx_port_set_state(chip, i,
|
||||
PORT_CONTROL_STATE_DISABLED);
|
||||
err = mv88e6xxx_port_set_state(chip, i, BR_STATE_DISABLED);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
|
@ -12,6 +12,7 @@
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include <linux/if_bridge.h>
|
||||
#include <linux/phy.h>
|
||||
|
||||
#include "chip.h"
|
||||
@ -412,6 +413,25 @@ int mv88e6xxx_port_set_state(struct mv88e6xxx_chip *chip, int port, u8 state)
|
||||
return err;
|
||||
|
||||
reg &= ~PORT_CONTROL_STATE_MASK;
|
||||
|
||||
switch (state) {
|
||||
case BR_STATE_DISABLED:
|
||||
state = PORT_CONTROL_STATE_DISABLED;
|
||||
break;
|
||||
case BR_STATE_BLOCKING:
|
||||
case BR_STATE_LISTENING:
|
||||
state = PORT_CONTROL_STATE_BLOCKING;
|
||||
break;
|
||||
case BR_STATE_LEARNING:
|
||||
state = PORT_CONTROL_STATE_LEARNING;
|
||||
break;
|
||||
case BR_STATE_FORWARDING:
|
||||
state = PORT_CONTROL_STATE_FORWARDING;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
reg |= state;
|
||||
|
||||
err = mv88e6xxx_port_write(chip, port, PORT_CONTROL, reg);
|
||||
|
Loading…
Reference in New Issue
Block a user