From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Md Shofiqul Islam <shofiqtest@gmail.com>
Cc: jic23@kernel.org, lars@metafoo.de, Michael.Hennerich@analog.com,
dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/5] iio: accel: adxl3xx: Add timestamps to FIFO data
Date: Sun, 10 May 2026 15:58:16 +0300 [thread overview]
Message-ID: <agCA6HUnN5KMXj8J@ashevche-desk.local> (raw)
In-Reply-To: <20260510082556.3867-1-shofiqtest@gmail.com>
On Sun, May 10, 2026 at 11:25:51AM +0300, Md Shofiqul Islam wrote:
> Five ADXL-family accelerometer drivers (ADXL313, ADXL345, ADXL367,
> ADXL372, ADXL380) push buffered samples using iio_push_to_buffers(),
> which does not attach a hardware timestamp to the scan data.
> Userspace consumers therefore receive samples with no timing
> information.
>
> This series adds timestamp support uniformly across the family:
>
> - A scan buffer struct with an aligned_s64 ts field is added to each
> driver's state struct. The struct layout ensures the timestamp
> field sits at an 8-byte aligned offset as required by
> iio_push_to_buffers_with_timestamp().
>
> - In the FIFO push loop, FIFO data is copied into scan.channels via
> memcpy(), then iio_push_to_buffers_with_timestamp() is called with
> a single timestamp captured once per interrupt with
> iio_get_time_ns(). Using one timestamp per IRQ is consistent with
> the existing approach in the same handlers for event timestamps.
>
> - For ADXL367, the helper adxl367_push_fifo_data() gains a s64 ts
> parameter so the timestamp captured in the IRQ handler is passed
> through instead of calling iio_get_time_ns() a second time.
>
> - For ADXL372 and ADXL380, where the IRQ handler already called
> iio_get_time_ns() for the event push, the same captured timestamp
> is now also passed to the FIFO push, removing the duplicate call.
>
> The ADXL313 and ADXL345 drivers always scan all three axes together
> (available_scan_masks contains only the full X|Y|Z mask), so their
> scan buffer layout is fixed. The ADXL367, ADXL372, and ADXL380
> drivers support variable scan masks; fifo_set_size tracks the number
> of enabled channels per sample set and is used as the memcpy length.
This is sensitive change. Do we have any confirmation that this
- does work as expected on real HW and platforms that use these devices
- does not break any ABI
--
With Best Regards,
Andy Shevchenko
prev parent reply other threads:[~2026-05-10 12:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-10 8:25 [PATCH 0/5] iio: accel: adxl3xx: Add timestamps to FIFO data Md Shofiqul Islam
2026-05-10 8:25 ` [PATCH 1/5] iio: accel: adxl372: Add timestamp " Md Shofiqul Islam
2026-05-10 8:25 ` [PATCH 2/5] iio: accel: adxl380: " Md Shofiqul Islam
2026-05-10 8:25 ` [PATCH 3/5] iio: accel: adxl367: " Md Shofiqul Islam
2026-05-10 8:25 ` [PATCH 4/5] iio: accel: adxl313: " Md Shofiqul Islam
2026-05-10 8:25 ` [PATCH 5/5] iio: accel: adxl345: " Md Shofiqul Islam
2026-05-10 12:58 ` Andy Shevchenko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=agCA6HUnN5KMXj8J@ashevche-desk.local \
--to=andriy.shevchenko@intel.com \
--cc=Michael.Hennerich@analog.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=shofiqtest@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox