* [PATCH] iio: inv_sensors: do not compute period estimation when updating odr
@ 2026-10-20 16:28 Jean-Baptiste Maneyrol via B4 Relay
2026-10-26 2:37 ` Jonathan Cameron
0 siblings, 1 reply; 2+ messages in thread
From: Jean-Baptiste Maneyrol via B4 Relay @ 2026-10-20 16:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko
Cc: Jonathan Cameron, linux-iio, linux-kernel, stable,
Jean-Baptiste Maneyrol
From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
When odr is updated, the delta between the interrupts will change and it
will lead to a bad period estimation.
Avoid this by preventing the period estimation in this case.
Fixes: 82bd09ce4fd3 ("iio: inv_sensors: improve period measurement by using a longer delay")
Cc: stable@vger.kernel.org
Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
---
drivers/iio/common/inv_sensors/inv_sensors_timestamp.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/common/inv_sensors/inv_sensors_timestamp.c b/drivers/iio/common/inv_sensors/inv_sensors_timestamp.c
index 8c9e81a77e68..7ccd5d5a6986 100644
--- a/drivers/iio/common/inv_sensors/inv_sensors_timestamp.c
+++ b/drivers/iio/common/inv_sensors/inv_sensors_timestamp.c
@@ -142,6 +142,12 @@ void inv_sensors_timestamp_interrupt(struct inv_sensors_timestamp *ts,
/* update delta timestamps and estimated period */
it = &ts->delta;
ts->delta_counter += sample_nb;
+ /* reset in case of odr change */
+ if (ts->new_mult) {
+ it->lo = 0;
+ it->up = 0;
+ ts->delta_counter = 0;
+ }
delta = timestamp - it->up;
delta_threshold = INV_SENSORS_TIMESTAMP_MIN(INV_SENSORS_MIN_IT_DELTA, ts->chip.jitter);
if (delta >= delta_threshold) {
@@ -161,7 +167,7 @@ void inv_sensors_timestamp_interrupt(struct inv_sensors_timestamp *ts,
it->lo = it->up;
it->up = timestamp;
delta = it->up - it->lo;
- if (it->lo != 0) {
+ if (it->lo != 0 && !ts->new_mult) {
/* compute period and check validity */
period = div_s64(delta, sample_nb);
valid = inv_validate_period(ts, period);
---
base-commit: 43ffda3c7f8456bbe641ae8249a077a361b97880
change-id: 20261020-iio-common-inv-sensors-do-not-compute-period-when-updating-odr-95c976c2149a
Best regards,
--
Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] iio: inv_sensors: do not compute period estimation when updating odr
2026-10-20 16:28 [PATCH] iio: inv_sensors: do not compute period estimation when updating odr Jean-Baptiste Maneyrol via B4 Relay
@ 2026-10-26 2:37 ` Jonathan Cameron
0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Cameron @ 2026-10-26 2:37 UTC (permalink / raw)
To: Jean-Baptiste Maneyrol via B4 Relay
Cc: jean-baptiste.maneyrol, David Lechner, Nuno Sá,
Andy Shevchenko, Jonathan Cameron, linux-iio, linux-kernel,
stable
On Tue, 20 Oct 2026 18:28:47 +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>
>
> When odr is updated, the delta between the interrupts will change and it
> will lead to a bad period estimation.
>
> Avoid this by preventing the period estimation in this case.
>
> Fixes: 82bd09ce4fd3 ("iio: inv_sensors: improve period measurement by using a longer delay")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
Applied to the fixes-togreg branch of iio.git.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-26 2:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-20 16:28 [PATCH] iio: inv_sensors: do not compute period estimation when updating odr Jean-Baptiste Maneyrol via B4 Relay
2026-10-26 2:37 ` Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®