FAILED: patch "[PATCH] iio: imu: inv_icm42600: fix timestamps after suspend if" failed to apply to 6.6-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x 65a60a590142c54a3f3be11ff162db2d5b0e1e06
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2025011353-untried-juniper-fe92@gregkh' --subject-prefix 'PATCH 6.6.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 65a60a590142c54a3f3be11ff162db2d5b0e1e06 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Maneyrol <[email protected]>
Date: Wed, 13 Nov 2024 21:25:45 +0100
Subject: [PATCH] iio: imu: inv_icm42600: fix timestamps after suspend if
sensor is on
Currently suspending while sensors are one will result in timestamping continuing without gap at resume. It can work with monotonic clock but not with other clocks. Fix that by resetting timestamping.
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c +6 -1
@@ -829,6 +829,8 @@ static int inv_icm42600_suspend(struct device *dev)static int inv_icm42600_resume (struct device *dev) {struct inv_icm42600_state *st =dev_get_drvdata (dev); +struct inv_icm42600_sensor_state *gyro_st =iio_priv (st->indio_gyro); +struct inv_icm42600_sensor_state *accel_st =iio_priv (st->indio_accel);int ret;mutex_lock (&st->lock);
@@ -849,9 +851,12 @@ static int inv_icm42600_resume(struct device *dev) goto out_unlock;/* restore FIFO data streaming */ -if (st->fifo.on) +if (st->fifo.on) { +inv_sensors_timestamp_reset (&gyro_st->ts); +inv_sensors_timestamp_reset (&accel_st->ts); ret =regmap_write (st->map,INV_ICM42600_REG_FIFO_CONFIG ,INV_ICM42600_FIFO_CONFIG_STREAM ); + } out_unlock:mutex_unlock (&st->lock);
PATCH 1/1 iio: imu: inv_icm42600: fix timestamps after suspend if sensor is on
From: Jean-Baptiste Maneyrol <[email protected]>
Currently suspending while sensors are one will result in timestamping continuing without gap at resume. It can work with monotonic clock but not with other clocks. Fix that by resetting timestamping.
--- drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c +7 -1
@@ -17,6 +17,7 @@#include <linux/regmap.h> #include <linux/iio/iio.h> +#include <linux/iio/common/inv_sensors_timestamp.h> #include "inv_icm42600.h" #include "inv_icm42600_buffer.h"
@@ -725,6 +726,8 @@ static int inv_icm42600_suspend(struct device *dev)static int inv_icm42600_resume (struct device *dev) {struct inv_icm42600_state *st =dev_get_drvdata (dev); +struct inv_sensors_timestamp *gyro_ts =iio_priv (st->indio_gyro); +struct inv_sensors_timestamp *accel_ts =iio_priv (st->indio_accel);int ret;mutex_lock (&st->lock);
@@ -745,9 +748,12 @@ static int inv_icm42600_resume(struct device *dev) goto out_unlock;/* restore FIFO data streaming */ -if (st->fifo.on) +if (st->fifo.on) { +inv_sensors_timestamp_reset (gyro_ts); +inv_sensors_timestamp_reset (accel_ts); ret =regmap_write (st->map,INV_ICM42600_REG_FIFO_CONFIG ,INV_ICM42600_FIFO_CONFIG_STREAM ); + } out_unlock:mutex_unlock (&st->lock);
Signature · 1 line
2.25.1
Sasha Levin
maintainerRe: [PATCH 6.6.y] iio: imu: inv_icm42600: fix timestamps after suspend if sensor is on
[ Sasha's backport helper bot ]
Hi,
Found matching upstream commit: 65a60a590142c54a3f3be11ff162db2d5b0e1e06
WARNING: Author mismatch between patch and found commit:
Backport author: [email protected]
Commit author: Jean-Baptiste Maneyrol<[email protected]>
Status in newer kernel trees:
6.12.y | Present (different SHA1: 7982d8f24a9b)
6.6.y | Not found
Note: The patch differs from the upstream commit:
---
1: 65a60a590142 ! 1: 9c96f19a264e iio: imu: inv_icm42600: fix timestamps after suspend if sensor is on
@@ Commit message
Signed-off-by: Jean-Baptiste Maneyrol <[email protected]>
Link: https://patch.msgid.link/20241113-inv_icm42600-fix-timestamps-after-suspend-v1-1-dfc77c394173@tdk.com
Signed-off-by: Jonathan Cameron <[email protected]>
+ (cherry picked from commit 65a60a590142c54a3f3be11ff162db2d5b0e1e06)
## drivers/iio/imu/inv_icm42600/inv_icm42600_core.c ##
+@@
+ #include <linux/regmap.h>
+
+ #include <linux/iio/iio.h>
++#include <linux/iio/common/inv_sensors_timestamp.h>
+
+ #include "inv_icm42600.h"
+ #include "inv_icm42600_buffer.h"
@@ drivers/iio/imu/inv_icm42600/inv_icm42600_core.c: static int inv_icm42600_suspend(struct device *dev)
static int inv_icm42600_resume(struct device *dev)
{
struct inv_icm42600_state *st = dev_get_drvdata(dev);
-+ struct inv_icm42600_sensor_state *gyro_st = iio_priv(st->indio_gyro);
-+ struct inv_icm42600_sensor_state *accel_st = iio_priv(st->indio_accel);
++ struct inv_sensors_timestamp *gyro_ts = iio_priv(st->indio_gyro);
++ struct inv_sensors_timestamp *accel_ts = iio_priv(st->indio_accel);
int ret;
mutex_lock(&st->lock);
@@ drivers/iio/imu/inv_icm42600/inv_icm42600_core.c: static int inv_icm42600_resume
/* restore FIFO data streaming */
- if (st->fifo.on)
+ if (st->fifo.on) {
-+ inv_sensors_timestamp_reset(&gyro_st->ts);
-+ inv_sensors_timestamp_reset(&accel_st->ts);
++ inv_sensors_timestamp_reset(gyro_ts);
++ inv_sensors_timestamp_reset(accel_ts);
ret = regmap_write(st->map, INV_ICM42600_REG_FIFO_CONFIG,
INV_ICM42600_FIFO_CONFIG_STREAM);
+ }---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.6.y | Success | Success |