Lines Matching full:period

47 	struct fsl_pwm_periodcfg period;  member
120 rate = clk_get_rate(fpc->clk[fpc->period.clk_select]); in fsl_pwm_ticks_to_ns()
121 if (rate >> fpc->period.clk_ps == 0) in fsl_pwm_ticks_to_ns()
126 do_div(exval, rate >> fpc->period.clk_ps); in fsl_pwm_ticks_to_ns()
193 unsigned int period = fpc->period.mod_period + 1; in fsl_pwm_calculate_duty() local
194 unsigned int period_ns = fsl_pwm_ticks_to_ns(fpc, period); in fsl_pwm_calculate_duty()
199 duty = (unsigned long long)duty_ns * period; in fsl_pwm_calculate_duty()
240 if (!fsl_pwm_calculate_period(fpc, newstate->period, &periodcfg)) { in fsl_pwm_apply_config()
241 dev_err(pwmchip_parent(chip), "failed to calculate new period\n"); in fsl_pwm_apply_config()
248 * The Freescale FTM controller supports only a single period for in fsl_pwm_apply_config()
249 * all PWM channels, therefore verify if the newly computed period in fsl_pwm_apply_config()
250 * is different than the current period being used. In such case in fsl_pwm_apply_config()
251 * we allow to change the period only if no other pwm is running. in fsl_pwm_apply_config()
253 else if (!fsl_pwm_periodcfg_are_equal(&fpc->period, &periodcfg)) { in fsl_pwm_apply_config()
256 "Cannot change period for PWM %u, disable other PWMs first\n", in fsl_pwm_apply_config()
260 if (fpc->period.clk_select != periodcfg.clk_select) { in fsl_pwm_apply_config()
262 enum fsl_pwm_clk oldclk = fpc->period.clk_select; in fsl_pwm_apply_config()
282 fpc->period = periodcfg; in fsl_pwm_apply_config()
325 clk_disable_unprepare(fpc->clk[fpc->period.clk_select]); in fsl_pwm_apply()
337 ret = clk_prepare_enable(fpc->clk[fpc->period.clk_select]); in fsl_pwm_apply()
343 clk_disable_unprepare(fpc->clk[fpc->period.clk_select]); in fsl_pwm_apply()
488 clk_disable_unprepare(fpc->clk[fpc->period.clk_select]); in fsl_pwm_suspend()
511 clk_prepare_enable(fpc->clk[fpc->period.clk_select]); in fsl_pwm_resume()