Message ID | 20241014204342.5852-1-peter@rashleigh.ca (mailing list archive) |
---|---|
State | Accepted |
Commit | 1833d8a26f057128fd63e126b4428203ece84684 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v2,net] net: dsa: mv88e6xxx: Fix the max_vid definition for the MV88E6361 | expand |
On Mon, Oct 14, 2024 at 01:43:42PM -0700, Peter Rashleigh wrote: > According to the Marvell datasheet the 88E6361 has two VTU pages > (4k VIDs per page) so the max_vid should be 8191, not 4095. > > In the current implementation mv88e6xxx_vtu_walk() gives unexpected > results because of this error. I verified that mv88e6xxx_vtu_walk() > works correctly on the MV88E6361 with this patch in place. > > Fixes: 12899f299803 ("net: dsa: mv88e6xxx: enable support for 88E6361 switch") > Signed-off-by: Peter Rashleigh <peter@rashleigh.ca> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Mon, 14 Oct 2024 13:43:42 -0700 you wrote: > According to the Marvell datasheet the 88E6361 has two VTU pages > (4k VIDs per page) so the max_vid should be 8191, not 4095. > > In the current implementation mv88e6xxx_vtu_walk() gives unexpected > results because of this error. I verified that mv88e6xxx_vtu_walk() > works correctly on the MV88E6361 with this patch in place. > > [...] Here is the summary with links: - [v2,net] net: dsa: mv88e6xxx: Fix the max_vid definition for the MV88E6361 https://git.kernel.org/netdev/net/c/1833d8a26f05 You are awesome, thank you!
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c index 5b4e2ce5470d..284270a4ade1 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -6347,7 +6347,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = { .invalid_port_mask = BIT(1) | BIT(2) | BIT(8), .num_internal_phys = 5, .internal_phys_offset = 3, - .max_vid = 4095, + .max_vid = 8191, .max_sid = 63, .port_base_addr = 0x0, .phy_base_addr = 0x0,
According to the Marvell datasheet the 88E6361 has two VTU pages (4k VIDs per page) so the max_vid should be 8191, not 4095. In the current implementation mv88e6xxx_vtu_walk() gives unexpected results because of this error. I verified that mv88e6xxx_vtu_walk() works correctly on the MV88E6361 with this patch in place. Fixes: 12899f299803 ("net: dsa: mv88e6xxx: enable support for 88E6361 switch") Signed-off-by: Peter Rashleigh <peter@rashleigh.ca> --- Changes since v1: - Update message to clarify why the change is needed - Remove changes to mv88e6393x_port_set_policy to a separate patch drivers/net/dsa/mv88e6xxx/chip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) base-commit: d3d1556696c1a993eec54ac585fe5bf677e07474