|
|
|
|
@@ -2699,6 +2699,8 @@ static int mv88e6xxx_get_max_mtu(struct dsa_switch *ds, int port)
|
|
|
|
|
|
|
|
|
|
if (chip->info->ops->port_set_jumbo_size)
|
|
|
|
|
return 10240;
|
|
|
|
|
else if (chip->info->ops->set_max_frame_size)
|
|
|
|
|
return 1632;
|
|
|
|
|
return 1522;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2710,6 +2712,8 @@ static int mv88e6xxx_change_mtu(struct dsa_switch *ds, int port, int new_mtu)
|
|
|
|
|
mv88e6xxx_reg_lock(chip);
|
|
|
|
|
if (chip->info->ops->port_set_jumbo_size)
|
|
|
|
|
ret = chip->info->ops->port_set_jumbo_size(chip, port, new_mtu);
|
|
|
|
|
else if (chip->info->ops->set_max_frame_size)
|
|
|
|
|
ret = chip->info->ops->set_max_frame_size(chip, new_mtu);
|
|
|
|
|
else
|
|
|
|
|
if (new_mtu > 1522)
|
|
|
|
|
ret = -EINVAL;
|
|
|
|
|
@@ -3450,6 +3454,7 @@ static const struct mv88e6xxx_ops mv88e6085_ops = {
|
|
|
|
|
.vtu_getnext = mv88e6352_g1_vtu_getnext,
|
|
|
|
|
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
|
|
|
|
.phylink_validate = mv88e6185_phylink_validate,
|
|
|
|
|
.set_max_frame_size = mv88e6185_g1_set_max_frame_size,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const struct mv88e6xxx_ops mv88e6095_ops = {
|
|
|
|
|
@@ -3478,6 +3483,7 @@ static const struct mv88e6xxx_ops mv88e6095_ops = {
|
|
|
|
|
.vtu_getnext = mv88e6185_g1_vtu_getnext,
|
|
|
|
|
.vtu_loadpurge = mv88e6185_g1_vtu_loadpurge,
|
|
|
|
|
.phylink_validate = mv88e6185_phylink_validate,
|
|
|
|
|
.set_max_frame_size = mv88e6185_g1_set_max_frame_size,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const struct mv88e6xxx_ops mv88e6097_ops = {
|
|
|
|
|
@@ -3494,7 +3500,6 @@ static const struct mv88e6xxx_ops mv88e6097_ops = {
|
|
|
|
|
.port_set_frame_mode = mv88e6351_port_set_frame_mode,
|
|
|
|
|
.port_set_egress_floods = mv88e6352_port_set_egress_floods,
|
|
|
|
|
.port_set_ether_type = mv88e6351_port_set_ether_type,
|
|
|
|
|
.port_set_jumbo_size = mv88e6165_port_set_jumbo_size,
|
|
|
|
|
.port_egress_rate_limiting = mv88e6095_port_egress_rate_limiting,
|
|
|
|
|
.port_pause_limit = mv88e6097_port_pause_limit,
|
|
|
|
|
.port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit,
|
|
|
|
|
@@ -3516,6 +3521,7 @@ static const struct mv88e6xxx_ops mv88e6097_ops = {
|
|
|
|
|
.vtu_getnext = mv88e6352_g1_vtu_getnext,
|
|
|
|
|
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
|
|
|
|
.phylink_validate = mv88e6185_phylink_validate,
|
|
|
|
|
.set_max_frame_size = mv88e6185_g1_set_max_frame_size,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const struct mv88e6xxx_ops mv88e6123_ops = {
|
|
|
|
|
@@ -3550,6 +3556,7 @@ static const struct mv88e6xxx_ops mv88e6123_ops = {
|
|
|
|
|
.vtu_getnext = mv88e6352_g1_vtu_getnext,
|
|
|
|
|
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
|
|
|
|
.phylink_validate = mv88e6185_phylink_validate,
|
|
|
|
|
.set_max_frame_size = mv88e6185_g1_set_max_frame_size,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const struct mv88e6xxx_ops mv88e6131_ops = {
|
|
|
|
|
@@ -3939,6 +3946,7 @@ static const struct mv88e6xxx_ops mv88e6185_ops = {
|
|
|
|
|
.vtu_getnext = mv88e6185_g1_vtu_getnext,
|
|
|
|
|
.vtu_loadpurge = mv88e6185_g1_vtu_loadpurge,
|
|
|
|
|
.phylink_validate = mv88e6185_phylink_validate,
|
|
|
|
|
.set_max_frame_size = mv88e6185_g1_set_max_frame_size,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const struct mv88e6xxx_ops mv88e6190_ops = {
|
|
|
|
|
@@ -3959,6 +3967,7 @@ static const struct mv88e6xxx_ops mv88e6190_ops = {
|
|
|
|
|
.port_set_frame_mode = mv88e6351_port_set_frame_mode,
|
|
|
|
|
.port_set_egress_floods = mv88e6352_port_set_egress_floods,
|
|
|
|
|
.port_set_ether_type = mv88e6351_port_set_ether_type,
|
|
|
|
|
.port_set_jumbo_size = mv88e6165_port_set_jumbo_size,
|
|
|
|
|
.port_pause_limit = mv88e6390_port_pause_limit,
|
|
|
|
|
.port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit,
|
|
|
|
|
.port_disable_pri_override = mv88e6xxx_port_disable_pri_override,
|
|
|
|
|
@@ -4017,6 +4026,7 @@ static const struct mv88e6xxx_ops mv88e6190x_ops = {
|
|
|
|
|
.port_set_frame_mode = mv88e6351_port_set_frame_mode,
|
|
|
|
|
.port_set_egress_floods = mv88e6352_port_set_egress_floods,
|
|
|
|
|
.port_set_ether_type = mv88e6351_port_set_ether_type,
|
|
|
|
|
.port_set_jumbo_size = mv88e6165_port_set_jumbo_size,
|
|
|
|
|
.port_pause_limit = mv88e6390_port_pause_limit,
|
|
|
|
|
.port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit,
|
|
|
|
|
.port_disable_pri_override = mv88e6xxx_port_disable_pri_override,
|
|
|
|
|
|