[PATCH net-next v2 0/5] net: stmmac: use correct PPS input indexing

From: Johannes Zink
Date: Wed Oct 18 2023 - 03:10:44 EST


The stmmac can have 0 to 4 auxiliary snapshot in channels, which can be
used for capturing external triggers with respect to the eqos PTP timer.

Previously when enabling the auxiliary snapshot, an invalid request was
written to the hardware register, except for the Intel variant of this
driver, where the only snapshot available was hardcoded.

Patch 1 of this series cleans up the debug netdev_dbg message indicating
the auxiliary snapshot being {en,dis}abled. No functional changes here

Patch 2 of this series writes the correct PPS input indexing to the
hardware registers instead of a previously used fixed value

Patch 3 of this series removes a field member from plat_stmmacnet_data
that is no longer needed

Patch 4 of this series prepares Patch 5 by protecting the snapshot
enabled flag by the aux_ts_lock mutex

Patch 5 of this series adds a temporary workaround, since at the moment
the driver can handle only one single auxiliary snapshot at a time.
Previously the driver silently dropped the previous configuration and
enabled the new one. Now, if a snapshot is already enabled and userspace
tries to enable another without previously disabling the snapshot currently
enabled: issue a netdev_err and return an errorcode indicating the device is
busy.

This series is a "never worked, doesn't hurt anyone" touchup to the PPS
capture for non-intel variants of the dwmac driver.

Best Regards
Johannes

To: Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
To: Jose Abreu <joabreu@xxxxxxxxxxxx>
To: "David S. Miller" <davem@xxxxxxxxxxxxx>
To: Eric Dumazet <edumazet@xxxxxxxxxx>
To: Jakub Kicinski <kuba@xxxxxxxxxx>
To: Paolo Abeni <pabeni@xxxxxxxxxx>
To: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>
To: Richard Cochran <richardcochran@xxxxxxxxx>
To: Kurt Kanzenbach <kurt@xxxxxxxxxxxxx>
Cc: patchwork-jzi@xxxxxxxxxxxxxx
Cc: netdev@xxxxxxxxxxxxxxx
Cc: linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: kernel@xxxxxxxxxxxxxx
Cc: vee.khee.wong@xxxxxxxxxxxxxxx
Cc: tee.min.tan@xxxxxxxxx
Cc: rmk+kernel@xxxxxxxxxxxxxxx
Cc: bartosz.golaszewski@xxxxxxxxxx
Cc: ahalaney@xxxxxxxxxx
Cc: horms@xxxxxxxxxx

Signed-off-by: Johannes Zink <j.zink@xxxxxxxxxxxxxx>
---
Changes in v2:
- fixed CC list to also include maintainers/authors of dwmac-intel
- reworded commit messages and removed fixme-Tag as discussed with Simon
and Jakub. Thanks for reviewing the series!
- Link to v1: https://lore.kernel.org/r/20231010-stmmac_fix_auxiliary_event_capture-v1-0-3eeca9e844fa@xxxxxxxxxxxxxx

---
Johannes Zink (5):
net: stmmac: simplify debug message on stmmac_enable()
net: stmmac: use correct PPS capture input index
net: stmmac: intel: remove unnecessary field struct plat_stmmacenet_data::ext_snapshot_num
net: stmmac: ptp: stmmac_enable(): move change of plat->flags into mutex
net: stmmac: do not silently change auxiliary snapshot capture channel

drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c | 1 -
drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c | 32 ++++++++++++++---------
drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.h | 2 +-
include/linux/stmmac.h | 1 -
4 files changed, 21 insertions(+), 15 deletions(-)
---
base-commit: ee2a35fedbc942e6eeb9e351a53acb1fe6b101c5
change-id: 20231010-stmmac_fix_auxiliary_event_capture-eaf21ea9c9fe

Best regards,
--
Johannes Zink <j.zink@xxxxxxxxxxxxxx>