Lines Matching full:odr
16 * - ODR (Output Data Rate) selection
93 /* ODR */
155 /* ODR */
402 * msa311_get_odr() - Read Output Data Rate (ODR) value from MSA311 accel
404 * @odr: output ODR value
410 static int msa311_get_odr(struct msa311_priv *msa311, unsigned int *odr) in msa311_get_odr() argument
414 err = regmap_field_read(msa311->fields[F_ODR], odr); in msa311_get_odr()
419 * Filter the same 1000Hz ODR register values based on datasheet info. in msa311_get_odr()
420 * ODR can be equal to 1010-1111 for 1000Hz, but function returns 1010 in msa311_get_odr()
423 if (*odr > MSA311_ODR_1000_HZ) in msa311_get_odr()
424 *odr = MSA311_ODR_1000_HZ; in msa311_get_odr()
430 * msa311_set_odr() - Setup Output Data Rate (ODR) value for MSA311 accel
432 * @odr: requested ODR value
434 * This function should be called under msa311->lock. Possible ODR values:
447 * Return: 0 on success, -EINVAL for bad ODR value in the certain power mode,
450 static int msa311_set_odr(struct msa311_priv *msa311, unsigned int odr) in msa311_set_odr() argument
461 /* Filter bad ODR values */ in msa311_set_odr()
463 good_odr = (odr > MSA311_ODR_1_95_HZ); in msa311_set_odr()
469 "can't set odr %u.%06uHz, not available in %s mode\n", in msa311_set_odr()
470 msa311_odr_table[odr].integral, in msa311_set_odr()
471 msa311_odr_table[odr].microfract, in msa311_set_odr()
476 return regmap_field_write(msa311->fields[F_ODR], odr); in msa311_set_odr()
492 unsigned int odr; in msa311_wait_for_next_data() local
495 err = msa311_get_odr(msa311, &odr); in msa311_wait_for_next_data()
505 * A certain timeout is calculated based on the current ODR value. in msa311_wait_for_next_data()
509 freq_uhz = msa311_odr_table[odr].integral * MICROHZ_PER_HZ + in msa311_wait_for_next_data()
510 msa311_odr_table[odr].microfract; in msa311_wait_for_next_data()
658 unsigned int odr; in msa311_read_samp_freq() local
662 err = msa311_get_odr(msa311, &odr); in msa311_read_samp_freq()
670 *val = msa311_odr_table[odr].integral; in msa311_read_samp_freq()
671 *val2 = msa311_odr_table[odr].microfract; in msa311_read_samp_freq()
704 /* ODR value has 2 ints (integer and fractional parts) */ in msa311_read_avail()
758 unsigned int odr; in msa311_write_samp_freq() local
777 for (odr = 0; odr < ARRAY_SIZE(msa311_odr_table); odr++) in msa311_write_samp_freq()
778 if (val == msa311_odr_table[odr].integral && in msa311_write_samp_freq()
779 val2 == msa311_odr_table[odr].microfract) { in msa311_write_samp_freq()
781 err = msa311_set_odr(msa311, odr); in msa311_write_samp_freq()