| /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-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-pca9685.c | 176 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 D | pwm_th1520.rs | 154 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 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-mediatek.c | 148 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 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 …]
|
| /linux/rust/kernel/ |
| H A D | pwm.rs | 252 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 D | pwm.h | 301 const struct pwm_waveform *wf, void *wfhw); 303 const void *wfhw, struct pwm_waveform *wf); 305 void *wfhw); 307 const void *wfhw);
|