Home
last modified time | relevance | path

Searched refs:period_ns (Results 1 – 25 of 61) sorted by relevance

123

/linux/drivers/pwm/
H A Dpwm-lpc18xx-sct.c98 unsigned int period_ns; member
141 static void lpc18xx_pwm_config_period(struct pwm_chip *chip, u64 period_ns) in lpc18xx_pwm_config_period() argument
152 val = mul_u64_u64_div_u64(period_ns, lpc18xx_pwm->clk_rate, NSEC_PER_SEC); in lpc18xx_pwm_config_period()
186 int duty_ns, int period_ns) in lpc18xx_pwm_config() argument
191 if (period_ns < lpc18xx_pwm->min_period_ns || in lpc18xx_pwm_config()
192 period_ns > lpc18xx_pwm->max_period_ns) { in lpc18xx_pwm_config()
193 dev_err(pwmchip_parent(chip), "period %d not in range\n", period_ns); in lpc18xx_pwm_config()
205 if (requested_events > 2 && lpc18xx_pwm->period_ns != period_ns && in lpc18xx_pwm_config()
206 lpc18xx_pwm->period_ns) { in lpc18xx_pwm_config()
212 if ((requested_events <= 2 && lpc18xx_pwm->period_ns != period_ns) || in lpc18xx_pwm_config()
[all …]
H A Dpwm-airoha.c134 static u32 airoha_pwm_get_period_ticks_from_ns(u32 period_ns) in airoha_pwm_get_period_ticks_from_ns() argument
136 return period_ns / AIROHA_PWM_PERIOD_TICK_NS; in airoha_pwm_get_period_ticks_from_ns()
139 static u32 airoha_pwm_get_duty_ticks_from_ns(u32 period_ns, u32 duty_ns) in airoha_pwm_get_duty_ticks_from_ns() argument
141 return mul_u64_u32_div(duty_ns, AIROHA_PWM_DUTY_FULL, period_ns); in airoha_pwm_get_duty_ticks_from_ns()
151 u32 period_ns = period_tick * AIROHA_PWM_PERIOD_TICK_NS; in airoha_pwm_get_duty_ns_from_ticks() local
158 return DIV_U64_ROUND_UP(duty_tick * period_ns, AIROHA_PWM_DUTY_FULL); in airoha_pwm_get_duty_ns_from_ticks()
162 u64 *period_ns, u64 *duty_ns) in airoha_pwm_get_bucket() argument
179 *period_ns = airoha_pwm_get_period_ns_from_ticks(period_tick); in airoha_pwm_get_bucket()
510 u32 period_ns, duty_ns; in airoha_pwm_apply() local
527 period_ns = AIROHA_PWM_PERIOD_MAX_NS; in airoha_pwm_apply()
[all …]
H A Dpwm-samsung.c65 u32 period_ns; member
309 int duty_ns, int period_ns, bool force_period) in __pwm_samsung_config() argument
322 if (chan->period_ns != period_ns || force_period) { in __pwm_samsung_config()
326 period = NSEC_PER_SEC / period_ns; in __pwm_samsung_config()
329 duty_ns, period_ns, period); in __pwm_samsung_config()
336 tcnt = period_ns / tin_ns; in __pwm_samsung_config()
373 chan->period_ns = period_ns; in __pwm_samsung_config()
381 int duty_ns, int period_ns) in pwm_samsung_config() argument
383 return __pwm_samsung_config(chip, pwm, duty_ns, period_ns, false); in pwm_samsung_config()
617 if (chan->period_ns) { in pwm_samsung_resume()
[all …]
H A Dpwm-lp3943.c88 u64 duty_ns, u64 period_ns) in lp3943_pwm_config() argument
118 period_ns = clamp(period_ns, (u64)LP3943_MIN_PERIOD, (u64)LP3943_MAX_PERIOD); in lp3943_pwm_config()
119 val = (u8)((int)period_ns / LP3943_MIN_PERIOD - 1); in lp3943_pwm_config()
125 duty_ns = min(duty_ns, period_ns); in lp3943_pwm_config()
126 val = (u8)((int)duty_ns * LP3943_MAX_DUTY / (int)period_ns); in lp3943_pwm_config()
H A Dpwm-fsl-ftm.c126 unsigned int period_ns, in fsl_pwm_calculate_period_clk() argument
135 c = c * period_ns; in fsl_pwm_calculate_period_clk()
153 unsigned int period_ns, in fsl_pwm_calculate_period() argument
160 ret = fsl_pwm_calculate_period_clk(fpc, period_ns, FSL_PWM_CLK_SYS, in fsl_pwm_calculate_period()
176 ret = fsl_pwm_calculate_period_clk(fpc, period_ns, m0, periodcfg); in fsl_pwm_calculate_period()
180 return fsl_pwm_calculate_period_clk(fpc, period_ns, m1, periodcfg); in fsl_pwm_calculate_period()
189 unsigned int period_ns = fsl_pwm_ticks_to_ns(fpc, period); in fsl_pwm_calculate_duty() local
191 if (!period_ns) in fsl_pwm_calculate_duty()
195 do_div(duty, period_ns); in fsl_pwm_calculate_duty()
H A Dpwm-lpc32xx.c31 int duty_ns, int period_ns) in lpc32xx_pwm_config() argument
40 period_cycles = div64_u64(c * period_ns, in lpc32xx_pwm_config()
48 duty_cycles = div64_u64((unsigned long long)(period_ns - duty_ns) * 256, in lpc32xx_pwm_config()
49 period_ns); in lpc32xx_pwm_config()
H A Dpwm-omap-dmtimer.c148 int duty_ns, int period_ns) in pwm_omap_dmtimer_config() argument
157 duty_ns, period_ns); in pwm_omap_dmtimer_config()
160 period_ns == pwm_get_period(pwm)) in pwm_omap_dmtimer_config()
193 period_cycles = pwm_omap_dmtimer_get_clock_cycles(clk_rate, period_ns); in pwm_omap_dmtimer_config()
199 period_ns, clk_rate); in pwm_omap_dmtimer_config()
212 duty_ns, period_ns, clk_rate); in pwm_omap_dmtimer_config()
H A Dpwm-pxa.c69 u64 duty_ns, u64 period_ns) in pxa_pwm_config() argument
79 c = c * period_ns; in pxa_pwm_config()
91 if (duty_ns == period_ns) in pxa_pwm_config()
94 dc = mul_u64_u64_div_u64(pv + 1, duty_ns, period_ns); in pxa_pwm_config()
H A Dpwm-tegra.c95 int duty_ns, int period_ns) in tegra_pwm_config() argument
109 c = DIV_ROUND_CLOSEST_ULL(c, period_ns); in tegra_pwm_config()
116 if (period_ns < pc->min_period_ns) in tegra_pwm_config()
145 period_ns); in tegra_pwm_config()
167 rate = mul_u64_u64_div_u64(pc->clk_rate, period_ns, in tegra_pwm_config()
H A Dpwm-rcar.c73 static int rcar_pwm_get_clock_division(struct rcar_pwm_chip *rp, int period_ns) in rcar_pwm_get_clock_division() argument
82 tmp = (u64)period_ns * clk_rate + div - 1; in rcar_pwm_get_clock_division()
107 u64 period_ns) in rcar_pwm_set_counter() argument
114 tmp = mul_u64_u64_div_u64(period_ns, clk_rate, (u64)NSEC_PER_SEC << div); in rcar_pwm_set_counter()
H A Dpwm-img.c90 int duty_ns, int period_ns) in img_pwm_config() argument
98 if (period_ns < imgchip->min_period_ns || in img_pwm_config()
99 period_ns > imgchip->max_period_ns) { in img_pwm_config()
105 output_clk_hz = DIV_ROUND_UP(NSEC_PER_SEC, period_ns); in img_pwm_config()
126 duty = DIV_ROUND_UP(timebase * duty_ns, period_ns); in img_pwm_config()
H A Dpwm-twl-led.c70 int duty_ns, int period_ns) in twl4030_pwmled_config() argument
72 int duty_cycle = DIV_ROUND_UP(duty_ns * TWL4030_LED_MAX, period_ns) + 1; in twl4030_pwmled_config()
181 int duty_ns, int period_ns) in twl6030_pwmled_config() argument
183 int duty_cycle = (duty_ns * TWL6030_LED_MAX) / period_ns; in twl6030_pwmled_config()
H A Dpwm-stmpe.c98 int duty_ns, int period_ns) in stmpe_24xx_pwm_config() argument
153 pwm->hwpwm, duty_ns, period_ns); in stmpe_24xx_pwm_config()
163 } else if (duty_ns == period_ns) { in stmpe_24xx_pwm_config()
187 duty = DIV_ROUND_CLOSEST(duty, period_ns); in stmpe_24xx_pwm_config()
H A Dpwm-brcmstb.c96 u64 duty_ns, u64 period_ns) in brcmstb_pwm_config() argument
108 if (duty_ns == period_ns) { in brcmstb_pwm_config()
124 pc = mul_u64_u64_div_u64(period_ns, rate, NSEC_PER_SEC); in brcmstb_pwm_config()
H A Dpwm-sti.c157 int duty_ns, int period_ns) in sti_pwm_config() argument
168 period_same = (period_ns == pwm_get_period(cur)); in sti_pwm_config()
196 ret = sti_pwm_get_prescale(pc, period_ns, &prescale); in sti_pwm_config()
219 value = pc->max_pwm_cnt * duty_ns / period_ns; in sti_pwm_config()
231 prescale, period_ns, duty_ns, value); in sti_pwm_config()
H A Dpwm-sprd.c124 int duty_ns, int period_ns) in sprd_pwm_config() argument
140 duty = duty_ns * SPRD_PWM_MOD_MAX / period_ns; in sprd_pwm_config()
142 tmp = (u64)chn->clk_rate * period_ns; in sprd_pwm_config()
H A Dpwm-lpss.c126 int duty_ns, int period_ns) in pwm_lpss_prepare() argument
133 do_div(freq, period_ns); in pwm_lpss_prepare()
147 do_div(on_time_div, period_ns); in pwm_lpss_prepare()
H A Dpwm-berlin.c76 u64 duty_ns, u64 period_ns) in berlin_pwm_config() argument
84 cycles *= period_ns; in berlin_pwm_config()
97 do_div(cycles, period_ns); in berlin_pwm_config()
/linux/drivers/gpu/drm/i915/
H A Di915_pmu.c358 static void gen3_engine_sample(struct intel_engine_cs *engine, unsigned int period_ns) in gen3_engine_sample() argument
369 add_sample(&pmu->sample[I915_SAMPLE_WAIT], period_ns); in gen3_engine_sample()
371 add_sample(&pmu->sample[I915_SAMPLE_SEMA], period_ns); in gen3_engine_sample()
390 add_sample(&pmu->sample[I915_SAMPLE_BUSY], period_ns); in gen3_engine_sample()
393 static void gen2_engine_sample(struct intel_engine_cs *engine, unsigned int period_ns) in gen2_engine_sample() argument
403 add_sample(&pmu->sample[I915_SAMPLE_WAIT], period_ns); in gen2_engine_sample()
407 add_sample(&pmu->sample[I915_SAMPLE_BUSY], period_ns); in gen2_engine_sample()
410 static void engine_sample(struct intel_engine_cs *engine, unsigned int period_ns) in engine_sample() argument
413 gen3_engine_sample(engine, period_ns); in engine_sample()
415 gen2_engine_sample(engine, period_ns); in engine_sample()
[all …]
/linux/drivers/mtd/nand/raw/
H A Drenesas-nand-controller.c191 #define TO_CYCLES64(ps, period_ns) ((unsigned int)DIV_ROUND_UP_ULL(div_u64(ps, 1000), \ argument
192 period_ns))
900 unsigned int period_ns = 1000000000 / rnandc->ext_clk_rate; in rnandc_setup_interface() local
917 TIMINGS_ASYN_TRWP(TO_CYCLES64(sdr->tRP_min, period_ns)) | in rnandc_setup_interface()
918 TIMINGS_ASYN_TRWH(TO_CYCLES64(sdr->tREH_min, period_ns)); in rnandc_setup_interface()
920 TIM_SEQ0_TCCS(TO_CYCLES64(sdr->tCCS_min, period_ns)) | in rnandc_setup_interface()
921 TIM_SEQ0_TADL(TO_CYCLES64(sdr->tADL_min, period_ns)) | in rnandc_setup_interface()
922 TIM_SEQ0_TRHW(TO_CYCLES64(sdr->tRHW_min, period_ns)) | in rnandc_setup_interface()
923 TIM_SEQ0_TWHR(TO_CYCLES64(sdr->tWHR_min, period_ns)); in rnandc_setup_interface()
925 TIM_SEQ1_TWB(TO_CYCLES64(sdr->tWB_max, period_ns)) | in rnandc_setup_interface()
[all …]
H A Dpl35x-nand-controller.c99 #define TO_CYCLES(ps, period_ns) (DIV_ROUND_UP((ps) / 1000, period_ns)) argument
791 unsigned int period_ns, val; in pl35x_nfc_setup_interface() local
809 period_ns = NSEC_PER_SEC / clk_get_rate(mclk); in pl35x_nfc_setup_interface()
815 val = TO_CYCLES(sdr->tRC_min, period_ns); in pl35x_nfc_setup_interface()
823 val = TO_CYCLES(sdr->tWC_min, period_ns); in pl35x_nfc_setup_interface()
834 val = TO_CYCLES(sdr->tWP_min, period_ns); in pl35x_nfc_setup_interface()
839 val = TO_CYCLES(sdr->tCLR_min, period_ns); in pl35x_nfc_setup_interface()
844 val = TO_CYCLES(sdr->tAR_min, period_ns); in pl35x_nfc_setup_interface()
849 val = TO_CYCLES(sdr->tRR_min, period_ns); in pl35x_nfc_setup_interface()
/linux/include/linux/
H A Dpwm.h412 int period_ns) in pwm_config() argument
419 if (duty_ns < 0 || period_ns < 0) in pwm_config()
423 if (state.duty_cycle == duty_ns && state.period == period_ns) in pwm_config()
427 state.period = period_ns; in pwm_config()
542 int period_ns) in pwm_config() argument
/linux/drivers/net/ethernet/marvell/octeontx2/af/
H A Dptp.c120 ktime_t delta_ns, period_ns; in ptp_reset_thresh() local
132 period_ns = ktime_set(0, (NSEC_PER_SEC + 100 - ptp_clock_hi)); in ptp_reset_thresh()
135 period_ns = ktime_set(0, (NSEC_PER_SEC + 100 - delta_ns)); in ptp_reset_thresh()
138 hrtimer_forward_now(hrtimer, period_ns); in ptp_reset_thresh()
146 ktime_t period_ns; in ptp_hrtimer_start() local
148 period_ns = ktime_set(0, (NSEC_PER_SEC + 100 - start_ns)); in ptp_hrtimer_start()
149 hrtimer_start(&ptp->hrtimer, period_ns, HRTIMER_MODE_REL); in ptp_hrtimer_start()
/linux/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_vkms.c171 du->vkms.period_ns); in vmw_vkms_vblank_simulate()
273 *vblank_time -= du->vkms.period_ns; in vmw_vkms_get_vblank_timestamp()
293 du->vkms.period_ns = ktime_set(0, vblank->framedur_ns); in vmw_vkms_enable_vblank()
294 hrtimer_start(&du->vkms.timer, du->vkms.period_ns, HRTIMER_MODE_REL); in vmw_vkms_enable_vblank()
310 du->vkms.period_ns = ktime_set(0, 0); in vmw_vkms_disable_vblank()
519 s64 nsecs = ktime_to_ns(du->vkms.period_ns); in vmw_vkms_lock_max_wait_ns()
/linux/drivers/net/ethernet/renesas/
H A Dravb_ptp.c214 u64 period_ns; in ravb_ptp_perout() local
217 period_ns = req->period.sec * NSEC_PER_SEC + req->period.nsec; in ravb_ptp_perout()
225 if (period_ns > U32_MAX) { in ravb_ptp_perout()
235 perout->period = (u32)period_ns; in ravb_ptp_perout()

123