Thread (12 messages) flat view 12 messages, 3 authors, 2022-11-11

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

From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2022-11-10 14:42:12
Also in: lkml


On 11/10/2022 4:22 AM, Oleksij Rempel wrote:
There are no HW specific registers, so we can process all of them
in one location.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Tested-by: Arun Ramadoss <arun.ramadoss@microchip.com> (KSZ9893 and LAN937x)
This looks good to me, just one nit see below

[snip]
quoted hunk ↗ jump to hunk
@@ -2500,10 +2499,23 @@ 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 KSZ9563_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;
Rename to KSZ_MAX_FRAME_SIZE to denote this is a common constant?
quoted hunk ↗ jump to hunk
+	}
  
-	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 c6726cbd5465..27c26ee15af4 100644
--- a/drivers/net/dsa/microchip/ksz_common.h
+++ b/drivers/net/dsa/microchip/ksz_common.h
@@ -322,7 +322,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,
@@ -588,6 +587,8 @@ static inline int is_lan937x(struct ksz_device *dev)
  
  #define PORT_SRC_PHY_INT		1
  
+#define KSZ9477_MAX_FRAME_SIZE		9000\
And here are as well.
-- 
Florian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help