| /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 | 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()
|
| 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 | nv50.c | 66 nv50_fan_pwm_get(struct nvkm_therm *therm, int line, u32 *divs, u32 *duty) in nv50_fan_pwm_get() argument 75 *duty = nvkm_rd32(device, 0x00e118 + (id * 8)); in nv50_fan_pwm_get() 83 nv50_fan_pwm_set(struct nvkm_therm *therm, int line, u32 divs, u32 duty) in nv50_fan_pwm_set() argument 91 nvkm_wr32(device, 0x00e118 + (id * 8), duty | 0x80000000); in nv50_fan_pwm_set()
|
| /linux/drivers/pwm/ |
| H A D | pwm-ntxec.c | 57 int period, int duty) in ntxec_pwm_set_raw_period_and_duty_cycle() argument 74 { NTXEC_REG_DUTY_HIGH, ntxec_reg8(duty >> 8) }, in ntxec_pwm_set_raw_period_and_duty_cycle() 76 { NTXEC_REG_DUTY_LOW, ntxec_reg8(duty) }, in ntxec_pwm_set_raw_period_and_duty_cycle() 86 unsigned int period, duty; in ntxec_pwm_apply() local 93 duty = min_t(u64, state->duty_cycle, period); in ntxec_pwm_apply() 96 duty /= TIME_BASE_NS; in ntxec_pwm_apply() 107 if (state->enabled && duty != 0) { in ntxec_pwm_apply() 108 res = ntxec_pwm_set_raw_period_and_duty_cycle(chip, period, duty); in ntxec_pwm_apply()
|
| H A D | pwm-sunplus.c | 58 u32 dd_freq, duty, mode0, mode1; in sunplus_pwm_apply() local 109 duty = SP7021_PWM_DUTY_DD_SEL(pwm->hwpwm) | SP7021_PWM_DUTY_MAX; in sunplus_pwm_apply() 115 duty = mul_u64_u64_div_u64(state->duty_cycle, clk_rate, in sunplus_pwm_apply() 117 duty = SP7021_PWM_DUTY_DD_SEL(pwm->hwpwm) | duty; in sunplus_pwm_apply() 119 writel(duty, priv->base + SP7021_PWM_DUTY(pwm->hwpwm)); in sunplus_pwm_apply() 130 u32 mode0, dd_freq, duty; in sunplus_pwm_get_state() local 138 duty = readl(priv->base + SP7021_PWM_DUTY(pwm->hwpwm)); in sunplus_pwm_get_state() 139 duty = FIELD_GET(SP7021_PWM_DUTY_MASK, duty); in sunplus_pwm_get_state() 149 state->duty_cycle = DIV64_U64_ROUND_UP((u64)dd_freq * (u64)duty * NSEC_PER_SEC, in sunplus_pwm_get_state()
|
| H A D | pwm-dwc-core.c | 124 u64 duty, period; in dwc_pwm_get_state() local 140 duty = (ld + 1) * dwc->clk_ns; in dwc_pwm_get_state() 142 period += duty; in dwc_pwm_get_state() 144 duty = (ld + 1) * dwc->clk_ns; in dwc_pwm_get_state() 145 period = duty * 2; in dwc_pwm_get_state() 150 state->duty_cycle = duty; in dwc_pwm_get_state()
|
| H A D | pwm-sprd.c | 75 u32 val, duty, prescale; in sprd_pwm_get_state() local 110 duty = val & SPRD_PWM_DUTY_MSK; in sprd_pwm_get_state() 111 tmp = (prescale + 1) * NSEC_PER_SEC * duty; in sprd_pwm_get_state() 126 u32 prescale, duty; in sprd_pwm_config() local 139 duty = duty_ns * SPRD_PWM_MOD_MAX / period_ns; in sprd_pwm_config() 157 sprd_pwm_write(spc, pwm->hwpwm, SPRD_PWM_DUTY, duty); in sprd_pwm_config()
|
| H A D | pwm-berlin.c | 46 u32 duty; member 79 u32 value, duty, period; in berlin_pwm_config() local 97 duty = cycles; in berlin_pwm_config() 106 berlin_pwm_writel(bpc, pwm->hwpwm, duty, BERLIN_PWM_DUTY); in berlin_pwm_config() 238 channel->duty = berlin_pwm_readl(bpc, i, BERLIN_PWM_DUTY); in berlin_pwm_suspend() 262 berlin_pwm_writel(bpc, i, channel->duty, BERLIN_PWM_DUTY); in berlin_pwm_resume()
|
| /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()
|
| /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()
|
| /linux/drivers/leds/rgb/ |
| H A D | leds-pwm-multicolor.c | 35 unsigned long long duty; in led_pwm_mc_set() local 44 duty = priv->leds[i].state.period; in led_pwm_mc_set() 45 duty *= mc_cdev->subled_info[i].brightness; in led_pwm_mc_set() 46 do_div(duty, cdev->max_brightness); in led_pwm_mc_set() 49 duty = priv->leds[i].state.period - duty; in led_pwm_mc_set() 51 priv->leds[i].state.duty_cycle = duty; in led_pwm_mc_set()
|
| /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)
|
| /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 …]
|
| H A D | lm93.rst | 109 a minimum pulse width of 5 clocks (at 22.5kHz => 6.25% duty cycle), and 110 a maximum pulse width of 80 clocks (at 22.5kHz => 99.88% duty cycle). 115 contains a value controlling the duty cycle for the PWM signal used when 117 indicating minimum duty cycle and 15 indicating maximum. 148 and pwm2 are used to set the manual duty cycle; each is an integer (0-255) 149 where 0 is 0% duty cycle, and 255 is 100%. Note that the duty cycle values 152 PWM mode is disabled, the value of pwm1 and pwm2 indicates the current duty 238 A spin-up cycle occurs when a PWM output is commanded from 0% duty cycle to 239 some value > 0%. The LM93 supports a minimum duty cycle during spin-up. These 241 file has the same representation as other PWM duty cycle values. The [all …]
|
| /linux/drivers/clk/ |
| H A D | clk-scmi.c | 139 static int scmi_clk_get_duty_cycle(struct clk_hw *hw, struct clk_duty *duty) in scmi_clk_get_duty_cycle() argument 149 duty->num = val; in scmi_clk_get_duty_cycle() 150 duty->den = 100; in scmi_clk_get_duty_cycle() 159 static int scmi_clk_set_duty_cycle(struct clk_hw *hw, struct clk_duty *duty) in scmi_clk_set_duty_cycle() argument 166 val = (duty->num * 100) / duty->den; in scmi_clk_set_duty_cycle() 173 duty->num, duty->den, clk->id); in scmi_clk_set_duty_cycle()
|
| H A D | clk.c | 144 struct clk_duty duty; member 3167 core->duty.num = 1; in clk_core_reset_duty_cycle_nolock() 3168 core->duty.den = 2; in clk_core_reset_duty_cycle_nolock() 3175 struct clk_duty *duty = &core->duty; in clk_core_update_duty_cycle_nolock() local 3181 ret = core->ops->get_duty_cycle(core->hw, duty); in clk_core_update_duty_cycle_nolock() 3186 if (duty->den == 0 || duty->num > duty->den) { in clk_core_update_duty_cycle_nolock() 3205 memcpy(&core->duty, &core->parent->duty, sizeof(core->duty)); in clk_core_update_duty_cycle_parent_nolock() 3214 struct clk_duty *duty); 3217 struct clk_duty *duty) in clk_core_set_duty_cycle_nolock() argument 3226 trace_clk_set_duty_cycle(core, duty); in clk_core_set_duty_cycle_nolock() [all …]
|
| /linux/drivers/regulator/ |
| H A D | rpi-panel-v2-regulator.c | 42 unsigned int duty; in rpi_panel_v2_pwm_apply() local 50 duty = pwm_get_relative_duty_cycle(state, PWM_BL_MASK); in rpi_panel_v2_pwm_apply() 51 return regmap_write(regmap, REG_PWM, duty | PWM_BL_ENABLE); in rpi_panel_v2_pwm_apply()
|
| /linux/drivers/iio/adc/ |
| H A D | stm32-adc-core.c | 214 int i, div, duty; in stm32h7_adc_clk_sel() local 239 duty = clk_get_scaled_duty_cycle(priv->aclk, 100); in stm32h7_adc_clk_sel() 240 if (duty < 0) in stm32h7_adc_clk_sel() 241 dev_warn(&pdev->dev, "adc clock duty: %d\n", duty); in stm32h7_adc_clk_sel() 255 if (div == 1 && (duty < 49 || duty > 51)) in stm32h7_adc_clk_sel() 270 duty = clk_get_scaled_duty_cycle(priv->bclk, 100); in stm32h7_adc_clk_sel() 271 if (duty < 0) in stm32h7_adc_clk_sel() 272 dev_warn(&pdev->dev, "bus clock duty: %d\n", duty); in stm32h7_adc_clk_sel() 282 if (div == 1 && (duty < 49 || duty > 51)) in stm32h7_adc_clk_sel()
|
| /linux/Documentation/driver-api/thermal/ |
| H A D | cpu-idle-cooling.rst | 71 or decreased by modulating the duty cycle of the idle injection. 86 duty cycle 25% 90 the duty cycle percentage. When no mitigation is happening the cooling 91 device state is zero, meaning the duty cycle is 0%. 94 starting state is selected. With a fixed idle duration and the duty 98 The governor will change the cooling device state thus the duty cycle 114 duty cycle 33% 128 duty cycle 50%
|