Lines Matching full:prescaler
117 unsigned int prescaler; in sun4i_pwm_get_state() local
141 prescaler = 1; in sun4i_pwm_get_state()
143 prescaler = prescaler_table[PWM_REG_PRESCAL(val, pwm->hwpwm)]; in sun4i_pwm_get_state()
145 if (prescaler == 0) in sun4i_pwm_get_state()
161 tmp = (u64)prescaler * NSEC_PER_SEC * PWM_REG_DTY(val); in sun4i_pwm_get_state()
164 tmp = (u64)prescaler * NSEC_PER_SEC * PWM_REG_PRD(val); in sun4i_pwm_get_state()
176 unsigned int prescaler = 0; in sun4i_pwm_calculate() local
191 /* First, test without any prescaler when available */ in sun4i_pwm_calculate()
192 prescaler = PWM_PRESCAL_MASK; in sun4i_pwm_calculate()
194 * When not using any prescaler, the clock period in nanoseconds in sun4i_pwm_calculate()
201 prescaler = 0; in sun4i_pwm_calculate()
204 if (prescaler == 0) { in sun4i_pwm_calculate()
206 for (prescaler = 0; prescaler < PWM_PRESCAL_MASK; prescaler++) { in sun4i_pwm_calculate()
207 unsigned int pval = prescaler_table[prescaler]; in sun4i_pwm_calculate()
228 *prsclr = prescaler; in sun4i_pwm_calculate()
240 unsigned int delay_us, prescaler = 0; in sun4i_pwm_apply() local
253 ret = sun4i_pwm_calculate(sun4i_pwm, state, &duty, &period, &prescaler, in sun4i_pwm_apply()
277 if (PWM_REG_PRESCAL(ctrl, pwm->hwpwm) != prescaler) { in sun4i_pwm_apply()
278 /* Prescaler changed, the clock has to be gated */ in sun4i_pwm_apply()
283 ctrl |= BIT_CH(prescaler, pwm->hwpwm); in sun4i_pwm_apply()