Hi all,
This series aims to add two-step PTP support for the KSZ8463 driver
I've encountered weird behavior with IPv4 and IPv6 layers -- maybe that's
related to the incompatibility with the Linux stack mentionned by commit
620e2392db235 ("net: dsa: microchip: Disable PTP function of KSZ8463") ? --
So the support is only added for the L2 layer.
Patches 1 to 4 add IRQ support for the KSZ8463
Patch 5 and 6 add specific dsa_device_ops for the KSZ8463
Patches 7 to 9 add PTP support for the KSZ8463
Signed-off-by: Bastien Curutchet (Schneider Electric) <bastien.curutchet@bootlin.com>
---
Changes in v6:
- ALL: Address the warnings about lines exceeding 80 characters. Some
remain because readability is better this way IMO
- PATCH 1: Add a comment to explain why the introduced 16-bits read is safe
for all the switches.
- Link to v5: https://lore.kernel.org/r/20260226-ksz8463-ptp-v5-0-1bc24fb9627d@bootlin.com
Changes in v5:
- Rebase on v7.0-rc1
- PATCH 1: Add Maxime's Reviewed-By
- Add PATCH 5 and modify PATCH 6 to share more code with already existing
tag operations. Also address Jakub comment about alphabetical order
- PATCH 7: Add details in commit log
- PATCH 9: Set the pdelayresp_flag in the xmit worker to avoid race
conditions
- Link to v4: https://lore.kernel.org/r/20260127-ksz8463-ptp-v4-0-652e021aae86@bootlin.com
Changes in v4:
- PATCH 4: Fix the unused variable warning reported by the bot
- Link to v3: https://lore.kernel.org/r/20260126-ksz8463-ptp-v3-0-9f092aeb8492@bootlin.com
Changes in v3:
- PATCH 4: Fix the unitialized value reported by clang
- Link to v2: https://lore.kernel.org/r/20260122-ksz8463-ptp-v2-0-b6683f5ce50b@bootlin.com
Changes in v2:
- PATCH 8: Disable PTP by default.
- PATCH 5: TX path: remove timestamp handling
- PATCH 5: RX path: zero the PTP header's reserved area before
forwarding packets to userspace
- Link to v1: https://lore.kernel.org/r/20260115-ksz8463-ptp-v1-0-bcfe2830cf50@bootlin.com
---
Bastien Curutchet (Schneider Electric) (9):
net: dsa: microchip: Add support for KSZ8463 global irq
net: dsa: microchip: Decorrelate IRQ domain from port
net: dsa: microchip: Decorrelate msg_irq index from IRQ bit offset
net: dsa: microchip: Add support for KSZ8463's PTP interrupts
net: dsa: tag_ksz: Share code for KSZ8795 and KSZ9893 xmit operations
net: dsa: microchip: Add KSZ8463 tail tag handling
net: dsa: microchip: Explicitly enable detection of L2 PTP frames
net: dsa: microchip: Adapt port offset for KSZ8463's PTP register
net: dsa: microchip: Add two-step PTP support for KSZ8463
drivers/net/dsa/microchip/ksz8.c | 14 +-
drivers/net/dsa/microchip/ksz8_reg.h | 1 +
drivers/net/dsa/microchip/ksz_common.c | 101 +++++++++++----
drivers/net/dsa/microchip/ksz_common.h | 6 +
drivers/net/dsa/microchip/ksz_ptp.c | 204 ++++++++++++++++++++++++++---
drivers/net/dsa/microchip/ksz_ptp.h | 9 ++
drivers/net/dsa/microchip/ksz_ptp_reg.h | 11 ++
include/net/dsa.h | 2 +
net/dsa/tag_ksz.c | 223 ++++++++++++++++++++------------
9 files changed, 439 insertions(+), 132 deletions(-)
---
base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
change-id: 20260109-ksz8463-ptp-bc723ca7fac4
Best regards,
--
Bastien Curutchet (Schneider Electric) <bastien.curutchet@bootlin.com>