[PATCH v9 0/3] iio: pressure: dps310: hardware FIFO support
From: Rupesh Majhi
Date: Mon Sep 28 2026 - 17:13:44 EST
Rest of v8, rebased on iio/testing where 1-6 and 10 now are.
Since v8, both in patch 1:
- a held entry that fails to compensate is dropped. v8 kept it and
retried it at every temperature entry, failing that drain and losing
rest of its batch. With one bad entry injected on hardware, v8 lost
20 to 45% of samples and v9 only that entry
- postenable takes the lock by hand instead of mixing guard() and goto
On your question about out-of-range values in the FIFO: none seen from
real data at any oversampling ratio. Checking turned up an s64 overflow in
pressure compensation, fixed on its own:
https://lore.kernel.org/linux-iio/20260928101803.547005-1-zoone.rupert@xxxxxxxxx/
Retested on a DPS310 on a BeagleBone Black: six of six buffer enables
produce data, flush race test clean. Built with clang 23 and
CONFIG_WARN_CONTEXT_ANALYSIS, no warnings.
Clang annotation for the mode claim helpers, from Andy's question on v7
9/10, comes as its own series, with at_least for dps310_fill_channels().
Cleanup series after that.
Rupesh Majhi (3):
iio: pressure: dps310: read buffered samples from the hardware FIFO
iio: pressure: dps310: derive the drain interval from the watermark
iio: pressure: dps310: implement .hwfifo_flush_to_buffer()
drivers/iio/pressure/dps310.c | 410 +++++++++++++++++++++++++++++++++-
1 file changed, 400 insertions(+), 10 deletions(-)
base-commit: a3b3580713f3ac5a32dc2874ee546828977a1d68
--
2.43.0