/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/subdev/therm/ |
H A D | fanpwm.c | 44 u32 divs, duty; in nvkm_fanpwm_get() local 47 ret = therm->func->pwm_get(therm, fan->func.line, &divs, &duty); in nvkm_fanpwm_get() 49 divs = max(divs, duty); in nvkm_fanpwm_get() 51 duty = divs - duty; in nvkm_fanpwm_get() 52 return (duty * 100) / divs; in nvkm_fanpwm_get() 63 u32 divs, duty; in nvkm_fanpwm_set() local 74 duty = ((divs * percent) + 99) / 100; in nvkm_fanpwm_set() 76 duty = divs - duty; in nvkm_fanpwm_set() 78 ret = therm->func->pwm_set(therm, fan->func.line, divs, duty); in nvkm_fanpwm_set() 91 u32 divs, duty; in nvkm_fanpwm_create() local [all …]
|
H A D | fan.c | 39 int duty; in nvkm_fan_update() local 53 duty = fan->get(therm); in nvkm_fan_update() 54 if (duty == target) { in nvkm_fan_update() 60 if (!immediate && duty >= 0) { in nvkm_fan_update() 65 if (duty < target) in nvkm_fan_update() 66 duty = min(duty + 3, target); in nvkm_fan_update() 67 else if (duty > target) in nvkm_fan_update() 68 duty = max(duty - 3, target); in nvkm_fan_update() 70 duty = target; in nvkm_fan_update() 73 nvkm_debug(subdev, "FAN update: %d\n", duty); in nvkm_fan_update() [all …]
|
H A D | base.c | 44 u16 duty, i; in nvkm_therm_update_trip() local 59 duty = cur_trip->fan_duty; in nvkm_therm_update_trip() 62 duty = 0; in nvkm_therm_update_trip() 66 return duty; in nvkm_therm_update_trip() 74 u16 duty; in nvkm_therm_compute_linear_duty() local 83 duty = (temp - linear_min_temp); in nvkm_therm_compute_linear_duty() 84 duty *= (therm->fan->bios.max_duty - therm->fan->bios.min_duty); in nvkm_therm_compute_linear_duty() 85 duty /= (linear_max_temp - linear_min_temp); in nvkm_therm_compute_linear_duty() 86 duty += therm->fan->bios.min_duty; in nvkm_therm_compute_linear_duty() 87 return duty; in nvkm_therm_compute_linear_duty() [all …]
|
H A D | gf119.c | 68 gf119_fan_pwm_get(struct nvkm_therm *therm, int line, u32 *divs, u32 *duty) in gf119_fan_pwm_get() argument 77 *duty = nvkm_rd32(device, 0x00e118 + (indx * 8)); in gf119_fan_pwm_get() 82 *duty = nvkm_rd32(device, 0x0200dc) & 0x1fff; in gf119_fan_pwm_get() 90 gf119_fan_pwm_set(struct nvkm_therm *therm, int line, u32 divs, u32 duty) in gf119_fan_pwm_set() argument 98 nvkm_wr32(device, 0x00e118 + (indx * 8), duty | 0x80000000); in gf119_fan_pwm_set() 101 nvkm_wr32(device, 0x0200dc, duty | 0x40000000); in gf119_fan_pwm_set()
|
H A D | gm107.c | 34 gm107_fan_pwm_get(struct nvkm_therm *therm, int line, u32 *divs, u32 *duty) in gm107_fan_pwm_get() argument 38 *duty = nvkm_rd32(device, 0x10eb24) & 0x1fff; in gm107_fan_pwm_get() 43 gm107_fan_pwm_set(struct nvkm_therm *therm, int line, u32 divs, u32 duty) in gm107_fan_pwm_set() argument 47 nvkm_wr32(device, 0x10eb14, duty | 0x80000000); in gm107_fan_pwm_set()
|
H A D | nv40.c | 121 nv40_fan_pwm_get(struct nvkm_therm *therm, int line, u32 *divs, u32 *duty) in nv40_fan_pwm_get() argument 128 *duty = (reg & 0x7fff0000) >> 16; in nv40_fan_pwm_get() 137 *duty = (reg & 0x7fffffff); in nv40_fan_pwm_get() 149 nv40_fan_pwm_set(struct nvkm_therm *therm, int line, u32 divs, u32 duty) in nv40_fan_pwm_set() argument 154 nvkm_mask(device, 0x0010f0, 0x7fff7fff, (duty << 16) | divs); in nv40_fan_pwm_set() 158 nvkm_mask(device, 0x0015f4, 0x7fffffff, duty); in nv40_fan_pwm_set()
|
H A D | fantog.c | 46 int duty; in nvkm_fantog_update() local 53 duty = !nvkm_gpio_get(gpio, 0, DCB_GPIO_FAN, 0xff); in nvkm_fantog_update() 54 nvkm_gpio_set(gpio, 0, DCB_GPIO_FAN, 0xff, duty); in nvkm_fantog_update() 56 if (percent != (duty * 100)) { in nvkm_fantog_update() 58 if (!duty) in nvkm_fantog_update()
|
/openbmc/linux/drivers/pwm/ |
H A D | pwm-renesas-tpu.c | 78 u16 duty; member 179 tpu_pwm_write(tpd, TPU_TGRAn, tpd->duty); in tpu_pwm_timer_start() 183 tpd->channel, tpd->duty, tpd->period); in tpu_pwm_timer_start() 227 tpd->duty = 0; in tpu_pwm_request() 253 u32 duty; in tpu_pwm_config() local 305 duty = mul_u64_u64_div_u64(clk_rate, duty_ns, in tpu_pwm_config() 308 duty = 0; in tpu_pwm_config() 312 clk_rate, 1 << (2 * prescaler), (u32)period, duty); in tpu_pwm_config() 319 tpd->duty = duty; in tpu_pwm_config() 331 tpu_pwm_write(tpd, TPU_TGRAn, tpd->duty); in tpu_pwm_config() [all …]
|
H A D | pwm-ntxec.c | 58 int period, int duty) in ntxec_pwm_set_raw_period_and_duty_cycle() argument 75 { NTXEC_REG_DUTY_HIGH, ntxec_reg8(duty >> 8) }, in ntxec_pwm_set_raw_period_and_duty_cycle() 77 { NTXEC_REG_DUTY_LOW, ntxec_reg8(duty) }, in ntxec_pwm_set_raw_period_and_duty_cycle() 87 unsigned int period, duty; in ntxec_pwm_apply() local 94 duty = min_t(u64, state->duty_cycle, period); in ntxec_pwm_apply() 97 duty /= TIME_BASE_NS; in ntxec_pwm_apply() 108 if (state->enabled && duty != 0) { in ntxec_pwm_apply() 109 res = ntxec_pwm_set_raw_period_and_duty_cycle(chip, period, duty); in ntxec_pwm_apply()
|
H A D | pwm-sunplus.c | 60 u32 dd_freq, duty, mode0, mode1; in sunplus_pwm_apply() local 111 duty = SP7021_PWM_DUTY_DD_SEL(pwm->hwpwm) | SP7021_PWM_DUTY_MAX; in sunplus_pwm_apply() 117 duty = mul_u64_u64_div_u64(state->duty_cycle, clk_rate, in sunplus_pwm_apply() 119 duty = SP7021_PWM_DUTY_DD_SEL(pwm->hwpwm) | duty; in sunplus_pwm_apply() 121 writel(duty, priv->base + SP7021_PWM_DUTY(pwm->hwpwm)); in sunplus_pwm_apply() 132 u32 mode0, dd_freq, duty; in sunplus_pwm_get_state() local 140 duty = readl(priv->base + SP7021_PWM_DUTY(pwm->hwpwm)); in sunplus_pwm_get_state() 141 duty = FIELD_GET(SP7021_PWM_DUTY_MASK, duty); in sunplus_pwm_get_state() 151 state->duty_cycle = DIV64_U64_ROUND_UP((u64)dd_freq * (u64)duty * NSEC_PER_SEC, in sunplus_pwm_get_state()
|
H A D | pwm-atmel-tcb.c | 37 unsigned duty; /* PWM duty expressed in clk cycles */ member 81 tcbpwm->duty = 0; in atmel_tcb_pwm_request() 96 &tcbpwm->duty); in atmel_tcb_pwm_request() 100 &tcbpwm->duty); in atmel_tcb_pwm_request() 138 if (tcbpwm->duty == 0) in atmel_tcb_pwm_disable() 192 if (tcbpwm->duty == 0) in atmel_tcb_pwm_enable() 222 if (tcbpwm->duty != tcbpwm->period && tcbpwm->duty > 0) { in atmel_tcb_pwm_enable() 243 tcbpwm->duty); in atmel_tcb_pwm_enable() 247 tcbpwm->duty); in atmel_tcb_pwm_enable() 268 unsigned duty; in atmel_tcb_pwm_config() local [all …]
|
H A D | pwm-rockchip.c | 41 unsigned long duty; member 85 tmp = readl_relaxed(pc->base + pc->data->regs.duty); in rockchip_pwm_get_state() 107 unsigned long period, duty; in rockchip_pwm_config() local 123 duty = DIV_ROUND_CLOSEST_ULL(div, pc->data->prescaler * NSEC_PER_SEC); in rockchip_pwm_config() 136 writel(duty, pc->base + pc->data->regs.duty); in rockchip_pwm_config() 236 .duty = 0x04, 249 .duty = 0x08, 263 .duty = 0x08, 277 .duty = 0x08,
|
H A D | pwm-pca9685.c | 135 static void pca9685_pwm_set_duty(struct pca9685 *pca, int channel, unsigned int duty) in pca9685_pwm_set_duty() argument 140 if (duty == 0) { in pca9685_pwm_set_duty() 144 } else if (duty >= PCA9685_COUNTER_RANGE) { in pca9685_pwm_set_duty() 164 off = (on + duty) % PCA9685_COUNTER_RANGE; in pca9685_pwm_set_duty() 367 unsigned long long duty, prescale; in __pca9685_pwm_apply() local 409 duty = PCA9685_COUNTER_RANGE * state->duty_cycle; in __pca9685_pwm_apply() 410 duty = DIV_ROUND_UP_ULL(duty, state->period); in __pca9685_pwm_apply() 411 pca9685_pwm_set_duty(pca, pwm->hwpwm, duty); in __pca9685_pwm_apply() 438 unsigned long long duty; in pca9685_pwm_get_state() local 465 duty = pca9685_pwm_get_duty(pca, pwm->hwpwm); in pca9685_pwm_get_state() [all …]
|
/openbmc/qemu/hw/misc/ |
H A D | npcm7xx_pwm.c | 102 uint32_t duty; in npcm7xx_pwm_calculate_duty() local 106 duty = 0; in npcm7xx_pwm_calculate_duty() 108 duty = NPCM7XX_PWM_MAX_DUTY; in npcm7xx_pwm_calculate_duty() 110 duty = (uint64_t)NPCM7XX_PWM_MAX_DUTY * (p->cmr + 1) / (p->cnr + 1); in npcm7xx_pwm_calculate_duty() 113 duty = 0; in npcm7xx_pwm_calculate_duty() 117 duty = NPCM7XX_PWM_MAX_DUTY - duty; in npcm7xx_pwm_calculate_duty() 120 return duty; in npcm7xx_pwm_calculate_duty() 136 uint32_t duty = npcm7xx_pwm_calculate_duty(p); in npcm7xx_pwm_update_duty() local 138 if (duty != p->duty) { in npcm7xx_pwm_update_duty() 140 p->index, p->duty, duty); in npcm7xx_pwm_update_duty() [all …]
|
/openbmc/linux/drivers/leds/rgb/ |
H A D | leds-pwm-multicolor.c | 36 unsigned long long duty; in led_pwm_mc_set() local 45 duty = priv->leds[i].state.period; in led_pwm_mc_set() 46 duty *= mc_cdev->subled_info[i].brightness; in led_pwm_mc_set() 47 do_div(duty, cdev->max_brightness); in led_pwm_mc_set() 50 duty = priv->leds[i].state.period - duty; in led_pwm_mc_set() 52 priv->leds[i].state.duty_cycle = duty; in led_pwm_mc_set() 53 priv->leds[i].state.enabled = duty > 0; in led_pwm_mc_set()
|
/openbmc/linux/drivers/gpu/drm/nouveau/ |
H A D | nouveau_led.c | 42 u32 div, duty; in nouveau_led_get_brightness() local 45 duty = nvif_rd32(device, 0x61c884) & 0x00ffffff; in nouveau_led_get_brightness() 48 return duty * LED_FULL / div; in nouveau_led_get_brightness() 62 u32 div, duty; in nouveau_led_set_brightness() local 65 duty = value * div / LED_FULL; in nouveau_led_set_brightness() 73 nvif_wr32(device, 0x61c884, 0xc0000000 | duty); in nouveau_led_set_brightness()
|
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/subdev/volt/ |
H A D | gk104.c | 43 u32 div, duty; in gk104_volt_get() local 46 duty = nvkm_rd32(device, 0x20344); in gk104_volt_get() 48 return bios->base + bios->pwm_range * duty / div; in gk104_volt_get() 56 u32 div, duty; in gk104_volt_set() local 60 duty = DIV_ROUND_UP((uv - bios->base) * div, bios->pwm_range); in gk104_volt_set() 63 nvkm_wr32(device, 0x20344, 0x80000000 | duty); in gk104_volt_set()
|
/openbmc/linux/drivers/clk/meson/ |
H A D | sclk-div.c | 126 struct clk_duty *duty) in sclk_div_set_duty_cycle() argument 132 memcpy(&sclk->cached_duty, duty, sizeof(*duty)); in sclk_div_set_duty_cycle() 140 struct clk_duty *duty) in sclk_div_get_duty_cycle() argument 147 duty->num = 1; in sclk_div_get_duty_cycle() 148 duty->den = 2; in sclk_div_get_duty_cycle() 153 duty->num = hi + 1; in sclk_div_get_duty_cycle() 154 duty->den = sclk->cached_div; in sclk_div_get_duty_cycle()
|
/openbmc/linux/include/trace/events/ |
H A D | clk.h | 233 TP_PROTO(struct clk_core *core, struct clk_duty *duty), 235 TP_ARGS(core, duty), 245 __entry->num = duty->num; 246 __entry->den = duty->den; 255 TP_PROTO(struct clk_core *core, struct clk_duty *duty), 257 TP_ARGS(core, duty) 262 TP_PROTO(struct clk_core *core, struct clk_duty *duty), 264 TP_ARGS(core, duty)
|
/openbmc/linux/Documentation/hwmon/ |
H A D | dme1737.rst | 166 attribute that needs to be set to the maximum attainable RPM (fan at 100% duty- 178 manual mode, the fan speed is set by writing the duty-cycle value to the 180 current duty-cycle as set by the fan controller in the chip. All PWM outputs 191 duty-cycles: full, low, and min. Full is internally hard-wired to 255 (100%) 198 pwm[1-3]_auto_point2_pwm full-speed duty-cycle (255, i.e., 100%) 199 pwm[1-3]_auto_point1_pwm low-speed duty-cycle 200 pwm[1-3]_auto_pwm_min min-speed duty-cycle 208 The chip adjusts the output duty-cycle linearly in the range of auto_point1_pwm 211 auto_point1_temp_hyst value, the output duty-cycle is set to the auto_pwm_min 214 duty-cycle. If any of the temperatures rise above the auto_point3_temp value, [all …]
|
H A D | vt1211.rst | 181 Each PWM has 4 associated distinct output duty-cycles: full, high, low and 186 thermal thresholds exist that controls both PWMs output duty-cycles. The 196 pwm[1-2]_auto_point4_pwm full speed duty-cycle (hard-wired to 255) 197 pwm[1-2]_auto_point3_pwm high speed duty-cycle 198 pwm[1-2]_auto_point2_pwm low speed duty-cycle 199 pwm[1-2]_auto_point1_pwm off duty-cycle (hard-wired to 0) 212 PWM output duty-cycle based on the input temperature: 218 - full speed duty-cycle full speed duty-cycle 220 - high speed duty-cycle full speed duty-cycle 222 - low speed duty-cycle high speed duty-cycle [all …]
|
/openbmc/u-boot/drivers/pwm/ |
H A D | Kconfig | 6 control over the duty cycle (high and low time) of the signal. This 17 supports a programmable period and duty cycle. A 32-bit counter is 26 programmable period and duty cycle. A 32-bit counter is used. 43 four channels with a programmable period and duty cycle. Only a 44 32KHz clock is supported by the driver but the duty cycle is 52 programmable period and duty cycle. A 16-bit counter is used.
|
H A D | rk_pwm.c | 43 unsigned long period, duty; in rk_pwm_set_config() local 52 duty = lldiv((uint64_t)(priv->freq / 1000) * duty_ns, 1000000); in rk_pwm_set_config() 55 writel(duty, ®s->duty_lpr); in rk_pwm_set_config() 56 debug("%s: period=%lu, duty=%lu\n", __func__, period, duty); in rk_pwm_set_config()
|
/openbmc/linux/drivers/leds/ |
H A D | leds-pwm.c | 47 unsigned long long duty = led_dat->pwmstate.period; in led_pwm_set() local 49 duty *= brightness; in led_pwm_set() 50 do_div(duty, max); in led_pwm_set() 53 duty = led_dat->pwmstate.period - duty; in led_pwm_set() 55 led_dat->pwmstate.duty_cycle = duty; in led_pwm_set()
|
/openbmc/linux/Documentation/devicetree/bindings/hwmon/pmbus/ |
H A D | max31785.txt | 51 - maxim,fan-no-fault-ramp: Do not ramp the fan to 100% PWM duty on detecting a 55 it with 100% or 0% PWM duty, depending on the state 60 - maxim,fan-ramp : Configures how fast the device ramps the PWM duty 63 1000ms update rate and 1 - 3% duty respective duty 65 5% respective duty increase. Default value is 0. 66 - maxim,fan-no-watchdog : Do not ramp fan to 100% PWM duty on failure to 69 - maxim,tmp-no-fault-ramp: Do not ramp fan to 100% PWM duty on temperature 82 - maxim,fan-fault-pin-mon: Ramp fans to 100% PWM duty when the FAULT pin is
|