From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Jonathan Cameron <jic23@kernel.org>
Cc: "Francesco Lavra" <flavra@baylibre.com>,
"Lorenzo Bianconi" <lorenzo@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 3/4] iio: imu: st_lsm6dsx: Fix check for invalid samples from FIFO
Date: Fri, 23 Jan 2026 09:58:10 +0200 [thread overview]
Message-ID: <aXMqEtk8K68sqAyQ@smile.fi.intel.com> (raw)
In-Reply-To: <20260122200757.47863f0f@jic23-huawei>
On Thu, Jan 22, 2026 at 08:07:57PM +0000, Jonathan Cameron wrote:
> On Thu, 22 Jan 2026 17:23:34 +0100
> Francesco Lavra <flavra@baylibre.com> wrote:
>
> > The DRDY_MASK feature implemented in sensor chips marks gyroscope and
> > accelerometer invalid samples (i.e. samples that have been acquired during
> > the settling time of sensor filters) with the special values 0x7FFFh,
> > 0x7FFE, and 0x7FFD.
> > The driver checks FIFO samples against these special values in order to
> > discard invalid samples; however, it does the check regardless of the type
> > of samples being processed, whereas this feature is specific to gyroscope
> > and accelerometer data. This could cause valid samples to be discarded.
> >
> > Fix the above check so that it takes into account the type of samples being
> > processed. In st_lsm6dsx_push_tagged_data(), change the type of the data
> > parameter to __le16 *, to reflect the fact that this function is called
> > with an aligned data argument and avoid casting to __le16 * when checking
> > sample values.
> I'm going to guess Andy meant all the way up rather than pushing the cast
> upwards. I think this can be done in a fashion that cleans up the type
> representation in general.
Indeed. This version is not so better than the previous.
...
> > - st_lsm6dsx_push_tagged_data(hw, tag, iio_buff,
> > + st_lsm6dsx_push_tagged_data(hw, tag,
> > + (__le16 *)iio_buff,
>
> This is ugly but at least it's near the declaration so improvement on previous.
>
> However, I smell a cleaner solution. If I read the buffer definition correctly
> it could be replaced with
>
> struct {
> __le16 data[3];
> aligned_s64 timestamp;
> } iio_buff = { };
>
> //note the zeroing because the code never writes the hole which is
> bad... Also that the { } is guaranteed to fill the hole with the build options
> the kernel uses (there is a selftest for this).
>
> Which will let you pass iio_buf->data to this call.
Yes, this looks way better and allows to get rid of all assumptions and
castings.
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2026-01-23 7:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-22 16:23 [PATCH v5 0/4] imu: st_lsm6dsx: Add support for rotation sensor Francesco Lavra
2026-01-22 16:23 ` [PATCH v5 1/4] iio: imu: st_lsm6dsx: Set FIFO ODR for accelerometer and gyroscope only Francesco Lavra
2026-01-22 16:23 ` [PATCH v5 2/4] iio: imu: st_lsm6dsx: Set buffer sampling frequency for accelerometer only Francesco Lavra
2026-02-09 8:02 ` Francesco Lavra
2026-02-14 15:10 ` Jonathan Cameron
2026-01-22 16:23 ` [PATCH v5 3/4] iio: imu: st_lsm6dsx: Fix check for invalid samples from FIFO Francesco Lavra
2026-01-22 20:07 ` Jonathan Cameron
2026-01-23 7:58 ` Andy Shevchenko [this message]
2026-01-22 16:23 ` [PATCH v5 4/4] iio: imu: st_lsm6dsx: Add support for rotation sensor Francesco Lavra
2026-01-22 20:29 ` Jonathan Cameron
2026-01-23 11:03 ` Francesco Lavra
2026-01-23 17:48 ` Jonathan Cameron
2026-01-26 11:15 ` Francesco Lavra
2026-01-31 18:38 ` Jonathan Cameron
2026-01-23 20:49 ` David Lechner
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=aXMqEtk8K68sqAyQ@smile.fi.intel.com \
--to=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=flavra@baylibre.com \
--cc=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lorenzo@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.