* [PATCH] iio: imu: inv_icm42600: fix timestamp clock period by using lower value
@ 2026-06-23 14:22 Jean-Baptiste Maneyrol via B4 Relay
2026-07-03 15:41 ` Jean-Baptiste Maneyrol
2026-07-03 19:02 ` Jonathan Cameron
0 siblings, 2 replies; 3+ messages in thread
From: Jean-Baptiste Maneyrol via B4 Relay @ 2026-06-23 14:22 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko
Cc: linux-iio, linux-kernel, Jonathan Cameron, stable,
Jean-Baptiste Maneyrol
From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
Clock period value is used for computing periods of sampling. There is
no need for it to be higher than the maximum odr, otherwise we are
losing precision in the computation for nothing.
Switch clock period value to maximum odr period (8kHz).
Fixes: 0ecc363ccea7 ("iio: make invensense timestamp module generic")
Cc: stable@vger.kernel.org
Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
---
drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c | 4 ++--
drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
index 532d5fdffaf8..7df920ef3cf0 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
@@ -1170,10 +1170,10 @@ struct iio_dev *inv_icm42600_accel_init(struct inv_icm42600_state *st)
accel_st->filter = INV_ICM42600_FILTER_AVG_16X;
/*
- * clock period is 32kHz (31250ns)
+ * clock period is 8kHz (125000ns)
* jitter is +/- 2% (20 per mille)
*/
- ts_chip.clock_period = 31250;
+ ts_chip.clock_period = 125000;
ts_chip.jitter = 20;
ts_chip.init_period = inv_icm42600_odr_to_period(st->conf.accel.odr);
inv_sensors_timestamp_init(&accel_st->ts, &ts_chip);
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
index 11339ddf1da3..a18dcac93929 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
@@ -755,10 +755,10 @@ struct iio_dev *inv_icm42600_gyro_init(struct inv_icm42600_state *st)
}
/*
- * clock period is 32kHz (31250ns)
+ * clock period is 8kHz (125000ns)
* jitter is +/- 2% (20 per mille)
*/
- ts_chip.clock_period = 31250;
+ ts_chip.clock_period = 125000;
ts_chip.jitter = 20;
ts_chip.init_period = inv_icm42600_odr_to_period(st->conf.accel.odr);
inv_sensors_timestamp_init(&gyro_st->ts, &ts_chip);
---
base-commit: cc746297b23e89bd5df9f91f3a0ca209e8991763
change-id: 20260623-inv-icm42600-fix-timestamp-clock-period-931338a848c3
Best regards,
--
Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] iio: imu: inv_icm42600: fix timestamp clock period by using lower value
2026-06-23 14:22 [PATCH] iio: imu: inv_icm42600: fix timestamp clock period by using lower value Jean-Baptiste Maneyrol via B4 Relay
@ 2026-07-03 15:41 ` Jean-Baptiste Maneyrol
2026-07-03 19:02 ` Jonathan Cameron
1 sibling, 0 replies; 3+ messages in thread
From: Jean-Baptiste Maneyrol @ 2026-07-03 15:41 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Jean-Baptiste Maneyrol
Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org
>From: Jean-Baptiste Maneyrol via B4 Relay <devnull+jean-baptiste.maneyrol.tdk.com@kernel.org>
>Sent: Tuesday, June 23, 2026 16:22
>To: Jonathan Cameron; David Lechner; Nuno Sá; Andy Shevchenko
>Cc: linux-iio@vger.kernel.org; linux-kernel@vger.kernel.org; Jonathan Cameron; stable@vger.kernel.org; Jean-Baptiste Maneyrol
>Subject: [PATCH] iio: imu: inv_icm42600: fix timestamp clock period by using lower value
>
>From: Jean-Baptiste Maneyrol <jean-baptiste. maneyrol@ tdk. com> Clock period value is used for computing periods of sampling. There is no need for it to be higher than the maximum odr, otherwise we are losing precision in the computation
>ZjQcmQRYFpfptBannerStart
>This Message Is From an External Sender
>This message came from outside your organization.
>
>ZjQcmQRYFpfptBannerEnd
>
>From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
>
>Clock period value is used for computing periods of sampling. There is
>no need for it to be higher than the maximum odr, otherwise we are
>losing precision in the computation for nothing.
>
>Switch clock period value to maximum odr period (8kHz).
>
>Fixes: 0ecc363ccea7 ("iio: make invensense timestamp module generic")
>Cc: stable@vger.kernel.org
>Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
>---
> drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c | 4 ++--
> drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
>diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
>index 532d5fdffaf8..7df920ef3cf0 100644
>--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
>+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
>@@ -1170,10 +1170,10 @@ struct iio_dev *inv_icm42600_accel_init(struct inv_icm42600_state *st)
> accel_st->filter = INV_ICM42600_FILTER_AVG_16X;
>
> /*
>- * clock period is 32kHz (31250ns)
>+ * clock period is 8kHz (125000ns)
> * jitter is +/- 2% (20 per mille)
> */
>- ts_chip.clock_period = 31250;
>+ ts_chip.clock_period = 125000;
> ts_chip.jitter = 20;
> ts_chip.init_period = inv_icm42600_odr_to_period(st->conf.accel.odr);
> inv_sensors_timestamp_init(&accel_st->ts, &ts_chip);
>diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
>index 11339ddf1da3..a18dcac93929 100644
>--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
>+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
>@@ -755,10 +755,10 @@ struct iio_dev *inv_icm42600_gyro_init(struct inv_icm42600_state *st)
> }
>
> /*
>- * clock period is 32kHz (31250ns)
>+ * clock period is 8kHz (125000ns)
> * jitter is +/- 2% (20 per mille)
> */
>- ts_chip.clock_period = 31250;
>+ ts_chip.clock_period = 125000;
> ts_chip.jitter = 20;
> ts_chip.init_period = inv_icm42600_odr_to_period(st->conf.accel.odr);
> inv_sensors_timestamp_init(&gyro_st->ts, &ts_chip);
>
>---
>base-commit: cc746297b23e89bd5df9f91f3a0ca209e8991763
>change-id: 20260623-inv-icm42600-fix-timestamp-clock-period-931338a848c3
>
>Best regards,
>--
>Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
>
>
Hello Jonathan,
any update about this patch?
Thanks,
JB
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] iio: imu: inv_icm42600: fix timestamp clock period by using lower value
2026-06-23 14:22 [PATCH] iio: imu: inv_icm42600: fix timestamp clock period by using lower value Jean-Baptiste Maneyrol via B4 Relay
2026-07-03 15:41 ` Jean-Baptiste Maneyrol
@ 2026-07-03 19:02 ` Jonathan Cameron
1 sibling, 0 replies; 3+ messages in thread
From: Jonathan Cameron @ 2026-07-03 19:02 UTC (permalink / raw)
To: Jean-Baptiste Maneyrol via B4 Relay
Cc: jean-baptiste.maneyrol, David Lechner, Nuno Sá,
Andy Shevchenko, linux-iio, linux-kernel, stable
On Tue, 23 Jun 2026 16:22:15 +0200
Jean-Baptiste Maneyrol via B4 Relay <devnull+jean-baptiste.maneyrol.tdk.com@kernel.org> wrote:
> From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
>
Sorry for delay - I'm finally getting back on top of my emails (for IIO anyway!)
> Clock period value is used for computing periods of sampling. There is
> no need for it to be higher than the maximum odr, otherwise we are
> losing precision in the computation for nothing.
Silly question - what are the user visible results of that precision loss?
Less accurate time stamp estimates, or something else?
Jonathan
>
> Switch clock period value to maximum odr period (8kHz).
>
> Fixes: 0ecc363ccea7 ("iio: make invensense timestamp module generic")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
> ---
> drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c | 4 ++--
> drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
> index 532d5fdffaf8..7df920ef3cf0 100644
> --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
> +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
> @@ -1170,10 +1170,10 @@ struct iio_dev *inv_icm42600_accel_init(struct inv_icm42600_state *st)
> accel_st->filter = INV_ICM42600_FILTER_AVG_16X;
>
> /*
> - * clock period is 32kHz (31250ns)
> + * clock period is 8kHz (125000ns)
> * jitter is +/- 2% (20 per mille)
> */
> - ts_chip.clock_period = 31250;
> + ts_chip.clock_period = 125000;
> ts_chip.jitter = 20;
> ts_chip.init_period = inv_icm42600_odr_to_period(st->conf.accel.odr);
> inv_sensors_timestamp_init(&accel_st->ts, &ts_chip);
> diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
> index 11339ddf1da3..a18dcac93929 100644
> --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
> +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
> @@ -755,10 +755,10 @@ struct iio_dev *inv_icm42600_gyro_init(struct inv_icm42600_state *st)
> }
>
> /*
> - * clock period is 32kHz (31250ns)
> + * clock period is 8kHz (125000ns)
> * jitter is +/- 2% (20 per mille)
> */
> - ts_chip.clock_period = 31250;
> + ts_chip.clock_period = 125000;
> ts_chip.jitter = 20;
> ts_chip.init_period = inv_icm42600_odr_to_period(st->conf.accel.odr);
> inv_sensors_timestamp_init(&gyro_st->ts, &ts_chip);
>
> ---
> base-commit: cc746297b23e89bd5df9f91f3a0ca209e8991763
> change-id: 20260623-inv-icm42600-fix-timestamp-clock-period-931338a848c3
>
> Best regards,
> --
> Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-03 19:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-23 14:22 [PATCH] iio: imu: inv_icm42600: fix timestamp clock period by using lower value Jean-Baptiste Maneyrol via B4 Relay
2026-07-03 15:41 ` Jean-Baptiste Maneyrol
2026-07-03 19:02 ` Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox