/linux-5.19.10/drivers/cpuidle/ |
D | dt_idle_genpd.c | 26 struct genpd_power_state *states, int state_count) in pd_parse_state_nodes() argument 32 ret = parse_state(to_of_node(states[i].fwnode), &state); in pd_parse_state_nodes() 42 states[i].data = state_buf; in pd_parse_state_nodes() 50 kfree(states[i].data); in pd_parse_state_nodes() 56 struct genpd_power_state **states, in pd_parse_states() argument 62 ret = of_genpd_parse_idle_states(np, states, state_count); in pd_parse_states() 67 ret = pd_parse_state_nodes(parse_state, *states, *state_count); in pd_parse_states() 69 kfree(*states); in pd_parse_states() 74 static void pd_free_states(struct genpd_power_state *states, in pd_free_states() argument 80 kfree(states[i].data); in pd_free_states() [all …]
|
D | cpuidle-riscv-sbi.c | 32 u32 *states; member 99 u32 *states = __this_cpu_read(sbi_cpuidle_data.states); in sbi_cpuidle_enter_state() local 101 return CPU_PM_CPU_IDLE_ENTER_PARAM(sbi_suspend, idx, states[idx]); in sbi_cpuidle_enter_state() 109 u32 *states = data->states; in __sbi_enter_domain_idle_state() local 129 state = states[idx]; in __sbi_enter_domain_idle_state() 249 drv->states[state_count - 1].enter = sbi_enter_domain_idle_state; in sbi_dt_cpu_init_topology() 250 drv->states[state_count - 1].enter_s2idle = in sbi_dt_cpu_init_topology() 265 u32 *states; in sbi_cpuidle_dt_init_states() local 272 states = devm_kcalloc(dev, state_count, sizeof(*states), GFP_KERNEL); in sbi_cpuidle_dt_init_states() 273 if (!states) { in sbi_cpuidle_dt_init_states() [all …]
|
D | cpuidle-mvebu-v7.c | 36 if (drv->states[index].flags & MVEBU_V7_FLAG_DEEP_IDLE) in mvebu_v7_enter_idle() 50 .states[0] = ARM_CPUIDLE_WFI_STATE, 51 .states[1] = { 59 .states[2] = { 73 .states[0] = ARM_CPUIDLE_WFI_STATE, 74 .states[1] = { 88 .states[0] = ARM_CPUIDLE_WFI_STATE, 89 .states[1] = {
|
D | cpuidle-psci.c | 62 u32 *states = data->psci_states; in __psci_enter_domain_idle_state() local 81 state = states[idx]; in __psci_enter_domain_idle_state() 243 drv->states[state_count - 1].enter = psci_enter_domain_idle_state; in psci_dt_cpu_init_topology() 244 drv->states[state_count - 1].enter_s2idle = psci_enter_s2idle_domain_idle_state; in psci_dt_cpu_init_topology() 359 drv->states[0].enter = psci_enter_idle_state; in psci_idle_init_cpu() 360 drv->states[0].exit_latency = 1; in psci_idle_init_cpu() 361 drv->states[0].target_residency = 1; in psci_idle_init_cpu() 362 drv->states[0].power_usage = UINT_MAX; in psci_idle_init_cpu() 363 strcpy(drv->states[0].name, "WFI"); in psci_idle_init_cpu() 364 strcpy(drv->states[0].desc, "ARM WFI"); in psci_idle_init_cpu()
|
D | cpuidle.c | 71 if (drv->states[i].enter_dead) in cpuidle_play_dead() 72 return drv->states[i].enter_dead(dev, i); in cpuidle_play_dead() 87 struct cpuidle_state *s = &drv->states[i]; in find_deepest_state() 141 struct cpuidle_state *target_state = &drv->states[index]; in enter_s2idle_proper() 205 struct cpuidle_state *target_state = &drv->states[index]; in cpuidle_enter_state() 221 target_state = &drv->states[index]; in cpuidle_enter_state() 260 s64 diff, delay = drv->states[entered_state].exit_latency_ns; in cpuidle_enter_state() 274 if (diff < drv->states[entered_state].target_residency_ns) { in cpuidle_enter_state() 292 if (diff - delay >= drv->states[i].target_residency_ns) in cpuidle_enter_state() 410 state_limit = drv->states[i].target_residency_ns; in cpuidle_poll_time() [all …]
|
/linux-5.19.10/drivers/regulator/ |
D | gpio-regulator.c | 39 struct gpio_regulator_state *states; member 51 if (data->states[ptr].gpios == data->state) in gpio_regulator_get_value() 52 return data->states[ptr].value; in gpio_regulator_get_value() 65 if (data->states[ptr].value < best_val && in gpio_regulator_set_voltage() 66 data->states[ptr].value >= min_uV && in gpio_regulator_set_voltage() 67 data->states[ptr].value <= max_uV) { in gpio_regulator_set_voltage() 68 target = data->states[ptr].gpios; in gpio_regulator_set_voltage() 69 best_val = data->states[ptr].value; in gpio_regulator_set_voltage() 94 return data->states[selector].value; in gpio_regulator_list_voltage() 104 if (data->states[ptr].value > best_val && in gpio_regulator_set_current_limit() [all …]
|
D | irq_helpers.c | 107 stat = &rid->states[i]; in regulator_notifier_isr_work() 132 stat = &rid->states[i]; in regulator_notifier_isr_work() 214 rdev = rid->states[i].rdev; in regulator_notifier_isr() 240 stat = &rid->states[i]; in regulator_notifier_isr() 286 h->rdata.states = devm_kzalloc(dev, sizeof(*h->rdata.states) * in init_rdev_state() 288 if (!h->rdata.states) in init_rdev_state() 295 h->rdata.states[i].possible_errs = common_err; in init_rdev_state() 297 h->rdata.states[i].possible_errs |= *rdev_err++; in init_rdev_state() 298 h->rdata.states[i].rdev = *rdev++; in init_rdev_state() 309 if (h->rdata.states[i].possible_errs) in init_rdev_errors() [all …]
|
/linux-5.19.10/drivers/cpuidle/governors/ |
D | ladder.c | 40 struct ladder_device_state states[CPUIDLE_STATE_MAX]; member 55 ldev->states[old_idx].stats.promotion_count = 0; in ladder_do_selection() 56 ldev->states[old_idx].stats.demotion_count = 0; in ladder_do_selection() 72 int first_idx = drv->states[0].flags & CPUIDLE_FLAG_POLLING ? 1 : 0; in ladder_select_state() 82 last_state = &ldev->states[last_idx]; in ladder_select_state() 84 last_residency = dev->last_residency_ns - drv->states[last_idx].exit_latency_ns; in ladder_select_state() 90 drv->states[last_idx + 1].exit_latency_ns <= latency_req) { in ladder_select_state() 102 drv->states[last_idx].exit_latency_ns > latency_req)) { in ladder_select_state() 106 if (drv->states[i].exit_latency_ns <= latency_req) in ladder_select_state() 136 int first_idx = drv->states[0].flags & CPUIDLE_FLAG_POLLING ? 1 : 0; in ladder_enable_device() [all …]
|
D | menu.c | 294 ((data->next_timer_ns < drv->states[1].target_residency_ns || in menu_select() 295 latency_req < drv->states[1].exit_latency_ns) && in menu_select() 302 *stop_tick = !(drv->states[0].flags & CPUIDLE_FLAG_POLLING); in menu_select() 344 struct cpuidle_state *s = &drv->states[i]; in menu_select() 357 if ((drv->states[idx].flags & CPUIDLE_FLAG_POLLING) && in menu_select() 374 predicted_ns = drv->states[idx].target_residency_ns; in menu_select() 384 if (drv->states[idx].target_residency_ns < TICK_NSEC && in menu_select() 403 if (((drv->states[idx].flags & CPUIDLE_FLAG_POLLING) || in menu_select() 407 if (idx > 0 && drv->states[idx].target_residency_ns > delta_tick) { in menu_select() 419 if (drv->states[i].target_residency_ns <= delta_tick) in menu_select() [all …]
|
D | teo.c | 174 u64 lat_ns = drv->states[dev->last_state_idx].exit_latency_ns; in teo_update() 204 s64 target_residency_ns = drv->states[i].target_residency_ns; in teo_update() 251 return (drv->states[idx].target_residency_ns + in teo_middle_of_bin() 252 drv->states[idx+1].target_residency_ns) / 2; in teo_middle_of_bin() 273 if (drv->states[i].target_residency_ns <= duration_ns) in teo_find_shallower_state() 320 if (drv->states[1].target_residency_ns > duration_ns) in teo_select() 333 struct cpuidle_state *s = &drv->states[i]; in teo_select() 460 if (((drv->states[idx].flags & CPUIDLE_FLAG_POLLING) || in teo_select() 471 drv->states[idx].target_residency_ns > delta_tick) in teo_select()
|
/linux-5.19.10/Documentation/devicetree/bindings/cpu/ |
D | idle-states.yaml | 4 $id: http://devicetree.org/schemas/cpu/idle-states.yaml# 7 title: Idle states binding description 19 dynamically, where cores can be put in different low-power states (ranging 20 from simple wfi to power gating) according to OS PM policies. The CPU states 21 representing the range of dynamic idle states that a processor can enter at 23 parameters required to enter/exit specific idle states on a given processor. 26 2 - ARM idle states 30 power states an ARM CPU can be put into are identified by the following list: 38 The power states described in the SBSA document define the basic CPU states on 40 PM implementation to put the processor in different idle states (which include [all …]
|
/linux-5.19.10/Documentation/admin-guide/pm/ |
D | intel_idle.rst | 28 processor's functional blocks into low-power states. That instruction takes two 42 .. _intel-idle-enumeration-of-states: 50 as C-states (in the ACPI terminology) or idle states. The list of meaningful 51 ``MWAIT`` hint values and idle states (i.e. low-power configurations of the 55 In order to create a list of available idle states required by the ``CPUIdle`` 56 subsystem (see :ref:`idle-states-representation` in 58 ``intel_idle`` can use two sources of information: static tables of idle states 69 states, ``intel_idle`` first looks for a ``_CST`` object under one of the ACPI 72 ``CPUIdle`` subsystem expects that the list of idle states supplied by the 76 state description and such that all of the idle states included in its return [all …]
|
D | strategies.rst | 15 One of them is based on using global low-power states of the whole system in 17 significantly reduced, referred to as :doc:`sleep states <sleep-states>`. The 18 kernel puts the system into one of these states when requested by user space 21 user space code can run. Because sleep states are global and the whole system 26 <working-state>`, is based on adjusting the power states of individual hardware 30 a metastate covering a range of different power states of the system in which 32 ``inactive`` (idle). If they are active, they have to be in power states 34 are inactive, ideally, they should be in low-power states in which they may not 43 for the same system in a sleep state. However, transitions from sleep states 47 sleep states than when they are runtime idle most of the time.
|
/linux-5.19.10/drivers/cpufreq/ |
D | ia64-acpi-cpufreq.c | 97 if (value == data->acpi_data.states[i].status) in extract_clock() 98 return data->acpi_data.states[i].core_frequency; in extract_clock() 100 return data->acpi_data.states[i-1].core_frequency; in extract_clock() 159 value = (u32) data->acpi_data.states[state].control; in processor_set_freq() 254 if ((data->acpi_data.states[i].transition_latency * 1000) > in acpi_cpufreq_cpu_init() 257 data->acpi_data.states[i].transition_latency * 1000; in acpi_cpufreq_cpu_init() 266 data->acpi_data.states[i].core_frequency * 1000; in acpi_cpufreq_cpu_init() 282 (u32) data->acpi_data.states[i].core_frequency, in acpi_cpufreq_cpu_init() 283 (u32) data->acpi_data.states[i].power, in acpi_cpufreq_cpu_init() 284 (u32) data->acpi_data.states[i].transition_latency, in acpi_cpufreq_cpu_init() [all …]
|
/linux-5.19.10/sound/usb/misc/ |
D | ua101.c | 90 unsigned long states; member 158 if (test_and_clear_bit(USB_CAPTURE_RUNNING, &ua->states)) { in abort_usb_capture() 166 if (test_and_clear_bit(USB_PLAYBACK_RUNNING, &ua->states)) in abort_usb_playback() 185 if (test_bit(USB_PLAYBACK_RUNNING, &ua->states)) { in playback_urb_complete() 205 set_bit(PLAYBACK_URB_COMPLETED, &ua->states); in first_playback_urb_complete() 258 if (unlikely(!test_bit(USB_PLAYBACK_RUNNING, &ua->states))) in playback_work() 288 if (test_bit(ALSA_PLAYBACK_RUNNING, &ua->states)) in playback_work() 369 if (frames > 0 && test_bit(ALSA_CAPTURE_RUNNING, &ua->states)) in capture_urb_complete() 374 if (test_bit(USB_CAPTURE_RUNNING, &ua->states)) { in capture_urb_complete() 401 if (test_bit(USB_PLAYBACK_RUNNING, &ua->states) && in capture_urb_complete() [all …]
|
/linux-5.19.10/Documentation/admin-guide/blockdev/drbd/ |
D | figures.rst | 20 .. kernel-figure:: conn-states-8.dot 21 :alt: conn-states-8.dot 24 .. kernel-figure:: disk-states-8.dot 25 :alt: disk-states-8.dot 28 .. kernel-figure:: peer-states-8.dot 29 :alt: peer-states-8.dot
|
/linux-5.19.10/drivers/acpi/ |
D | processor_idle.c | 167 return cx - pr->power.states >= pr->power.timer_broadcast_on_state; in lapic_timer_needs_broadcast() 217 pr->power.states[ACPI_STATE_C2].type = ACPI_STATE_C2; in acpi_processor_get_power_info_fadt() 218 pr->power.states[ACPI_STATE_C3].type = ACPI_STATE_C3; in acpi_processor_get_power_info_fadt() 231 pr->power.states[ACPI_STATE_C2].address = pr->pblk + 4; in acpi_processor_get_power_info_fadt() 232 pr->power.states[ACPI_STATE_C3].address = pr->pblk + 5; in acpi_processor_get_power_info_fadt() 235 pr->power.states[ACPI_STATE_C2].latency = acpi_gbl_FADT.c2_latency; in acpi_processor_get_power_info_fadt() 236 pr->power.states[ACPI_STATE_C3].latency = acpi_gbl_FADT.c3_latency; in acpi_processor_get_power_info_fadt() 246 pr->power.states[ACPI_STATE_C2].address = 0; in acpi_processor_get_power_info_fadt() 257 pr->power.states[ACPI_STATE_C3].address = 0; in acpi_processor_get_power_info_fadt() 261 pr->power.states[ACPI_STATE_C2].address, in acpi_processor_get_power_info_fadt() [all …]
|
/linux-5.19.10/drivers/gpu/drm/ |
D | drm_blend.c | 448 struct drm_plane_state **states; in drm_atomic_helper_crtc_normalize_zpos() local 456 states = kmalloc_array(total_planes, sizeof(*states), GFP_KERNEL); in drm_atomic_helper_crtc_normalize_zpos() 457 if (!states) in drm_atomic_helper_crtc_normalize_zpos() 471 states[n++] = plane_state; in drm_atomic_helper_crtc_normalize_zpos() 477 sort(states, n, sizeof(*states), drm_atomic_state_zpos_cmp, NULL); in drm_atomic_helper_crtc_normalize_zpos() 480 plane = states[i]->plane; in drm_atomic_helper_crtc_normalize_zpos() 482 states[i]->normalized_zpos = i; in drm_atomic_helper_crtc_normalize_zpos() 489 kfree(states); in drm_atomic_helper_crtc_normalize_zpos()
|
/linux-5.19.10/arch/x86/kernel/acpi/ |
D | cstate.c | 106 } states[ACPI_PROCESSOR_MAX_POWER]; member 174 percpu_entry->states[cx->index].eax = 0; in acpi_processor_ffh_cstate_probe() 175 percpu_entry->states[cx->index].ecx = 0; in acpi_processor_ffh_cstate_probe() 183 percpu_entry->states[cx->index].eax = cx->address; in acpi_processor_ffh_cstate_probe() 184 percpu_entry->states[cx->index].ecx = MWAIT_ECX_INTERRUPT_BREAK; in acpi_processor_ffh_cstate_probe() 205 mwait_idle_with_hints(percpu_entry->states[cx->index].eax, in acpi_processor_ffh_cstate_enter() 206 percpu_entry->states[cx->index].ecx); in acpi_processor_ffh_cstate_enter()
|
/linux-5.19.10/drivers/i2c/muxes/ |
D | i2c-mux-pinctrl.c | 19 struct pinctrl_state *states[]; member 26 return pinctrl_select_state(mux->pinctrl, mux->states[chan]); in i2c_mux_pinctrl_select() 96 struct_size(mux, states, num_names), in i2c_mux_pinctrl_probe() 121 mux->states[i] = pinctrl_lookup_state(mux->pinctrl, name); in i2c_mux_pinctrl_probe() 122 if (IS_ERR(mux->states[i])) { in i2c_mux_pinctrl_probe() 123 ret = PTR_ERR(mux->states[i]); in i2c_mux_pinctrl_probe() 144 if (root != i2c_mux_pinctrl_root_adapter(mux->states[i])) { in i2c_mux_pinctrl_probe()
|
/linux-5.19.10/Documentation/devicetree/bindings/powerpc/opal/ |
D | power-mgt.txt | 5 idle states. The description of these idle states is exposed via the 14 - flags: indicating some aspects of this idle states such as the 16 idle states and so on. The flag bits are as follows: 27 The following properties provide details about the idle states. These 32 If idle-states are defined, then the properties 38 Array of strings containing the names of the idle states. 42 flags associated with the the aforementioned idle-states. The 62 exit-latencies (in ns) for the idle states in 67 target-residency (in ns) for the idle states in 75 PSSCR for each of the idle states in ibm,cpu-idle-state-names. [all …]
|
/linux-5.19.10/arch/arm64/boot/dts/freescale/ |
D | fsl-ls2088a.dtsi | 21 cpu-idle-states = <&CPU_PW20>; 31 cpu-idle-states = <&CPU_PW20>; 41 cpu-idle-states = <&CPU_PW20>; 51 cpu-idle-states = <&CPU_PW20>; 62 cpu-idle-states = <&CPU_PW20>; 71 cpu-idle-states = <&CPU_PW20>; 81 cpu-idle-states = <&CPU_PW20>; 91 cpu-idle-states = <&CPU_PW20>;
|
D | fsl-ls2080a.dtsi | 21 cpu-idle-states = <&CPU_PW20>; 31 cpu-idle-states = <&CPU_PW20>; 41 cpu-idle-states = <&CPU_PW20>; 51 cpu-idle-states = <&CPU_PW20>; 61 cpu-idle-states = <&CPU_PW20>; 71 cpu-idle-states = <&CPU_PW20>; 82 cpu-idle-states = <&CPU_PW20>; 91 cpu-idle-states = <&CPU_PW20>;
|
/linux-5.19.10/Documentation/devicetree/bindings/mux/ |
D | mux-consumer.yaml | 29 be set to, the property "mux-states" must be used. An optional property 31 each of the multiplixer states listed in the "mux-states" property. 33 Properties "mux-controls" and "mux-states" can be used depending on how 35 needs to set multiple states in a mux controller, then property 37 controller to a given state then property "mux-states" can be used. 49 mux-states: 62 controller to an index into the list given by the "mux-states"
|
/linux-5.19.10/Documentation/devicetree/bindings/regulator/ |
D | gpio-regulator.yaml | 35 voltage/current listed in "states". 39 gpios-states: 55 states: 58 no states in the "states" array, use a fixed regulator instead. 92 - states 109 states = <1800000 0x3>,
|