Re: [PATCH v3 3/7] iio: pressure: bmp280: Remove config error check for IIR filter updates
From: Andy Shevchenko
Date: Fri Aug 23 2024 - 15:15:47 EST
On Fri, Aug 23, 2024 at 08:17:10PM +0200, Vasileios Amoiridis wrote:
> When there is a change in the configuration of the BMP3xx device, several
> steps take place. These steps include:
>
> 1) Update the OSR settings and check if there was an update
> 2) Update the ODR settings and check if there was an update
> 3) Update the IIR settings and check if there was an update
> 4) Check if there was an update with the following procedure:
> a) Set sensor to SLEEP mode and after to NORMAL mode to trigger
> a new measurement.
> b) Wait the maximum amount possible depending on the OSR settings
> c) Check the configuration error register if there was an error
> during the configuration of the sensor.
>
> This check is necessary, because there could be a case where the OSR is
> too high for the requested ODR so either the ODR needs to be slower or the
> OSR needs to be less. This is something that is checked internally by the
> sensor when it runs in NORMAL mode.
>
> In the BMP58x devices the previous steps are done internally by the sensor.
>
> The IIR filter settings do not depend on the OSR or ODR settings, and there
> is no need to run a check in case they change.
...
> + ret = regmap_update_bits(data->regmap, BMP580_REG_DSP_IIR,
> + BMP580_DSP_IIR_PRESS_MASK |
> + BMP580_DSP_IIR_TEMP_MASK, reg_val);
Better to split on logical bounds
ret = regmap_update_bits(data->regmap, BMP580_REG_DSP_IIR,
BMP580_DSP_IIR_PRESS_MASK | BMP580_DSP_IIR_TEMP_MASK,
reg_val);
--
With Best Regards,
Andy Shevchenko