iio: imu: inv_icm42600: add accurate timestamping
authorJean-Baptiste Maneyrol <jmaneyrol@invensense.com>
Mon, 22 Jun 2020 15:37:27 +0000 (17:37 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 27 Jun 2020 13:24:42 +0000 (14:24 +0100)
commitec74ae9fd37c4518fa8f7e59cbfcbdc5c7dadb25
tree5e501aa478dae2be60f49a0e07394657ddfe5881
parent7f85e42a6c54c0757f4a2d217ab0d866b4e94697
iio: imu: inv_icm42600: add accurate timestamping

Add a timestamping mechanism for buffer that provides accurate
event timestamps when using watermark. This mechanism estimates
device internal clock by comparing FIFO interrupts delta time and
device elapsed time computed by parsing FIFO data.

Take interrupt timestamp in hard irq handler and add IIO device
specific timestamp structures in device private allocation.

Signed-off-by: Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/inv_icm42600/Makefile
drivers/iio/imu/inv_icm42600/inv_icm42600.h
drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c [new file with mode: 0644]
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.h [new file with mode: 0644]