From: David S. Miller Date: Thu, 14 Nov 2019 22:50:35 +0000 (-0800) Subject: Merge branch 'PTP-clock-source-for-SJA1105-tc-taprio-offload' X-Git-Tag: v5.15~5092^2~107 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=ccb689939280b9dfdedee8b8b45e616e42696609;p=mirror_ubuntu-kernels.git Merge branch 'PTP-clock-source-for-SJA1105-tc-taprio-offload' Vladimir Oltean says: ==================== PTP clock source for SJA1105 tc-taprio offload This series makes the IEEE 802.1Qbv egress scheduler of the sja1105 switch use a time reference that is synchronized to the network. This enables quite a few real Time Sensitive Networking use cases, since in this mode the switch can offer its clients a TDMA sort of access to the network, and guaranteed latency for frames that are properly scheduled based on the common PTP time. The driver needs to do a 2-part activity: - Program the gate control list into the static config and upload it over SPI to the switch (already supported) - Write the activation time of the scheduler (base-time) into the PTPSCHTM register, and set the PTPSTRTSCH bit. - Monitor the activation of the scheduler at the planned time and its health. Ok, 3 parts. The time-aware scheduler cannot be programmed to activate at a time in the past, and there is some logic to avoid that. PTPCLKCORP is one of those "black magic" registers that just need to be written to the length of the cycle. There is a 40-line long comment in the second patch which explains why. ==================== Signed-off-by: David S. Miller --- ccb689939280b9dfdedee8b8b45e616e42696609