Lines Matching defs:watermark
166 static unsigned int inv_icm42600_wm_truncate(unsigned int watermark,
172 wm_size = watermark * packet_size;
182 * inv_icm42600_buffer_update_watermark - update watermark FIFO threshold
187 * FIFO watermark threshold is computed based on the required watermark values
188 * set for gyro and accel sensors. Since watermark is all about acceptable data
190 * smallest latency but this is not as simple as choosing the smallest watermark
191 * value. Latency depends on watermark and ODR. It requires several steps:
198 * 3) Since all periods are multiple of each others, watermark is computed by
206 unsigned int wm_gyro, wm_accel, watermark;
215 /* compute sensors latency, depending on sensor watermark and odr */
216 wm_gyro = inv_icm42600_wm_truncate(st->fifo.watermark.gyro, packet_size);
217 wm_accel = inv_icm42600_wm_truncate(st->fifo.watermark.accel, packet_size);
224 /* 0 value for watermark means that the sensor is turned off */
226 watermark = wm_accel;
228 watermark = wm_gyro;
241 watermark = latency / period;
242 if (watermark < 1)
243 watermark = 1;
246 /* compute watermark value in bytes */
247 wm_size = watermark * packet_size;
249 /* changing FIFO watermark requires to turn off watermark interrupt */
263 /* restore watermark interrupt */
383 unsigned int *watermark;
392 watermark = &st->fifo.watermark.gyro;
395 watermark = &st->fifo.watermark.accel;
406 *watermark = 0;
592 * Enable FIFO partial read and continuous watermark interrupt.