drivers: Add hardware timestamp engine (HTE) subsystem
authorDipen Patel <dipenp@nvidia.com>
Fri, 22 Apr 2022 20:52:13 +0000 (13:52 -0700)
committerThierry Reding <treding@nvidia.com>
Wed, 4 May 2022 09:05:54 +0000 (11:05 +0200)
commit31ab09b4218879bc394c9faa6da983a82a694600
tree381a0c953e6f6838be2989319b3752263f2a2c11
parent6406ac633d8096d5a05e4a82499a4efac2dd18d5
drivers: Add hardware timestamp engine (HTE) subsystem

Some devices can timestamp system lines/signals/Buses in real-time
using the hardware counter or other hardware means which can give
finer granularity and help avoid jitter introduced by software
timestamping. To utilize such functionality, this patchset creates
HTE subsystem where devices can register themselves as providers so
that the consumers devices can request specific line from the
providers. The patch also adds compilation support in Makefile and
menu options in Kconfig.

The provider does following:
- Registers chip with the framework.
- Provides translation hook to convert logical line id.
- Provides enable/disable, request/release callbacks.
- Pushes timestamp data to HTE subsystem.

The consumer does following:
- Initializes line attribute.
- Gets HTE timestamp descriptor.
- Requests timestamp functionality.
- Puts HTE timestamp descriptor.

Signed-off-by: Dipen Patel <dipenp@nvidia.com>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/Kconfig
drivers/Makefile
drivers/hte/Kconfig [new file with mode: 0644]
drivers/hte/Makefile [new file with mode: 0644]
drivers/hte/hte.c [new file with mode: 0644]
include/linux/hte.h [new file with mode: 0644]