Re: [PATCH net-next v3 1/3] net: dsa: microchip: move max mtu to one location

From: Arun.Ramadoss
Date: Wed Nov 09 2022 - 10:19:54 EST


Hi Oleksij,

On Tue, 2022-11-08 at 06:43 +0100, Oleksij Rempel wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> There are no HW specific registers, so we can process all of them
> in one location.
>
> Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> Tested-by: Arun Ramadoss <arun.ramadoss@xxxxxxxxxxxxx> (KSZ9893 and
> LAN937x)
> ---
> drivers/net/dsa/microchip/ksz9477.c | 5 -----
> drivers/net/dsa/microchip/ksz9477.h | 1 -
> drivers/net/dsa/microchip/ksz9477_reg.h | 2 --
> drivers/net/dsa/microchip/ksz_common.c | 21 ++++++++++++++++-----
> drivers/net/dsa/microchip/ksz_common.h | 3 ++-
> 5 files changed, 18 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/net/dsa/microchip/ksz9477.c
> b/drivers/net/dsa/microchip/ksz9477.c
> index a6a0321a8931..e3adb126fdff 100644
> diff --git a/drivers/net/dsa/microchip/ksz_common.c
> b/drivers/net/dsa/microchip/ksz_common.c
> index d612181b3226..486ad03d0acf 100644
> --- a/drivers/net/dsa/microchip/ksz_common.c
> +++ b/drivers/net/dsa/microchip/ksz_common.c
> @@ -14,6 +14,7 @@
> #include <linux/phy.h>
> #include <linux/etherdevice.h>
> #include <linux/if_bridge.h>
> +#include <linux/if_vlan.h>
> #include <linux/irq.h>
> #include <linux/irqdomain.h>
> #include <linux/of_mdio.h>
> @@ -206,7 +207,6 @@ static const struct ksz_dev_ops ksz9477_dev_ops =
> {
> .mdb_add = ksz9477_mdb_add,
> .mdb_del = ksz9477_mdb_del,
> .change_mtu = ksz9477_change_mtu,
> - .max_mtu = ksz9477_max_mtu,
> .phylink_mac_link_up = ksz9477_phylink_mac_link_up,
> .config_cpu_port = ksz9477_config_cpu_port,
> .enable_stp_addr = ksz9477_enable_stp_addr,
> @@ -243,7 +243,6 @@ static const struct ksz_dev_ops lan937x_dev_ops =
> {
> .mdb_add = ksz9477_mdb_add,
> .mdb_del = ksz9477_mdb_del,
> .change_mtu = lan937x_change_mtu,
> - .max_mtu = ksz9477_max_mtu,
> .phylink_mac_link_up = ksz9477_phylink_mac_link_up,
> .config_cpu_port = lan937x_config_cpu_port,
> .enable_stp_addr = ksz9477_enable_stp_addr,
> @@ -2473,10 +2472,22 @@ static int ksz_max_mtu(struct dsa_switch *ds,
> int port)
> {
> struct ksz_device *dev = ds->priv;
>
> - if (!dev->dev_ops->max_mtu)
> - return -EOPNOTSUPP;
> + switch (dev->chip_id) {
> + case KSZ8563_CHIP_ID:
> + case KSZ9477_CHIP_ID:
> + case KSZ9567_CHIP_ID:
> + case KSZ9893_CHIP_ID:

Patch to add KSZ9563 is now accepted in net-next, so add
KSZ9563_CHIP_ID in this case statement , in the next version of patch.

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=ef912fe443ad

> + case KSZ9896_CHIP_ID:
> + case KSZ9897_CHIP_ID:
> + case LAN9370_CHIP_ID:
> + case LAN9371_CHIP_ID:
> + case LAN9372_CHIP_ID:
> + case LAN9373_CHIP_ID:
> + case LAN9374_CHIP_ID:
> + return KSZ9477_MAX_FRAME_SIZE - VLAN_ETH_HLEN -
> ETH_FCS_LEN;
> + }
>
> - return dev->dev_ops->max_mtu(dev, port);
> + return -EOPNOTSUPP;
> }
>
>