Commit 1d0a1a6d authored by Oleksij Rempel's avatar Oleksij Rempel Committed by Paolo Abeni

net: dsa: microchip: do not store max MTU for all ports

If we have global MTU configuration, it is enough to configure it on CPU
port only.
Signed-off-by: default avatarOleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: default avatarVladimir Oltean <olteanv@gmail.com>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 838c19f8
...@@ -45,19 +45,15 @@ static void ksz9477_port_cfg32(struct ksz_device *dev, int port, int offset, ...@@ -45,19 +45,15 @@ static void ksz9477_port_cfg32(struct ksz_device *dev, int port, int offset,
int ksz9477_change_mtu(struct ksz_device *dev, int port, int mtu) int ksz9477_change_mtu(struct ksz_device *dev, int port, int mtu)
{ {
u16 frame_size, max_frame = 0; u16 frame_size;
int i;
frame_size = mtu + VLAN_ETH_HLEN + ETH_FCS_LEN;
/* Cache the per-port MTU setting */ if (!dsa_is_cpu_port(dev->ds, port))
dev->ports[port].max_frame = frame_size; return 0;
for (i = 0; i < dev->info->port_cnt; i++) frame_size = mtu + VLAN_ETH_HLEN + ETH_FCS_LEN;
max_frame = max(max_frame, dev->ports[i].max_frame);
return regmap_update_bits(dev->regmap[1], REG_SW_MTU__2, return regmap_update_bits(dev->regmap[1], REG_SW_MTU__2,
REG_SW_MTU_MASK, max_frame); REG_SW_MTU_MASK, frame_size);
} }
static int ksz9477_wait_vlan_ctrl_ready(struct ksz_device *dev) static int ksz9477_wait_vlan_ctrl_ready(struct ksz_device *dev)
......
...@@ -95,7 +95,6 @@ struct ksz_port { ...@@ -95,7 +95,6 @@ struct ksz_port {
struct ksz_port_mib mib; struct ksz_port_mib mib;
phy_interface_t interface; phy_interface_t interface;
u16 max_frame;
u32 rgmii_tx_val; u32 rgmii_tx_val;
u32 rgmii_rx_val; u32 rgmii_rx_val;
struct ksz_device *ksz_dev; struct ksz_device *ksz_dev;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment