iio: invensense: fix multiple odr switch when FIFO is off
commit ef5f5e7b6f73f79538892a8be3a3bee2342acc9f upstream. When multiple ODR switch happens during FIFO off, the change could not be taken into account if you get back to previous FIFO on value. For example, if you run sensor buffer at 50Hz, stop, change to 200Hz, then back to 50Hz and restart buffer, data will be timestamped at 200Hz. This due to testing against mult and not new_mult. To prevent this, let's just run apply_odr automatically when FIFO is off. It will also simplify driver code. Update inv_mpu6050 and inv_icm42600 to delete now useless apply_odr. Fixes: 95444b9e ("iio: invensense: fix odr switching to same value") Cc: stable@vger.kernel.org Signed-off-by:Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com> Link: https://patch.msgid.link/20241021-invn-inv-sensors-timestamp-fix-switch-fifo-off-v2-1-39ffd43edcc4@tdk.com Signed-off-by:
Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
parent
1344ff89
No related branches found
No related tags found
Showing
- drivers/iio/common/inv_sensors/inv_sensors_timestamp.c 4 additions, 0 deletionsdrivers/iio/common/inv_sensors/inv_sensors_timestamp.c
- drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c 0 additions, 2 deletionsdrivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
- drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c 0 additions, 3 deletionsdrivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
- drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c 0 additions, 1 deletiondrivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c
Loading
Please register or sign in to comment