On Du, 2019-09-15 at 14:27 +0100, Jonathan Cameron wrote: > > > > On Tue, 10 Sep 2019 17:43:32 +0300 > Stefan Popa <stefan.popa@xxxxxxxxxx> wrote: > > > > > > > > > > > Currently, the driver sets the FIFO_SAMPLES register with the number of > > sample sets (maximum of 170 for 3 axis data, 256 for 2-axis and 512 for > > single axis). However, the FIFO_SAMPLES register should store the > > number > > of samples, regardless of how the FIFO format is configured. > > > > Signed-off-by: Stefan Popa <stefan.popa@xxxxxxxxxx> Hi Jonathan, > > > > Fixes tags? I think it's > Fixes: f4f55ce38e5f ("iio:adxl372: Add FIFO and interrupts support") > > Check I got that right though. Yes, that's right! Thank you! -Stefan > > > > > One trivial inline that I have tidied up whilst applying. > > Applied to the fixes-togreg branch of iio.git. > > Thanks, > > Jonathan > > > > > > > > > > > > --- > > Changes in v2: > > - st->watermark needs to store the number of sample sets, > > the total number of samples is computed in > > adxl372_configure_fifo() func. > > > > drivers/iio/accel/adxl372.c | 11 ++++++++--- > > 1 file changed, 8 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c > > index 055227cb..7de5e1b 100644 > > --- a/drivers/iio/accel/adxl372.c > > +++ b/drivers/iio/accel/adxl372.c > > @@ -474,12 +474,17 @@ static int adxl372_configure_fifo(struct > > adxl372_state *st) > > if (ret < 0) > > return ret; > > > > - fifo_samples = st->watermark & 0xFF; > > + /* > > + * watermak stores the number of sets; we need to write the > > FIFO > watermark > > > > > > > > > > > + * registers with the number of samples > > + */ > > + fifo_samples = (st->watermark * st->fifo_set_size); > > fifo_ctl = ADXL372_FIFO_CTL_FORMAT_MODE(st->fifo_format) | > > ADXL372_FIFO_CTL_MODE_MODE(st->fifo_mode) | > > - ADXL372_FIFO_CTL_SAMPLES_MODE(st->watermark); > > + ADXL372_FIFO_CTL_SAMPLES_MODE(fifo_samples); > > > > - ret = regmap_write(st->regmap, ADXL372_FIFO_SAMPLES, > > fifo_samples); > > + ret = regmap_write(st->regmap, > > + ADXL372_FIFO_SAMPLES, fifo_samples & 0xFF); > > if (ret < 0) > > return ret; > >