Lines Matching full:exact
329 bool exact) in __pwm_set_waveform() argument
349 if ((IS_ENABLED(CONFIG_PWM_DEBUG) || exact) && wf->period_length_ns) { in __pwm_set_waveform()
359 if (exact && pwmwfcmp(wf, &wf_rounded)) { in __pwm_set_waveform()
404 * @exact: If true no rounding is allowed
408 * periods that are a multiple of 8.5 ns. With that hardware passing @exact =
410 * If @exact = false you get a period of 93.5 ns (i.e. the biggest period not
412 * Note that even with @exact = true, some rounding by less than 1 ns is
414 * @exact = true, you get the hardware configured with period = 93.5 ns.
421 * (p, d, o) ∈ C for a given request (p', d', o') with @exact = false::
436 * Returns: 0 on success, -EDOM if setting failed due to the exact waveform not
437 * being possible (if @exact), or a different negative errno on failure.
441 const struct pwm_waveform *wf, bool exact) in pwm_set_waveform_might_sleep() argument
459 err = __pwm_set_waveform(pwm, wf, exact); in pwm_set_waveform_might_sleep()
462 err = __pwm_set_waveform(pwm, wf, exact); in pwm_set_waveform_might_sleep()
466 * map err == 1 to -EDOM for exact requests and 0 for !exact ones. Also in pwm_set_waveform_might_sleep()
473 else if (exact && err == 1) in pwm_set_waveform_might_sleep()
579 /* reapplication of the current state should give an exact match */ in pwm_apply_debug()