| /linux/include/trace/events/ |
| H A D | pwm.h | 50 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 D | pwm-axi-pwmgen.c | 76 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 D | pwm_th1520.rs | 167 let wfhw = Th1520WfHw { in round_waveform_tohw() localVariable 181 wfhw.duty_cycles, in round_waveform_tohw() 182 wfhw.period_cycles, in round_waveform_tohw() 183 wfhw.ctrl_val, in round_waveform_tohw() 189 hardware_waveform: wfhw, in round_waveform_tohw() 196 wfhw: &Self::WfHw, in round_waveform_fromhw() 202 if wfhw.period_cycles == 0 { in round_waveform_fromhw() 211 wf.period_length_ns = cycles_to_ns(u64::from(wfhw.period_cycles), rate_hz); in round_waveform_fromhw() 213 let duty_cycles = u64::from(wfhw.duty_cycles); in round_waveform_fromhw() 215 if (wfhw.ctrl_val & TH1520_PWM_FPOUT) != 0 { in round_waveform_fromhw() [all …]
|
| H A D | pwm-max7360.c | 61 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 D | pwm-stm32.c | 67 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 D | pwm-argon-fan-hat.c | 26 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 D | core.c | 168 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 …]
|