Lines Matching full:watermark

165 static unsigned int inv_icm42600_wm_truncate(unsigned int watermark,  in inv_icm42600_wm_truncate()  argument
171 wm_size = watermark * packet_size; in inv_icm42600_wm_truncate()
181 * inv_icm42600_buffer_update_watermark - update watermark FIFO threshold
186 * FIFO watermark threshold is computed based on the required watermark values
187 * set for gyro and accel sensors. Since watermark is all about acceptable data
189 * smallest latency but this is not as simple as choosing the smallest watermark
190 * value. Latency depends on watermark and ODR. It requires several steps:
197 * 3) Since all periods are multiple of each others, watermark is computed by
205 unsigned int wm_gyro, wm_accel, watermark; in inv_icm42600_buffer_update_watermark() local
214 /* compute sensors latency, depending on sensor watermark and odr */ in inv_icm42600_buffer_update_watermark()
215 wm_gyro = inv_icm42600_wm_truncate(st->fifo.watermark.gyro, packet_size); in inv_icm42600_buffer_update_watermark()
216 wm_accel = inv_icm42600_wm_truncate(st->fifo.watermark.accel, packet_size); in inv_icm42600_buffer_update_watermark()
223 /* 0 value for watermark means that the sensor is turned off */ in inv_icm42600_buffer_update_watermark()
225 watermark = wm_accel; in inv_icm42600_buffer_update_watermark()
227 watermark = wm_gyro; in inv_icm42600_buffer_update_watermark()
240 watermark = latency / period; in inv_icm42600_buffer_update_watermark()
241 if (watermark < 1) in inv_icm42600_buffer_update_watermark()
242 watermark = 1; in inv_icm42600_buffer_update_watermark()
245 /* compute watermark value in bytes */ in inv_icm42600_buffer_update_watermark()
246 wm_size = watermark * packet_size; in inv_icm42600_buffer_update_watermark()
248 /* changing FIFO watermark requires to turn off watermark interrupt */ in inv_icm42600_buffer_update_watermark()
262 /* restore watermark interrupt */ in inv_icm42600_buffer_update_watermark()
377 unsigned int *watermark; in inv_icm42600_buffer_postdisable() local
387 watermark = &st->fifo.watermark.gyro; in inv_icm42600_buffer_postdisable()
391 watermark = &st->fifo.watermark.accel; in inv_icm42600_buffer_postdisable()
403 *watermark = 0; in inv_icm42600_buffer_postdisable()
594 * Enable FIFO partial read and continuous watermark interrupt. in inv_icm42600_buffer_init()