[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230309125421.3900962-7-lukma@denx.de>
Date: Thu, 9 Mar 2023 13:54:20 +0100
From: Lukasz Majewski <lukma@...x.de>
To: Andrew Lunn <andrew@...n.ch>, Vladimir Oltean <olteanv@...il.com>,
Russell King <linux@...linux.org.uk>
Cc: Eric Dumazet <edumazet@...gle.com>,
Florian Fainelli <f.fainelli@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Alexander Duyck <alexander.duyck@...il.com>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Lukasz Majewski <lukma@...x.de>
Subject: [PATCH 6/7] dsa: marvell: Correct value of max_frame_size variable after validation
Running of the mv88e6xxx_validate_frame_size() function provided following
results:
[ 1.585565] BUG: Marvell 88E6020 has differing max_frame_size: 1632 != 2048
[ 1.592540] BUG: Marvell 88E6071 has differing max_frame_size: 1632 != 2048
^------ Correct -> mv88e6250 family max frame size = 2048B
[ 1.599507] BUG: Marvell 88E6085 has differing max_frame_size: 1632 != 1522
[ 1.606476] BUG: Marvell 88E6165 has differing max_frame_size: 1522 != 1632
[ 1.613445] BUG: Marvell 88E6190X has differing max_frame_size: 10240 != 1522
[ 1.620590] BUG: Marvell 88E6191X has differing max_frame_size: 10240 != 1522
[ 1.627730] BUG: Marvell 88E6193X has differing max_frame_size: 10240 != 1522
^------ Needs to be fixed!!!
[ 1.634871] BUG: Marvell 88E6220 has differing max_frame_size: 1632 != 2048
[ 1.641842] BUG: Marvell 88E6250 has differing max_frame_size: 1632 != 2048
^------ Correct -> mv88e6250 family max frame size = 2048B
This commit removes the validation function and provides correct values
for the max frame size field.
Signed-off-by: Lukasz Majewski <lukma@...x.de>
---
Changes for v5:
- New patch
---
drivers/net/dsa/mv88e6xxx/chip.c | 32 +++++---------------------------
1 file changed, 5 insertions(+), 27 deletions(-)
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index af14eb8a1bfd..dbb69787f4ef 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -5669,7 +5669,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
.num_internal_phys = 5,
.max_vid = 4095,
.max_sid = 63,
- .max_frame_size = 1522,
+ .max_frame_size = 1632,
.port_base_addr = 0x10,
.phy_base_addr = 0x0,
.global1_addr = 0x1b,
@@ -5837,7 +5837,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
.num_internal_phys = 0,
.max_vid = 4095,
.max_sid = 63,
- .max_frame_size = 1632,
+ .max_frame_size = 1522,
.port_base_addr = 0x10,
.phy_base_addr = 0x0,
.global1_addr = 0x1b,
@@ -6012,7 +6012,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
.num_gpio = 16,
.max_vid = 8191,
.max_sid = 63,
- .max_frame_size = 1522,
+ .max_frame_size = 10240,
.port_base_addr = 0x0,
.phy_base_addr = 0x0,
.global1_addr = 0x1b,
@@ -6060,7 +6060,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
.num_internal_phys = 9,
.max_vid = 8191,
.max_sid = 63,
- .max_frame_size = 1522,
+ .max_frame_size = 10240,
.port_base_addr = 0x0,
.phy_base_addr = 0x0,
.global1_addr = 0x1b,
@@ -6084,7 +6084,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
.num_internal_phys = 9,
.max_vid = 8191,
.max_sid = 63,
- .max_frame_size = 1522,
+ .max_frame_size = 10240,
.port_base_addr = 0x0,
.phy_base_addr = 0x0,
.global1_addr = 0x1b,
@@ -7169,27 +7169,6 @@ static int __maybe_unused mv88e6xxx_resume(struct device *dev)
static SIMPLE_DEV_PM_OPS(mv88e6xxx_pm_ops, mv88e6xxx_suspend, mv88e6xxx_resume);
-static void mv88e6xxx_validate_frame_size(void)
-{
- int max;
- int i;
-
- for (i = 0; i < ARRAY_SIZE(mv88e6xxx_table); i++) {
- /* same logic as in mv88e6xxx_get_max_mtu() */
- if (mv88e6xxx_table[i].ops->port_set_jumbo_size)
- max = 10240;
- else if (mv88e6xxx_table[i].ops->set_max_frame_size)
- max = 1632;
- else
- max = 1522;
-
- if (mv88e6xxx_table[i].max_frame_size != max)
- pr_err("BUG: %s has differing max_frame_size: %d != %d\n",
- mv88e6xxx_table[i].name, max,
- mv88e6xxx_table[i].max_frame_size);
- }
-}
-
static int mv88e6xxx_probe(struct mdio_device *mdiodev)
{
struct dsa_mv88e6xxx_pdata *pdata = mdiodev->dev.platform_data;
@@ -7323,7 +7302,6 @@ static int mv88e6xxx_probe(struct mdio_device *mdiodev)
if (err)
goto out_mdio;
- mv88e6xxx_validate_frame_size();
return 0;
out_mdio:
--
2.20.1
Powered by blists - more mailing lists