net: stmmac: fix dwmac1000 ptp timestamp status offset
authorAlexis Lothore <alexis.lothore@bootlin.com>
Wed, 23 Apr 2025 07:12:09 +0000 (09:12 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 24 Apr 2025 09:50:20 +0000 (11:50 +0200)
commit73fa4597bdc035437fbcd84d6be32bd39f1f2149
tree996e2bb3f1fa66701859c902bc968e23fde70423
parent607b310ada5ef4c738f9dffc758a62a9d309b084
net: stmmac: fix dwmac1000 ptp timestamp status offset

When a PTP interrupt occurs, the driver accesses the wrong offset to
learn about the number of available snapshots in the FIFO for dwmac1000:
it should be accessing bits 29..25, while it is currently reading bits
19..16 (those are bits about the auxiliary triggers which have generated
the timestamps). As a consequence, it does not compute correctly the
number of available snapshots, and so possibly do not generate the
corresponding clock events if the bogus value ends up being 0.

Fix clock events generation by reading the correct bits in the timestamp
register for dwmac1000.

Fixes: 477c3e1f6363 ("net: stmmac: Introduce dwmac1000 timestamping operations")
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/20250423-stmmac_ts-v2-1-e2cf2bbd61b1@bootlin.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/stmicro/stmmac/dwmac1000.h