From: <Arun.Ramadoss@microchip.com>
To: <olteanv@gmail.com>, <UNGLinuxDriver@microchip.com>,
<vivien.didelot@gmail.com>, <andrew@lunn.ch>,
<f.fainelli@gmail.com>, <kuba@kernel.org>, <edumazet@google.com>,
<pabeni@redhat.com>, <o.rempel@pengutronix.de>,
<Woojung.Huh@microchip.com>, <davem@davemloft.net>
Cc: <linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>,
<kernel@pengutronix.de>
Subject: Re: [PATCH net-next v2 1/3] net: dsa: microchip: move max mtu to one location
Date: Tue, 8 Nov 2022 05:15:48 +0000 [thread overview]
Message-ID: <746c5de43eecdf34ffff5c16a9f1bf4bb505bb43.camel@microchip.com> (raw)
In-Reply-To: <20221107135755.2664997-2-o.rempel@pengutronix.de>
On Mon, 2022-11-07 at 14:57 +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.
Tested in KSZ9893 and LAN937x by changing the mtu to max_mtu using
ifconfig. It works fine.
>
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
> 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
> --- a/drivers/net/dsa/microchip/ksz9477.c
> +++ b/drivers/net/dsa/microchip/ksz9477.c
> @@ -60,11 +60,6 @@ int ksz9477_change_mtu(struct ksz_device *dev, int
> port, int mtu)
> REG_SW_MTU_MASK, max_frame);
> }
>
> -int ksz9477_max_mtu(struct ksz_device *dev, int port)
> -{
> - return KSZ9477_MAX_FRAME_SIZE - VLAN_ETH_HLEN - ETH_FCS_LEN;
> -}
> -
> static int ksz9477_wait_vlan_ctrl_ready(struct ksz_device *dev)
> {
> unsigned int val;
> diff --git a/drivers/net/dsa/microchip/ksz9477.h
> b/drivers/net/dsa/microchip/ksz9477.h
> index 00862c4cfb7f..7c5bb3032772 100644
> --- a/drivers/net/dsa/microchip/ksz9477.h
> +++ b/drivers/net/dsa/microchip/ksz9477.h
> @@ -50,7 +50,6 @@ int ksz9477_mdb_add(struct ksz_device *dev, int
> port,
> int ksz9477_mdb_del(struct ksz_device *dev, int port,
> const struct switchdev_obj_port_mdb *mdb, struct
> dsa_db db);
> int ksz9477_change_mtu(struct ksz_device *dev, int port, int mtu);
> -int ksz9477_max_mtu(struct ksz_device *dev, int port);
> void ksz9477_config_cpu_port(struct dsa_switch *ds);
> int ksz9477_enable_stp_addr(struct ksz_device *dev);
> int ksz9477_reset_switch(struct ksz_device *dev);
> diff --git a/drivers/net/dsa/microchip/ksz9477_reg.h
> b/drivers/net/dsa/microchip/ksz9477_reg.h
> index 53c68d286dd3..cc457fa64939 100644
> --- a/drivers/net/dsa/microchip/ksz9477_reg.h
> +++ b/drivers/net/dsa/microchip/ksz9477_reg.h
> @@ -1615,6 +1615,4 @@
> #define PTP_TRIG_UNIT_M (BIT(MAX_TRIG_UNIT) -
> 1)
> #define PTP_TS_UNIT_M (BIT(MAX_TIMESTAMP_UNIT) - 1)
>
> -#define KSZ9477_MAX_FRAME_SIZE 9000
> -
> #endif /* KSZ9477_REGS_H */
> 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:
> + 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;
> }
>
> static void ksz_set_xmii(struct ksz_device *dev, int port,
> diff --git a/drivers/net/dsa/microchip/ksz_common.h
> b/drivers/net/dsa/microchip/ksz_common.h
> index 9cfa179575ce..7de5070637ec 100644
> --- a/drivers/net/dsa/microchip/ksz_common.h
> +++ b/drivers/net/dsa/microchip/ksz_common.h
> @@ -320,7 +320,6 @@ struct ksz_dev_ops {
> void (*get_caps)(struct ksz_device *dev, int port,
> struct phylink_config *config);
> int (*change_mtu)(struct ksz_device *dev, int port, int mtu);
> - int (*max_mtu)(struct ksz_device *dev, int port);
> void (*freeze_mib)(struct ksz_device *dev, int port, bool
> freeze);
> void (*port_init_cnt)(struct ksz_device *dev, int port);
> void (*phylink_mac_config)(struct ksz_device *dev, int port,
> @@ -585,6 +584,8 @@ static inline int is_lan937x(struct ksz_device
> *dev)
>
> #define PORT_SRC_PHY_INT 1
>
> +#define KSZ9477_MAX_FRAME_SIZE 9000
> +
> /* Regmap tables generation */
> #define KSZ_SPI_OP_RD 3
> #define KSZ_SPI_OP_WR 2
> --
> 2.30.2
>
next prev parent reply other threads:[~2022-11-08 5:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-07 13:57 [PATCH net-next v2 0/3] net: dsa: microchip: add MTU support for KSZ8 series Oleksij Rempel
2022-11-07 13:57 ` [PATCH net-next v2 1/3] net: dsa: microchip: move max mtu to one location Oleksij Rempel
2022-11-08 5:15 ` Arun.Ramadoss [this message]
2022-11-07 13:57 ` [PATCH net-next v2 2/3] net: dsa: microchip: add ksz_rmw8() function Oleksij Rempel
2022-11-08 5:19 ` Arun.Ramadoss
2022-11-07 13:57 ` [PATCH net-next v2 3/3] net: dsa: microchip: ksz8: add MTU configuration support Oleksij Rempel
2022-11-08 5:28 ` Arun.Ramadoss
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=746c5de43eecdf34ffff5c16a9f1bf4bb505bb43.camel@microchip.com \
--to=arun.ramadoss@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=Woojung.Huh@microchip.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=kernel@pengutronix.de \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=o.rempel@pengutronix.de \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome