Linus Torvalds Questions New "HTE" Subsystem Looking To Land In Linux 5.19
The Hardware Timestamping Engine "HTE" is for being able to efficiently associate hardware timestamps with certain events like from GPIOs and IRQs. Linux kernel drivers can register as hardware timestamp providers while other areas of the kernel can request the events they are interested in to be timestamped by said providers.
With the initial state of the HTE code, just hardware timestamping support for NVIDIA Tegra hardware is implemented (Tegra194 Xavier) and there is support within the GPIO area so far for consuming these timestamp events.
See this pull request for more details on the HTE subsystem.
Certain devices have built in hardware timestamping engines which can monitor sets of system signals, lines, buses etc... in realtime for state change; upon detecting the change they can automatically store the timestamp at the moment of occurrence. Such functionality may help achieve better accuracy in obtaining timestamps than using software counterparts i.e. ktime and friends.
NVIDIA's Dipen Patel is looking to maintain this subsystem while NVIDIA's Thierry Reding took over sending in the initial pull request.
Linus Torvalds though has expressed some concern and has yet to pull the HTE subsystem to mainline. His concerns include there only being one provider implementation right now, this pull request was submitted at the end of the merge window, and whether the "HTE" name is confusing / poorly selected name.
The HTE subsystem just supporting one provider implementation (NVIDIA Tegra194) is among Torvalds' concerns over this new code rather than seeing multiple vendors supporting it already to help prove the subsystem's design.
As a response to Torvalds, Linus Walleij of Linaro raised that Intel looked to add hardware timestamping code to the GPIO subsystem but were asked to instead try targeting the HTE subsystem. In the past nine months though Intel engineers haven't adapted their Intel Elkhart Lake / Tiger Lake PMC code to use HTE and thus currently at the one provider implementation. As for the choice of name, the "hwstamping" subsystem was raised as a possible alternative name.
We'll see what happens with this code but considering there is just one day left to the merge window, it wouldn't be surprising if this gets pushed off until the next kernel cycle.
Update: It's merged.