[PATCH 7/8] iio: imu: inv_mpu6050: align buffer for timestamp
Jonathan Cameron
jic23 at kernel.org
Fri Apr 18 08:09:22 PDT 2025
On Fri, 18 Apr 2025 16:02:38 +0100
Jonathan Cameron <jic23 at kernel.org> wrote:
> On Fri, 18 Apr 2025 11:26:39 +0000
> Jean-Baptiste Maneyrol <Jean-Baptiste.Maneyrol at tdk.com> wrote:
>
> > On Thu, 17 Apr 2025 19:46:00, Jonathan Cameron wrote:
> > > On Thu, 17 Apr 2025 20:00:05 +0300
> > > Andy Shevchenko <andy at kernel.org> wrote:
> > >
> > > > On Thu, Apr 17, 2025 at 11:52:39AM -0500, David Lechner wrote:
> > > > > Align the buffer used with iio_push_to_buffers_with_timestamp() to
> > > > > ensure the s64 timestamp is aligned to 8 bytes.
> > > >
> > > > Same question as per previous patch.
> > > >
> > > In this case I don't think we know the position of the timestamp
> > > so a structure would be misleading.
> > >
> > > The comment above the define certainly suggests it is variable..
> >
> > I confirm timestamp position is changing depending on channels enabled. It
> > can be at address 8, 16 or 24.
> >
> > If there is only 1 sensor enabled (6 bytes of data), timestamp is at address
> > 8. 2 sensors (12 bytes of data), timestamp will be at address 16. 3 sensors
> > for MPU-9xxx (19 bytes of data), timestamp will be at address 24.
> >
> > If the buffer is aligned on 8 bytes, it will always work without any problem.
> >
> > >
> > > /*
> > > * Maximum of 6 + 6 + 2 + 7 (for MPU9x50) = 21 round up to 24 and plus 8.
> > > * May be less if fewer channels are enabled, as long as the timestamp
> > > * remains 8 byte aligned
> > > */
> > > #define INV_MPU6050_OUTPUT_DATA_SIZE 32
> >
> > Thanks,
> > JB
>
> I applied this one as it stands with fixes tag and +CC stable.
>
> Fixes: 0829edc43e0a ("iio: imu: inv_mpu6050: read the full fifo when processing data")
>
> I thought about seeing if all the cases that are fixes are separable enough
> to take through togreg-fixes whilst the with_ts() series goes through togreg
> in parallel. I might see if that is doable easily.
>
I have done so and it seems fine as we didn't rename anything...
52d349884738 (HEAD -> fixes-togreg) iio: adc: ad7266: Fix potential timestamp alignment issue.
ffbc26bc91c1 iio: adc: ad7768-1: Fix insufficient alignment of timestamp.
5097eaae98e5 iio: adc: dln2: Use aligned_s64 for timestamp
1bb942287e05 iio: accel: adxl355: Make timestamp 64-bit aligned using aligned_s64
f79aeb6c631b iio: temp: maxim-thermocouple: Fix potential lack of DMA safe buffer.
6ffa69867405 iio: chemical: pms7003: use aligned_s64 for timestamp
bb49d940344b iio: chemical: sps30: use aligned_s64 for timestamp
Now on the fixes-togreg branch of iio.git.
> Jonathan
More information about the Linux-mediatek
mailing list