From: Md Shofiqul Islam <shofiqtest@gmail.com>
To: jic23@kernel.org
Cc: 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,
Md Shofiqul Islam <shofiqtest@gmail.com>
Subject: [PATCH 3/5] iio: accel: adxl367: Add timestamp to FIFO data
Date: Sun, 10 May 2026 11:25:54 +0300 [thread overview]
Message-ID: <20260510082556.3867-4-shofiqtest@gmail.com> (raw)
In-Reply-To: <20260510082556.3867-1-shofiqtest@gmail.com>
The driver pushes FIFO samples using iio_push_to_buffers() which does
not attach a hardware timestamp to the data. Add a scan buffer struct
with an aligned_s64 timestamp field to the driver state, capture a
single timestamp per IRQ with iio_get_time_ns() in the IRQ handler, and
pass it into adxl367_push_fifo_data() (whose signature gains a s64 ts
parameter) to switch the FIFO push loop to
iio_push_to_buffers_with_timestamp().
Signed-off-by: Md Shofiqul Islam <shofiqtest@gmail.com>
---
drivers/iio/accel/adxl367.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/iio/accel/adxl367.c b/drivers/iio/accel/adxl367.c
index 0c04b2bb7e..2852f2fdfa 100644
--- a/drivers/iio/accel/adxl367.c
+++ b/drivers/iio/accel/adxl367.c
@@ -179,6 +179,10 @@ struct adxl367_state {
__be16 fifo_buf[ADXL367_FIFO_SIZE] __aligned(IIO_DMA_MINALIGN);
__be16 sample_buf;
+ struct {
+ __be16 channels[4];
+ aligned_s64 ts;
+ } scan;
u8 act_threshold_buf[2];
u8 inact_time_buf[2];
u8 status_buf[3];
@@ -779,7 +783,7 @@ static bool adxl367_push_event(struct iio_dev *indio_dev, u8 status)
}
static bool adxl367_push_fifo_data(struct iio_dev *indio_dev, u8 status,
- u16 fifo_entries)
+ u16 fifo_entries, s64 ts)
{
struct adxl367_state *st = iio_priv(indio_dev);
int ret;
@@ -796,8 +800,11 @@ static bool adxl367_push_fifo_data(struct iio_dev *indio_dev, u8 status,
return true;
}
- for (i = 0; i < fifo_entries; i += st->fifo_set_size)
- iio_push_to_buffers(indio_dev, &st->fifo_buf[i]);
+ for (i = 0; i < fifo_entries; i += st->fifo_set_size) {
+ memcpy(st->scan.channels, &st->fifo_buf[i],
+ st->fifo_set_size * sizeof(__be16));
+ iio_push_to_buffers_with_timestamp(indio_dev, &st->scan, ts);
+ }
return true;
}
@@ -809,14 +816,16 @@ static irqreturn_t adxl367_irq_handler(int irq, void *private)
u16 fifo_entries;
bool handled;
u8 status;
+ s64 ts;
int ret;
ret = adxl367_get_status(st, &status, &fifo_entries);
if (ret)
return IRQ_NONE;
+ ts = iio_get_time_ns(indio_dev);
handled = adxl367_push_event(indio_dev, status);
- handled |= adxl367_push_fifo_data(indio_dev, status, fifo_entries);
+ handled |= adxl367_push_fifo_data(indio_dev, status, fifo_entries, ts);
return handled ? IRQ_HANDLED : IRQ_NONE;
}
--
2.54.0.windows.1
next prev parent reply other threads:[~2026-05-10 8:26 UTC|newest]
Thread overview: 9+ 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 ` Md Shofiqul Islam [this message]
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 ` [PATCH 0/5] iio: accel: adxl3xx: Add timestamps " Andy Shevchenko
[not found] ` <CAOTCDVsUF1qaYgSGa4hcDYOqmMpkK2G+HYeQ=ShQ1oEbM8nGJQ@mail.gmail.com>
2026-05-11 14:41 ` Jonathan Cameron
2026-05-14 18:35 ` Md Shofiqul Islam
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=20260510082556.3867-4-shofiqtest@gmail.com \
--to=shofiqtest@gmail.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 \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.