| /linux/drivers/cpuidle/ |
| H A 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 …]
|
| H A D | cpuidle-riscv-sbi.c | 35 u32 *states; member 81 u32 *states = __this_cpu_read(sbi_cpuidle_data.states); in sbi_cpuidle_enter_state() local 82 u32 state = states[idx]; in sbi_cpuidle_enter_state() 96 u32 *states = data->states; in __sbi_enter_domain_idle_state() local 116 state = states[idx]; in __sbi_enter_domain_idle_state() 225 drv->states[state_count - 1].flags |= CPUIDLE_FLAG_RCU_IDLE; in sbi_dt_cpu_init_topology() 226 drv->states[state_count - 1].enter = sbi_enter_domain_idle_state; in sbi_dt_cpu_init_topology() 227 drv->states[state_count - 1].enter_s2idle = in sbi_dt_cpu_init_topology() 241 u32 *states; in sbi_cpuidle_dt_init_states() local 248 states = devm_kcalloc(dev, state_count, sizeof(*states), GFP_KERNEL); in sbi_cpuidle_dt_init_states() [all …]
|
| H A D | cpuidle-mvebu-v7.c | 36 if (drv->states[index].flags & MVEBU_V7_FLAG_DEEP_IDLE) in mvebu_v7_enter_idle() 53 .states[0] = ARM_CPUIDLE_WFI_STATE, 54 .states[1] = { 63 .states[2] = { 77 .states[0] = ARM_CPUIDLE_WFI_STATE, 78 .states[1] = { 92 .states[0] = ARM_CPUIDLE_WFI_STATE, 93 .states[1] = {
|
| H A D | cpuidle-psci.c | 69 u32 *states = data->psci_states; in __psci_enter_domain_idle_state() local 72 u32 state = states[idx]; in __psci_enter_domain_idle_state() 269 drv->states[state_count - 1].enter_s2idle = psci_enter_s2idle_domain_idle_state; in psci_dt_cpu_init_topology() 271 drv->states[state_count - 1].enter = psci_enter_domain_idle_state; in psci_dt_cpu_init_topology() 385 drv->states[0].enter = psci_enter_idle_state; in psci_idle_init_cpu() 386 drv->states[0].exit_latency = 1; in psci_idle_init_cpu() 387 drv->states[0].target_residency = 1; in psci_idle_init_cpu() 388 drv->states[0].power_usage = UINT_MAX; in psci_idle_init_cpu() 389 strscpy(drv->states[0].name, "WFI"); in psci_idle_init_cpu() 390 strscpy(drv->states[0].desc, "ARM WFI"); in psci_idle_init_cpu()
|
| H A D | cpuidle.c | 73 if (drv->states[i].enter_dead) in cpuidle_play_dead() 74 drv->states[i].enter_dead(dev, i); in cpuidle_play_dead() 94 struct cpuidle_state *s = &drv->states[i]; in find_deepest_state() 147 struct cpuidle_state *target_state = &drv->states[index]; in enter_s2idle_proper() 223 struct cpuidle_state *target_state = &drv->states[index]; in cpuidle_enter_state() 238 target_state = &drv->states[index]; in cpuidle_enter_state() 295 s64 diff, delay = drv->states[entered_state].exit_latency_ns; in cpuidle_enter_state() 309 if (diff < drv->states[entered_state].target_residency_ns) { in cpuidle_enter_state() 328 if (diff - delay >= drv->states[i].target_residency_ns) { in cpuidle_enter_state() 450 state_limit = drv->states[i].target_residency_ns; in cpuidle_poll_time() [all …]
|
| H A D | Kconfig.arm | 12 It provides a generic idle driver whose idle states are configured 25 managing idle states through the PSCI firmware interface. 28 - If the idle states are described with the non-hierarchical layout, 29 all idle states are still available. 31 - If the idle states are described with the hierarchical layout, 32 only the idle states defined per CPU are available, but not the ones 33 being shared among a group of CPUs (aka cluster idle states). 44 idle states. 56 define different C-states for little and big cores through the
|
| /linux/drivers/regulator/ |
| H A 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 …]
|
| /linux/drivers/cpuidle/governors/ |
| H A D | ladder.c | 40 struct ladder_device_state states[CPUIDLE_STATE_MAX]; member 56 ldev->states[old_idx].stats.promotion_count = 0; in ladder_do_selection() 57 ldev->states[old_idx].stats.demotion_count = 0; in ladder_do_selection() 73 int first_idx = drv->states[0].flags & CPUIDLE_FLAG_POLLING ? 1 : 0; in ladder_select_state() 83 last_state = &ldev->states[last_idx]; in ladder_select_state() 85 last_residency = dev->last_residency_ns - drv->states[last_idx].exit_latency_ns; in ladder_select_state() 91 drv->states[last_idx + 1].exit_latency_ns <= latency_req) { in ladder_select_state() 103 drv->states[last_idx].exit_latency_ns > latency_req)) { in ladder_select_state() 107 if (drv->states[i].exit_latency_ns <= latency_req) in ladder_select_state() 137 int first_idx = drv->states[0].flags & CPUIDLE_FLAG_POLLING ? 1 : 0; in ladder_enable_device() [all …]
|
| H A D | teo.c | 174 s64 lat_ns = drv->states[dev->last_state_idx].exit_latency_ns; in teo_update() 220 target_residency_ns = drv->states[i].target_residency_ns; in teo_update() 296 if (drv->states[i].target_residency_ns <= duration_ns) in teo_find_shallower_state() 353 struct cpuidle_state *s = &drv->states[i]; in teo_select() 398 duration_ns = drv->states[idx].target_residency_ns; in teo_select() 419 drv->states[min_idx].target_residency_ns < TICK_NSEC) in teo_select() 427 if (drv->states[min_idx].target_residency_ns == in teo_select() 428 drv->states[idx].target_residency_ns) in teo_select() 497 if ((!idx || drv->states[idx].target_residency_ns < RESIDENCY_THRESHOLD_NS) && in teo_select() 512 if (drv->states[idx].target_residency_ns > duration_ns) in teo_select() [all …]
|
| H A D | menu.c | 285 ((data->next_timer_ns < drv->states[1].target_residency_ns || in menu_select() 286 latency_req < drv->states[1].exit_latency_ns) && in menu_select() 293 *stop_tick = !(drv->states[0].flags & CPUIDLE_FLAG_POLLING); in menu_select() 303 struct cpuidle_state *s = &drv->states[i]; in menu_select() 325 if ((drv->states[idx].flags & CPUIDLE_FLAG_POLLING) && in menu_select() 344 predicted_ns = drv->states[idx].target_residency_ns; in menu_select() 354 if (drv->states[idx].target_residency_ns < TICK_NSEC && in menu_select() 368 if (((drv->states[idx].flags & CPUIDLE_FLAG_POLLING) || in menu_select() 372 if (idx > 0 && drv->states[idx].target_residency_ns > delta_tick) { in menu_select() 384 if (drv->states[i].target_residency_ns <= delta_tick) in menu_select() [all …]
|
| /linux/tools/verification/rvgen/rvgen/ |
| H A D | automata.py | 26 self.states, self.initial_state, self.final_states = self.__get_state_variables() 81 states = [] 97 states.append(state) 108 states = sorted(set(states)) 109 states.remove(initial_state) 111 # Insert the initial state at the bein og the states 112 states.insert(0, initial_state) 117 return states, initial_state, final_states 146 states [all...] |
| H A D | dot2c.py | 20 enum_states_def = "states" 32 for state in self.states: 67 if self.states.__len__() > 255: 70 if self.states.__len__() > 65535: 73 if self.states.__len__() > 1000000: 74 raise Exception("Too many states: %d" % self.states.__len__()) 111 buff.append(self.__get_string_vector_per_line_content(self.states)) 117 max_state_name = max(self.states, key = len).__len__() 121 nr_states = self.states [all...] |
| /linux/sound/usb/misc/ |
| H A 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() 184 if (test_bit(USB_PLAYBACK_RUNNING, &ua->states)) { in playback_urb_complete() 203 set_bit(PLAYBACK_URB_COMPLETED, &ua->states); in first_playback_urb_complete() 255 if (unlikely(!test_bit(USB_PLAYBACK_RUNNING, &ua->states))) in playback_work() 285 if (test_bit(ALSA_PLAYBACK_RUNNING, &ua->states)) in playback_work() 365 if (frames > 0 && test_bit(ALSA_CAPTURE_RUNNING, &ua->states)) in capture_urb_complete() 370 if (test_bit(USB_CAPTURE_RUNNING, &ua->states)) { in capture_urb_complete() 396 if (test_bit(USB_PLAYBACK_RUNNING, &ua->states) && in capture_urb_complete() [all …]
|
| /linux/drivers/acpi/ |
| H A D | processor_idle.c | 175 return cx - pr->power.states >= pr->power.timer_broadcast_on_state; in lapic_timer_needs_broadcast() 225 pr->power.states[ACPI_STATE_C2].type = ACPI_STATE_C2; in acpi_processor_get_power_info_fadt() 226 pr->power.states[ACPI_STATE_C3].type = ACPI_STATE_C3; in acpi_processor_get_power_info_fadt() 239 pr->power.states[ACPI_STATE_C2].address = pr->pblk + 4; in acpi_processor_get_power_info_fadt() 240 pr->power.states[ACPI_STATE_C3].address = pr->pblk + 5; in acpi_processor_get_power_info_fadt() 243 pr->power.states[ACPI_STATE_C2].latency = acpi_gbl_FADT.c2_latency; in acpi_processor_get_power_info_fadt() 244 pr->power.states[ACPI_STATE_C3].latency = acpi_gbl_FADT.c3_latency; in acpi_processor_get_power_info_fadt() 254 pr->power.states[ACPI_STATE_C2].address = 0; in acpi_processor_get_power_info_fadt() 265 pr->power.states[ACPI_STATE_C3].address = 0; in acpi_processor_get_power_info_fadt() 269 pr->power.states[ACPI_STATE_C2].address, in acpi_processor_get_power_info_fadt() [all …]
|
| /linux/Documentation/admin-guide/pm/ |
| H A D | intel_idle.rst | 28 processor's functional blocks into low-power states. That instruction takes two 63 .. _intel-idle-enumeration-of-states: 71 as C-states (in the ACPI terminology) or idle states. The list of meaningful 72 ``MWAIT`` hint values and idle states (i.e. low-power configurations of the 76 In order to create a list of available idle states required by the ``CPUIdle`` 77 subsystem (see :ref:`idle-states-representation` in 79 ``intel_idle`` can use two sources of information: static tables of idle states 90 states, ``intel_idle`` first looks for a ``_CST`` object under one of the ACPI 93 ``CPUIdle`` subsystem expects that the list of idle states supplied by the 97 state description and such that all of the idle states included in its return [all …]
|
| H A 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/Documentation/admin-guide/blockdev/drbd/ |
| H A 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/include/rv/ |
| H A D | ltl_monitor.h | 36 memset(&mon->states, 0, sizeof(mon->states)); in ltl_task_init() 111 char states[32], next[32]; in ltl_trace_event() local 117 snprintf(states, sizeof(states), "%*pbl", RV_MAX_BA_STATES, mon->states); in ltl_trace_event() 127 CONCATENATE(trace_event_, MONITOR_NAME)(task, states, atoms.buffer, next); in ltl_trace_event() 138 if (test_bit(i, mon->states)) in ltl_validate() 144 memcpy(mon->states, next_states, sizeof(next_states)); in ltl_validate()
|
| /linux/arch/x86/kernel/acpi/ |
| H A D | cstate.c | 116 } states[ACPI_PROCESSOR_MAX_POWER]; member 184 percpu_entry->states[cx->index].eax = 0; in acpi_processor_ffh_cstate_probe() 185 percpu_entry->states[cx->index].ecx = 0; in acpi_processor_ffh_cstate_probe() 193 percpu_entry->states[cx->index].eax = cx->address; in acpi_processor_ffh_cstate_probe() 194 percpu_entry->states[cx->index].ecx = MWAIT_ECX_INTERRUPT_BREAK; in acpi_processor_ffh_cstate_probe() 215 mwait_play_dead(percpu_entry->states[cx->index].eax); in acpi_processor_ffh_play_dead() 225 mwait_idle_with_hints(percpu_entry->states[cx->index].eax, in acpi_processor_ffh_cstate_enter() 226 percpu_entry->states[cx->index].ecx); in acpi_processor_ffh_cstate_enter()
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_blend.c | 454 struct drm_plane_state **states; in drm_atomic_helper_crtc_normalize_zpos() local 462 states = kmalloc_objs(*states, total_planes); in drm_atomic_helper_crtc_normalize_zpos() 463 if (!states) in drm_atomic_helper_crtc_normalize_zpos() 477 states[n++] = plane_state; in drm_atomic_helper_crtc_normalize_zpos() 482 sort(states, n, sizeof(*states), drm_atomic_state_zpos_cmp, NULL); in drm_atomic_helper_crtc_normalize_zpos() 485 plane = states[i]->plane; in drm_atomic_helper_crtc_normalize_zpos() 487 states[i]->normalized_zpos = i; in drm_atomic_helper_crtc_normalize_zpos() 494 kfree(states); in drm_atomic_helper_crtc_normalize_zpos()
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-bus-surface_aggregator-tabletsw | 8 Currently returned posture states are: 29 New states may be introduced with new hardware. Users therefore 30 must not rely on this list of states being exhaustive and 31 gracefully handle unknown states. 39 returned posture states are: 55 New states may be introduced with new hardware. Users therefore 56 must not rely on this list of states being exhaustive and 57 gracefully handle unknown states.
|
| /linux/Documentation/devicetree/bindings/powerpc/opal/ |
| H A 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 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/arch/arm64/boot/dts/freescale/ |
| H A D | fsl-ls2088a.dtsi | 28 cpu-idle-states = <&CPU_PW20>; 38 cpu-idle-states = <&CPU_PW20>; 48 cpu-idle-states = <&CPU_PW20>; 58 cpu-idle-states = <&CPU_PW20>; 69 cpu-idle-states = <&CPU_PW20>; 78 cpu-idle-states = <&CPU_PW20>; 88 cpu-idle-states = <&CPU_PW20>; 98 cpu-idle-states = <&CPU_PW20>;
|
| H A D | fsl-ls2080a.dtsi | 28 cpu-idle-states = <&CPU_PW20>; 38 cpu-idle-states = <&CPU_PW20>; 48 cpu-idle-states = <&CPU_PW20>; 58 cpu-idle-states = <&CPU_PW20>; 68 cpu-idle-states = <&CPU_PW20>; 78 cpu-idle-states = <&CPU_PW20>; 89 cpu-idle-states = <&CPU_PW20>; 98 cpu-idle-states = <&CPU_PW20>;
|
| /linux/arch/arm64/boot/dts/sprd/ |
| H A D | ums9620.dtsi | 53 cpu-idle-states = <&LIT_CORE_PD>; 61 cpu-idle-states = <&LIT_CORE_PD>; 69 cpu-idle-states = <&LIT_CORE_PD>; 77 cpu-idle-states = <&LIT_CORE_PD>; 85 cpu-idle-states = <&BIG_CORE_PD>; 93 cpu-idle-states = <&BIG_CORE_PD>; 101 cpu-idle-states = <&BIG_CORE_PD>; 109 cpu-idle-states = <&BIG_CORE_PD>; 113 idle-states {
|