Home
last modified time | relevance | path

Searched refs:wfhw (Results 1 – 11 of 11) sorted by relevance

/linux/include/trace/events/
H A Dpwm.h50 TP_PROTO_pwm(const struct pwm_waveform *wf, void *wfhw, int err),
52 TP_ARGS_pwm(wf, wfhw, err),
56 __field(void *, wfhw)
62 __entry->wfhw = wfhw;
67 printk_pwmwf_formatargs(wf), __entry->wfhw, __entry->err)
72 TP_PROTO_pwm(const void *wfhw, struct pwm_waveform *wf, int err),
74 TP_ARGS_pwm(wfhw, wf, err),
77 __field(const void *, wfhw)
83 __entry->wfhw = wfhw;
89 __entry->wfhw, printk_pwmwf_formatargs(wf), __entry->err)
[all …]
/linux/drivers/pwm/
H A Dpwm-axi-pwmgen.c76 struct axi_pwmgen_waveform *wfhw = _wfhw; in axi_pwmgen_round_waveform_tohw() local
81 *wfhw = (struct axi_pwmgen_waveform){ in axi_pwmgen_round_waveform_tohw()
88 wfhw->period_cnt = min_t(u64, in axi_pwmgen_round_waveform_tohw()
92 if (wfhw->period_cnt == 0) { in axi_pwmgen_round_waveform_tohw()
100 wfhw->period_cnt = 1; in axi_pwmgen_round_waveform_tohw()
101 wfhw->duty_cycle_cnt = 0; in axi_pwmgen_round_waveform_tohw()
102 wfhw->duty_offset_cnt = 0; in axi_pwmgen_round_waveform_tohw()
105 wfhw->duty_cycle_cnt = min_t(u64, in axi_pwmgen_round_waveform_tohw()
108 wfhw->duty_offset_cnt = min_t(u64, in axi_pwmgen_round_waveform_tohw()
116 ddata->clk_rate_hz, wfhw->period_cnt, wfhw->duty_cycle_cnt, wfhw->duty_offset_cnt); in axi_pwmgen_round_waveform_tohw()
[all …]
H A Dpwm-stm32.c67 struct stm32_pwm_waveform *wfhw = _wfhw; in stm32_pwm_round_waveform_tohw() local
75 *wfhw = (struct stm32_pwm_waveform){ in stm32_pwm_round_waveform_tohw()
86 wfhw->ccer = TIM_CCER_CCxE(ch + 1); in stm32_pwm_round_waveform_tohw()
88 wfhw->ccer |= TIM_CCER_CCxNE(ch + 1); in stm32_pwm_round_waveform_tohw()
99 ret = regmap_read(priv->regmap, TIM_PSC, &wfhw->psc); in stm32_pwm_round_waveform_tohw()
103 ret = regmap_read(priv->regmap, TIM_ARR, &wfhw->arr); in stm32_pwm_round_waveform_tohw()
108 (u64)NSEC_PER_SEC * (wfhw->psc + 1)); in stm32_pwm_round_waveform_tohw()
109 if (arr <= wfhw->arr) { in stm32_pwm_round_waveform_tohw()
144 wfhw->psc = min_t(u64, psc, MAX_TIM_PSC); in stm32_pwm_round_waveform_tohw()
147 (u64)NSEC_PER_SEC * (wfhw->psc + 1)); in stm32_pwm_round_waveform_tohw()
[all …]
H A Dpwm-pca9685.c176 struct pca9685_waveform *wfhw = _wfhw; in pca9685_round_waveform_tohw() local
184 *wfhw = (typeof(*wfhw)){ in pca9685_round_waveform_tohw()
191 wfhw->onoff[0], wfhw->onoff[1], wfhw->onoff[2], wfhw->onoff[3], wfhw->prescale); in pca9685_round_waveform_tohw()
240 *wfhw = (typeof(*wfhw)){ in pca9685_round_waveform_tohw()
245 *wfhw = (typeof(*wfhw)){ in pca9685_round_waveform_tohw()
253 …ret_tohw ? "#" : "", wfhw->onoff[0], wfhw->onoff[1], wfhw->onoff[2], wfhw->onoff[3], wfhw->prescal… in pca9685_round_waveform_tohw()
261 const struct pca9685_waveform *wfhw = _wfhw; in pca9685_round_waveform_fromhw() local
265 if (wfhw->prescale) in pca9685_round_waveform_fromhw()
266 prescale = wfhw->prescale; in pca9685_round_waveform_fromhw()
278 if (wfhw->onoff[3] & LED_FULL) { in pca9685_round_waveform_fromhw()
[all …]
H A Dpwm_th1520.rs154 let wfhw = Th1520WfHw { in round_waveform_tohw() localVariable
168 wfhw.duty_cycles, in round_waveform_tohw()
169 wfhw.period_cycles, in round_waveform_tohw()
170 wfhw.ctrl_val, in round_waveform_tohw()
176 hardware_waveform: wfhw, in round_waveform_tohw()
183 wfhw: &Self::WfHw, in round_waveform_fromhw()
189 if wfhw.period_cycles == 0 { in round_waveform_fromhw()
198 wf.period_length_ns = cycles_to_ns(u64::from(wfhw.period_cycles), rate_hz); in round_waveform_fromhw()
200 let duty_cycles = u64::from(wfhw.duty_cycles); in round_waveform_fromhw()
202 if (wfhw.ctrl_val & TH1520_PWM_FPOUT) != 0 { in round_waveform_fromhw()
[all …]
H A Dpwm-max7360.c61 struct max7360_pwm_waveform *wfhw = _wfhw; in max7360_pwm_round_waveform_tohw() local
78 wfhw->duty_steps = duty_steps; in max7360_pwm_round_waveform_tohw()
79 wfhw->enabled = !!wf->period_length_ns; in max7360_pwm_round_waveform_tohw()
90 const struct max7360_pwm_waveform *wfhw = _wfhw; in max7360_pwm_round_waveform_fromhw() local
92 wf->period_length_ns = wfhw->enabled ? MAX7360_PWM_PERIOD_NS : 0; in max7360_pwm_round_waveform_fromhw()
95 if (wfhw->enabled) { in max7360_pwm_round_waveform_fromhw()
96 if (wfhw->duty_steps == MAX7360_PWM_MAX) in max7360_pwm_round_waveform_fromhw()
99 wf->duty_length_ns = DIV_ROUND_UP(wfhw->duty_steps * MAX7360_PWM_PERIOD_NS, in max7360_pwm_round_waveform_fromhw()
113 const struct max7360_pwm_waveform *wfhw = _wfhw; in max7360_pwm_write_waveform() local
117 if (wfhw->enabled) { in max7360_pwm_write_waveform()
[all …]
H A Dpwm-mediatek.c148 struct pwm_mediatek_waveform *wfhw = _wfhw; in pwm_mediatek_round_waveform_tohw() local
156 *wfhw = (typeof(*wfhw)){ in pwm_mediatek_round_waveform_tohw()
214 *wfhw = (typeof(*wfhw)){ in pwm_mediatek_round_waveform_tohw()
227 const struct pwm_mediatek_waveform *wfhw = _wfhw; in pwm_mediatek_round_waveform_fromhw() local
238 if (wfhw->enable) { in pwm_mediatek_round_waveform_fromhw()
239 clkdiv = FIELD_GET(PWMCON_CLKDIV, wfhw->con); in pwm_mediatek_round_waveform_fromhw()
240 cnt_period = FIELD_GET(PWMDWIDTH_PERIOD, wfhw->width); in pwm_mediatek_round_waveform_fromhw()
241 cnt_duty = FIELD_GET(PWMTHRES_DUTY, wfhw->thres); in pwm_mediatek_round_waveform_fromhw()
272 pwm->hwpwm, wfhw->enable, clkdiv, cnt_period, cnt_duty, clk_rate, in pwm_mediatek_round_waveform_fromhw()
281 struct pwm_mediatek_waveform *wfhw = _wfhw; in pwm_mediatek_read_waveform() local
[all …]
H A Dpwm-argon-fan-hat.c26 u8 *wfhw = _wfhw; in argon_fan_hat_round_waveform_tohw() local
29 *wfhw = 100; in argon_fan_hat_round_waveform_tohw()
31 *wfhw = mul_u64_u64_div_u64(wf->duty_length_ns, 100, ARGON40_FAN_HAT_PERIOD_NS); in argon_fan_hat_round_waveform_tohw()
41 const u8 *wfhw = _wfhw; in argon_fan_hat_round_waveform_fromhw() local
44 wf->duty_length_ns = DIV64_U64_ROUND_UP(wf->period_length_ns * *wfhw, 100); in argon_fan_hat_round_waveform_fromhw()
55 const u8 *wfhw = _wfhw; in argon_fan_hat_write_waveform() local
57 return i2c_smbus_write_byte_data(i2c, ARGON40_FAN_HAT_REG_DUTY_CYCLE, *wfhw); in argon_fan_hat_write_waveform()
H A Dcore.c168 const struct pwm_waveform *wf, void *wfhw) in __pwm_round_waveform_tohw() argument
173 ret = ops->round_waveform_tohw(chip, pwm, wf, wfhw); in __pwm_round_waveform_tohw()
174 trace_pwm_round_waveform_tohw(pwm, wf, wfhw, ret); in __pwm_round_waveform_tohw()
180 const void *wfhw, struct pwm_waveform *wf) in __pwm_round_waveform_fromhw() argument
185 ret = ops->round_waveform_fromhw(chip, pwm, wfhw, wf); in __pwm_round_waveform_fromhw()
186 trace_pwm_round_waveform_fromhw(pwm, wfhw, wf, ret); in __pwm_round_waveform_fromhw()
191 static int __pwm_read_waveform(struct pwm_chip *chip, struct pwm_device *pwm, void *wfhw) in __pwm_read_waveform() argument
196 ret = ops->read_waveform(chip, pwm, wfhw); in __pwm_read_waveform()
197 trace_pwm_read_waveform(pwm, wfhw, ret); in __pwm_read_waveform()
202 static int __pwm_write_waveform(struct pwm_chip *chip, struct pwm_device *pwm, const void *wfhw) in __pwm_write_waveform() argument
[all …]
/linux/rust/kernel/
H A Dpwm.rs252 unsafe fn serialize_wfhw(wfhw: &T::WfHw, wfhw_ptr: *mut c_void) -> Result { in serialize_wfhw()
260 core::ptr::from_ref::<T::WfHw>(wfhw).cast::<u8>(), in serialize_wfhw()
277 let mut wfhw = T::WfHw::default(); in deserialize_wfhw()
282 core::ptr::from_mut::<T::WfHw>(&mut wfhw).cast::<u8>(), in deserialize_wfhw()
287 Ok(wfhw)
402 let wfhw = match unsafe { Self::deserialize_wfhw(wfhw_ptr) } { in round_waveform_fromhw_callback() localVariable
408 match T::round_waveform_fromhw(chip, pwm, &wfhw, &mut rust_wf) { in round_waveform_fromhw_callback()
434 Ok(wfhw) => match unsafe { Self::serialize_wfhw(&wfhw, wfhw_ptr) } { in read_waveform_callback()
458 let wfhw in write_waveform_callback()
275 let mut wfhw = T::WfHw::default(); deserialize_wfhw() localVariable
460 let wfhw = match unsafe { Self::deserialize_wfhw(wfhw_ptr) } { write_waveform_callback() localVariable
[all...]
/linux/include/linux/
H A Dpwm.h301 const struct pwm_waveform *wf, void *wfhw);
303 const void *wfhw, struct pwm_waveform *wf);
305 void *wfhw);
307 const void *wfhw);