* [PATCH net v2] net: ti: icssg-prueth: Fix swapped TX stats for MII interfaces.
@ 2025-06-03 5:29 Meghana Malladi
2025-06-03 8:48 ` Simon Horman
2025-06-05 9:00 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 3+ messages in thread
From: Meghana Malladi @ 2025-06-03 5:29 UTC (permalink / raw)
To: m-malladi, horms, pabeni, kuba, edumazet, davem, andrew+netdev
Cc: linux-kernel, netdev, linux-arm-kernel, srk, Vignesh Raghavendra,
Roger Quadros, danishanwar
In MII mode, Tx lines are swapped for port0 and port1, which means
Tx port0 receives data from PRU1 and the Tx port1 receives data from
PRU0. This is an expected hardware behavior and reading the Tx stats
needs to be handled accordingly in the driver. Update the driver to
read Tx stats from the PRU1 for port0 and PRU0 for port1.
Fixes: c1e10d5dc7a1 ("net: ti: icssg-prueth: Add ICSSG Stats")
Signed-off-by: Meghana Malladi <m-malladi@ti.com>
---
v2-v1:
- Include a comment along with the bug fix as suggested by Simon Horman <horms@kernel.org>
v1: https://lore.kernel.org/all/20250527121325.479334-1-m-malladi@ti.com/
drivers/net/ethernet/ti/icssg/icssg_stats.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/ethernet/ti/icssg/icssg_stats.c b/drivers/net/ethernet/ti/icssg/icssg_stats.c
index e8241e998aa9..7159baa0155c 100644
--- a/drivers/net/ethernet/ti/icssg/icssg_stats.c
+++ b/drivers/net/ethernet/ti/icssg/icssg_stats.c
@@ -28,6 +28,14 @@ void emac_update_hardware_stats(struct prueth_emac *emac)
spin_lock(&prueth->stats_lock);
for (i = 0; i < ARRAY_SIZE(icssg_all_miig_stats); i++) {
+ /* In MII mode TX lines are swapped inside ICSSG, so read Tx stats
+ * from slice1 for port0 and slice0 for port1 to get accurate Tx
+ * stats for a given port
+ */
+ if (emac->phy_if == PHY_INTERFACE_MODE_MII &&
+ icssg_all_miig_stats[i].offset >= ICSSG_TX_PACKET_OFFSET &&
+ icssg_all_miig_stats[i].offset <= ICSSG_TX_BYTE_OFFSET)
+ base = stats_base[slice ^ 1];
regmap_read(prueth->miig_rt,
base + icssg_all_miig_stats[i].offset,
&val);
base-commit: 558428921eddbd5083fe8116e31b8af460712f44
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net v2] net: ti: icssg-prueth: Fix swapped TX stats for MII interfaces.
2025-06-03 5:29 [PATCH net v2] net: ti: icssg-prueth: Fix swapped TX stats for MII interfaces Meghana Malladi
@ 2025-06-03 8:48 ` Simon Horman
2025-06-05 9:00 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: Simon Horman @ 2025-06-03 8:48 UTC (permalink / raw)
To: Meghana Malladi
Cc: pabeni, kuba, edumazet, davem, andrew+netdev, linux-kernel,
netdev, linux-arm-kernel, srk, Vignesh Raghavendra, Roger Quadros,
danishanwar
On Tue, Jun 03, 2025 at 10:59:04AM +0530, Meghana Malladi wrote:
> In MII mode, Tx lines are swapped for port0 and port1, which means
> Tx port0 receives data from PRU1 and the Tx port1 receives data from
> PRU0. This is an expected hardware behavior and reading the Tx stats
> needs to be handled accordingly in the driver. Update the driver to
> read Tx stats from the PRU1 for port0 and PRU0 for port1.
>
> Fixes: c1e10d5dc7a1 ("net: ti: icssg-prueth: Add ICSSG Stats")
> Signed-off-by: Meghana Malladi <m-malladi@ti.com>
> ---
>
> v2-v1:
> - Include a comment along with the bug fix as suggested by Simon Horman <horms@kernel.org>
>
> v1: https://lore.kernel.org/all/20250527121325.479334-1-m-malladi@ti.com/
Thanks for the update.
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net v2] net: ti: icssg-prueth: Fix swapped TX stats for MII interfaces.
2025-06-03 5:29 [PATCH net v2] net: ti: icssg-prueth: Fix swapped TX stats for MII interfaces Meghana Malladi
2025-06-03 8:48 ` Simon Horman
@ 2025-06-05 9:00 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-06-05 9:00 UTC (permalink / raw)
To: Meghana Malladi
Cc: horms, pabeni, kuba, edumazet, davem, andrew+netdev, linux-kernel,
netdev, linux-arm-kernel, srk, vigneshr, rogerq, danishanwar
Hello:
This patch was applied to netdev/net.git (main)
by Paolo Abeni <pabeni@redhat.com>:
On Tue, 3 Jun 2025 10:59:04 +0530 you wrote:
> In MII mode, Tx lines are swapped for port0 and port1, which means
> Tx port0 receives data from PRU1 and the Tx port1 receives data from
> PRU0. This is an expected hardware behavior and reading the Tx stats
> needs to be handled accordingly in the driver. Update the driver to
> read Tx stats from the PRU1 for port0 and PRU0 for port1.
>
> Fixes: c1e10d5dc7a1 ("net: ti: icssg-prueth: Add ICSSG Stats")
> Signed-off-by: Meghana Malladi <m-malladi@ti.com>
>
> [...]
Here is the summary with links:
- [net,v2] net: ti: icssg-prueth: Fix swapped TX stats for MII interfaces.
https://git.kernel.org/netdev/net/c/919d763d6094
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-06-05 8:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-03 5:29 [PATCH net v2] net: ti: icssg-prueth: Fix swapped TX stats for MII interfaces Meghana Malladi
2025-06-03 8:48 ` Simon Horman
2025-06-05 9:00 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).