Skip to contentSkip to conversation

net: dsa: mv88e6xxx: fix atu_move_port_mask for 6341 family

PATCH In review Marek Behún 2 participants 8 messages Apr 28, 2025 – Apr 29, 2025 Stable branch

lore
Share & tools
lore
#0 lore raw

PATCH 1/4 net: dsa: mv88e6xxx: fix atu_move_port_mask for 6341 family

commit 4ae01ec007716986e1a20f1285eb013cbf188830 upstream.

The atu_move_port_mask for 6341 family (Topaz) is 0xf, not 0x1f. The PortVec field is 8 bits wide, not 11 as in 6390 family. Fix this.

Fixes e606ca36bbf2 ("net: dsa: mv88e6xxx: rework ATU Remove")
---
 drivers/net/dsa/mv88e6xxx/chip.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/dsa/mv88e6xxx/chip.c +2 -2
index bf93d700802b..be42de54e7df 100644
@@ -5713,7 +5713,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
 		.global1_addr = 0x1b,
 		.global2_addr = 0x1c,
 		.age_time_coeff = 3750,
-		.atu_move_port_mask = 0x1f,
+		.atu_move_port_mask = 0xf,
 		.g1_irqs = 9,
 		.g2_irqs = 10,
 		.pvt = true,
@@ -6174,7 +6174,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
 		.global1_addr = 0x1b,
 		.global2_addr = 0x1c,
 		.age_time_coeff = 3750,
-		.atu_move_port_mask = 0x1f,
+		.atu_move_port_mask = 0xf,
 		.g1_irqs = 9,
 		.g2_irqs = 10,
 		.pvt = true,
Signature · 1 line
2.49.0
#1 lore raw

PATCH 2/4 net: dsa: mv88e6xxx: enable PVT for 6321 switch

commit f85c69369854a43af2c5d3b3896da0908d713133 upstream.

Commit f36456522168 ("net: dsa: mv88e6xxx: move PVT description in info") did not enable PVT for 6321 switch. Fix it.

Fixes f36456522168 ("net: dsa: mv88e6xxx: move PVT description in info")
---
 drivers/net/dsa/mv88e6xxx/chip.c | 1 +
 1 file changed, 1 insertion(+)
drivers/net/dsa/mv88e6xxx/chip.c +1 -0
index be42de54e7df..f8ac209e712e 100644
@@ -6152,6 +6152,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
 		.g1_irqs = 8,
 		.g2_irqs = 10,
 		.atu_move_port_mask = 0xf,
+		.pvt = true,
 		.multi_chip = true,
 		.edsa_support = MV88E6XXX_EDSA_SUPPORTED,
 		.ptp_support = true,
Signature · 1 line
2.49.0
maintainer
#2 lore raw

Re: [PATCH 6.6.y 2/4] net: dsa: mv88e6xxx: enable PVT for 6321 switch

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected. No action required from the submitter.

The upstream commit SHA1 provided is correct: f85c69369854a43af2c5d3b3896da0908d713133

Status in newer kernel trees:
6.14.y | Present (different SHA1: 7eb13e5b4615)
6.12.y | Not found

Note: The patch differs from the upstream commit:
---
1: f85c69369854a ! 1: 74774f34e0efa net: dsa: mv88e6xxx: enable PVT for 6321 switch
@@ Metadata
## Commit message ##
net: dsa: mv88e6xxx: enable PVT for 6321 switch

+ commit f85c69369854a43af2c5d3b3896da0908d713133 upstream.
+
Commit f36456522168 ("net: dsa: mv88e6xxx: move PVT description in info") did not enable PVT for 6321 switch. Fix it.

Fixes f36456522168 ("net: dsa: mv88e6xxx: move PVT description in info")

- Reviewed-by: Andrew Lunn <[email protected]>
- Link: https://patch.msgid.link/[email protected]
- Signed-off-by: Jakub Kicinski <[email protected]>

## drivers/net/dsa/mv88e6xxx/chip.c ##
@@ drivers/net/dsa/mv88e6xxx/chip.c: static const struct mv88e6xxx_info mv88e6xxx_table[] = {
+ .g1_irqs = 8,
.g2_irqs = 10,
- .stats_type = STATS_TYPE_BANK0 | STATS_TYPE_BANK1,
.atu_move_port_mask = 0xf,
+ .pvt = true,
.multi_chip = true,
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.12.y       |  Success    |  Success   |
#3 lore raw

PATCH 3/4 net: dsa: mv88e6xxx: enable .port_set_policy() for 6320 family

In reply to Marek Behún

commit a2ef58e2c4aea4de166fc9832eb2b621e88c98d5 upstream.

Commit f3a2cd326e44 ("net: dsa: mv88e6xxx: introduce .port_set_policy") did not add the .port_set_policy() method for the 6320 family. Fix it.

Fixes f3a2cd326e44 ("net: dsa: mv88e6xxx: introduce .port_set_policy")
---
 drivers/net/dsa/mv88e6xxx/chip.c | 2 ++
 1 file changed, 2 insertions(+)
drivers/net/dsa/mv88e6xxx/chip.c +2 -0
index f8ac209e712e..472fe300b196 100644
@@ -5047,6 +5047,7 @@ static const struct mv88e6xxx_ops mv88e6320_ops = {
 	.port_set_rgmii_delay = mv88e6320_port_set_rgmii_delay,
 	.port_set_speed_duplex = mv88e6185_port_set_speed_duplex,
 	.port_tag_remap = mv88e6095_port_tag_remap,
+	.port_set_policy = mv88e6352_port_set_policy,
 	.port_set_frame_mode = mv88e6351_port_set_frame_mode,
 	.port_set_ucast_flood = mv88e6352_port_set_ucast_flood,
 	.port_set_mcast_flood = mv88e6352_port_set_mcast_flood,
@@ -5097,6 +5098,7 @@ static const struct mv88e6xxx_ops mv88e6321_ops = {
 	.port_set_rgmii_delay = mv88e6320_port_set_rgmii_delay,
 	.port_set_speed_duplex = mv88e6185_port_set_speed_duplex,
 	.port_tag_remap = mv88e6095_port_tag_remap,
+	.port_set_policy = mv88e6352_port_set_policy,
 	.port_set_frame_mode = mv88e6351_port_set_frame_mode,
 	.port_set_ucast_flood = mv88e6352_port_set_ucast_flood,
 	.port_set_mcast_flood = mv88e6352_port_set_mcast_flood,
Signature · 1 line
2.49.0
maintainer
#4 lore raw

Re: [PATCH 6.6.y 3/4] net: dsa: mv88e6xxx: enable .port_set_policy() for 6320 family

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected. No action required from the submitter.

The upstream commit SHA1 provided is correct: a2ef58e2c4aea4de166fc9832eb2b621e88c98d5

Status in newer kernel trees:
6.14.y | Present (different SHA1: a0898cf9a38d)
6.12.y | Not found

Note: The patch differs from the upstream commit:
---
1: a2ef58e2c4aea ! 1: 2746495add794 net: dsa: mv88e6xxx: enable .port_set_policy() for 6320 family
@@ Metadata
## Commit message ##
net: dsa: mv88e6xxx: enable .port_set_policy() for 6320 family

+ commit a2ef58e2c4aea4de166fc9832eb2b621e88c98d5 upstream.
+
Commit f3a2cd326e44 ("net: dsa: mv88e6xxx: introduce .port_set_policy") did not add the .port_set_policy() method for the 6320 family. Fix it.

Fixes f3a2cd326e44 ("net: dsa: mv88e6xxx: introduce .port_set_policy")

- Reviewed-by: Andrew Lunn <[email protected]>
- Link: https://patch.msgid.link/[email protected]
- Signed-off-by: Jakub Kicinski <[email protected]>

## drivers/net/dsa/mv88e6xxx/chip.c ##
@@ drivers/net/dsa/mv88e6xxx/chip.c: static const struct mv88e6xxx_ops mv88e6320_ops = {
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.12.y       |  Success    |  Success   |
#5 lore raw

PATCH 4/4 net: dsa: mv88e6xxx: enable STU methods for 6320 family

In reply to Marek Behún

commit 1428a6109b20e356188c3fb027bdb7998cc2fb98 upstream.

Commit c050f5e91b47 ("net: dsa: mv88e6xxx: Fill in STU support for all supported chips") introduced STU methods, but did not add them to the 6320 family. Fix it.

Fixes c050f5e91b47 ("net: dsa: mv88e6xxx: Fill in STU support for all supported chips")
---
 drivers/net/dsa/mv88e6xxx/chip.c | 6 ++++++
 1 file changed, 6 insertions(+)
drivers/net/dsa/mv88e6xxx/chip.c +6 -0
index 472fe300b196..ef52d1ae27d6 100644
@@ -5074,6 +5074,8 @@ static const struct mv88e6xxx_ops mv88e6320_ops = {
 	.reset = mv88e6352_g1_reset,
 	.vtu_getnext = mv88e6352_g1_vtu_getnext,
 	.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
+	.stu_getnext = mv88e6352_g1_stu_getnext,
+	.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
 	.gpio_ops = &mv88e6352_gpio_ops,
 	.avb_ops = &mv88e6352_avb_ops,
 	.ptp_ops = &mv88e6352_ptp_ops,
@@ -5124,6 +5126,8 @@ static const struct mv88e6xxx_ops mv88e6321_ops = {
 	.reset = mv88e6352_g1_reset,
 	.vtu_getnext = mv88e6352_g1_vtu_getnext,
 	.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
+	.stu_getnext = mv88e6352_g1_stu_getnext,
+	.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
 	.gpio_ops = &mv88e6352_gpio_ops,
 	.avb_ops = &mv88e6352_avb_ops,
 	.ptp_ops = &mv88e6352_ptp_ops,
@@ -6120,6 +6124,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
 		.internal_phys_offset = 3,
 		.num_gpio = 15,
 		.max_vid = 4095,
+		.max_sid = 63,
 		.port_base_addr = 0x10,
 		.phy_base_addr = 0x0,
 		.global1_addr = 0x1b,
@@ -6146,6 +6151,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
 		.internal_phys_offset = 3,
 		.num_gpio = 15,
 		.max_vid = 4095,
+		.max_sid = 63,
 		.port_base_addr = 0x10,
 		.phy_base_addr = 0x0,
 		.global1_addr = 0x1b,
Signature · 1 line
2.49.0
maintainer
#6 lore raw

Re: [PATCH 6.6.y 4/4] net: dsa: mv88e6xxx: enable STU methods for 6320 family

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected. No action required from the submitter.

The upstream commit SHA1 provided is correct: 1428a6109b20e356188c3fb027bdb7998cc2fb98

Status in newer kernel trees:
6.14.y | Present (different SHA1: 1864c8b85c76)
6.12.y | Not found

Note: The patch differs from the upstream commit:
---

1:  1428a6109b20e < -:  ------------- net: dsa: mv88e6xxx: enable STU methods for 6320 family
-:  ------------- > 1:  862fb7fac2f74 net: dsa: mv88e6xxx: enable .port_set_policy() for 6320 family

---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.12.y       |  Success    |  Success   |
maintainer
#7 lore raw
In reply to Marek Behún

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected. No action required from the submitter.

The upstream commit SHA1 provided is correct: 4ae01ec007716986e1a20f1285eb013cbf188830

Status in newer kernel trees:
6.14.y | Present (different SHA1: 74c9ffccc3c8)
6.12.y | Not found

Note: The patch differs from the upstream commit:
---
1: 4ae01ec007716 ! 1: 90598ff95c9c6 net: dsa: mv88e6xxx: fix atu_move_port_mask for 6341 family
@@ Metadata
## Commit message ##
net: dsa: mv88e6xxx: fix atu_move_port_mask for 6341 family

+ commit 4ae01ec007716986e1a20f1285eb013cbf188830 upstream.
+
The atu_move_port_mask for 6341 family (Topaz) is 0xf, not 0x1f. The PortVec field is 8 bits wide, not 11 as in 6390 family. Fix this.

Fixes e606ca36bbf2 ("net: dsa: mv88e6xxx: rework ATU Remove")

- Reviewed-by: Andrew Lunn <[email protected]>
- Link: https://patch.msgid.link/[email protected]
- Signed-off-by: Jakub Kicinski <[email protected]>

## drivers/net/dsa/mv88e6xxx/chip.c ##
@@ drivers/net/dsa/mv88e6xxx/chip.c: static const struct mv88e6xxx_info mv88e6xxx_table[] = {
@@ drivers/net/dsa/mv88e6xxx/chip.c: static const struct mv88e6xxx_info mv88e6xxx_t
+ .atu_move_port_mask = 0xf,
.g1_irqs = 9,
.g2_irqs = 10,
- .stats_type = STATS_TYPE_BANK0 | STATS_TYPE_BANK1,
+ .pvt = true,
@@ drivers/net/dsa/mv88e6xxx/chip.c: static const struct mv88e6xxx_info mv88e6xxx_table[] = {
.global1_addr = 0x1b,
.global2_addr = 0x1c,
@@ drivers/net/dsa/mv88e6xxx/chip.c: static const struct mv88e6xxx_info mv88e6xxx_t
+ .atu_move_port_mask = 0xf,
.g1_irqs = 9,
.g2_irqs = 10,
- .stats_type = STATS_TYPE_BANK0 | STATS_TYPE_BANK1,
+ .pvt = true,
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.6.y        |  Success    |  Success   |