Lines Matching full:prescale

120 	u8 prescale;  in rzg2l_gpt_calculate_prescale()  local
124 prescale = 5; in rzg2l_gpt_calculate_prescale()
126 prescale = (fls(prescaled_period_ticks) + 1) / 2; in rzg2l_gpt_calculate_prescale()
128 return prescale; in rzg2l_gpt_calculate_prescale()
201 u32 val, u8 prescale) in rzg2l_gpt_calculate_period_or_duty() argument
206 * The calculation doesn't overflow an u64 because prescale ≤ 5 and so in rzg2l_gpt_calculate_period_or_duty()
207 * tmp = val << (2 * prescale) * USEC_PER_SEC in rzg2l_gpt_calculate_period_or_duty()
212 tmp = (u64)val << (2 * prescale); in rzg2l_gpt_calculate_period_or_duty()
227 u8 prescale; in rzg2l_gpt_get_state() local
231 prescale = FIELD_GET(RZG2L_GTCR_TPCS, val); in rzg2l_gpt_get_state()
234 state->period = rzg2l_gpt_calculate_period_or_duty(rzg2l_gpt, val, prescale); in rzg2l_gpt_get_state()
237 state->duty_cycle = rzg2l_gpt_calculate_period_or_duty(rzg2l_gpt, val, prescale); in rzg2l_gpt_get_state()
247 static u32 rzg2l_gpt_calculate_pv_or_dc(u64 period_or_duty_cycle, u8 prescale) in rzg2l_gpt_calculate_pv_or_dc() argument
249 return min_t(u64, DIV_ROUND_DOWN_ULL(period_or_duty_cycle, 1 << (2 * prescale)), in rzg2l_gpt_calculate_pv_or_dc()
262 u8 prescale; in rzg2l_gpt_config() local
270 * prescale and period can NOT be modified when there are multiple IOs in rzg2l_gpt_config()
280 prescale = rzg2l_gpt_calculate_prescale(rzg2l_gpt, period_ticks); in rzg2l_gpt_config()
281 pv = rzg2l_gpt_calculate_pv_or_dc(period_ticks, prescale); in rzg2l_gpt_config()
286 dc = rzg2l_gpt_calculate_pv_or_dc(duty_ticks, prescale); in rzg2l_gpt_config()
313 FIELD_PREP(RZG2L_GTCR_TPCS, prescale)); in rzg2l_gpt_config()