[PATCH net-next v5 0/9] net: dsa: microchip: PTP support for KSZ956x

From: Christian Eggers
Date: Thu Dec 03 2020 - 05:22:52 EST


[1]
http://ww1.microchip.com/downloads/en/DeviceDoc/KSZ9563R-Data-Sheet-DS00002419D.pdf

Changes from v4 --> v5
------------------------
[8/9] - Fix compile error reported by kernel test robot
(NET_DSA_TAG_KSZ must select NET_PTP_CLASSIFY)

Changes from v3 --> v4
------------------------
The first 2 patches of v3 have been applied.

[ 5/12]-->[ 3/9] - Reviewed-by: Vladimir Oltean <olteanv@xxxxxxxxx>
[ 6/12]-->[ 4/9] - s/low active/active low/
- Reviewed-by: Vladimir Oltean <olteanv@xxxxxxxxx>
[ 7/12]-->[ 5/9] - Reviewed-by: Vladimir Oltean <olteanv@xxxxxxxxx>
[ 9/12]-->[ 7/9] - Remove useless case statement
- Reviewed-by: Vladimir Oltean <olteanv@xxxxxxxxx>
[10/12]-->[ 8/9] - s/low active/active low/
- 80 chars per line
- Use IEEE 802.1AS mode (to suppress forwarding of PDelay messages)
- Enable/disable hardware timestaping at runtime (port_hwtstamp_set)
- Use mutex in port_hwtstamp_set
- Don't use port specific struct hwtstamp_config
- removed #ifdefs from tag_ksz.c
- Set port's tx_latency and rx_latency to 0
- added include/linux/dsa/ksz_common.h to MAINTAINERS
[11/12] - removed Patch 11/12 (PPS support)
[12/12]-->[ 9/9] - 80 chars per line
- reverse christmas tree
- Set default pulse width for perout pulse to 50% (max. 125ms)
- reject unsupported flags for perout_request


Changes from v2 --> v3
------------------------
Applied all changes requested by Vladimir Oltean. v3 depends on my other
netdev patches from 2020-11-18:
- net: ptp: introduce common defines for PTP message types
- net: dsa: avoid potential use-after-free error

[1/11]-->[1/12] - dts: remove " OR BSD-2-Clause" from SPDX-License-Identifier
- dts: add "additionalProperties"
- dts: remove quotes
[2/11]-->[2/12] - Reviewed-by: Vladimir Oltean <olteanv@xxxxxxxxx>
[3/11] - [Patch removed] (split ksz_common.h)
[4/11]-->[3/12] - Reviewed-by: Vladimir Oltean <olteanv@xxxxxxxxx>
- fixed summary
[5/11]-->[4/12] - Use "interrupts-extended" syntax
[6/11]-->[5+6/12] - Split up patch
- style fixes
- use GENMASK()
- IRQF_ONESHOT|IRQF_SHARED
[7/11]-->[7/12] - Remove "default n" from Kconfig
- use mutex in adjfine()
- style fixes
[8/11]-->[8/12] - Be more verbose in commit message
- Rename helper
- provide correction instead of t2
- simplify location of UDP header
[9/11]-->[9+10/12] - Split up patch
- Update commmit messages
- don't use OR operator on irqreturn_t
- spin_lock_irqsave() --> spin_lock_bh()
- style fixes
- remove rx_filter cases for DELAY_REQ
- use new PTP_MSGTYPE_* defines
- inline ksz9477_ptp_should_tstamp()
- ksz9477_tstamp_to_clock() --> ksz9477_tstamp_reconstruct()
- use shared data in include/linux/net/dsa/ksz_common.h
- wait for tx time stamp (within sleepable context)
- use boolean for tx time stamp enable
- move t2 from correction to tail tag (again)
- ...

Changes from RFC --> v2
------------------------
I think that all open questions regarding the RFC version could be solved.
dts: referenced to dsa.yaml
dts: changed node name to "switch" in example
dts: changed "ports" subnode to "ethernet-ports"
ksz_common: support "ethernet-ports" subnode
tag_ksz: fix usage of correction field (32 bit ns + 16 bit sub-ns)
tag_ksz: use cached PTP header from device's .port_txtstamp function
tag_ksz: refactored ksz9477_tstamp_to_clock()
tag_ksz: pdelay_req: only subtract 2 bit seconds from the correction field
tag_ksz: pdelay_resp: don't move (negative) correction to the egress tail tag
ptp_classify: add ptp_onestep_p2p_move_t2_to_correction helper
ksz9477_ptp: removed E2E support (as suggested by Vladimir)
ksz9477_ptp: removed master/slave sysfs attributes (nacked by Richard)
ksz9477_ptp: refactored ksz9477_ptp_port_txtstamp
ksz9477_ptp: removed "pulse" attribute
kconfig: depend on PTP_1588_CLOCK (instead of "imply")