Lines Matching refs:cx
131 struct acpi_processor_cx *cx) in lapic_timer_check_state() argument
149 if (cx->type >= type) in lapic_timer_check_state()
171 struct acpi_processor_cx *cx, in lapic_timer_state_broadcast() argument
174 int state = cx - pr->power.states; in lapic_timer_state_broadcast()
190 struct acpi_processor_cx *cx, in lapic_timer_state_broadcast() argument
375 struct acpi_processor_cx cx; in acpi_processor_get_power_info_cst() local
377 memset(&cx, 0, sizeof(cx)); in acpi_processor_get_power_info_cst()
402 cx.type = obj->integer.value; in acpi_processor_get_power_info_cst()
407 if (i == 1 && cx.type != ACPI_STATE_C1) in acpi_processor_get_power_info_cst()
410 cx.address = reg->address; in acpi_processor_get_power_info_cst()
411 cx.index = current_count + 1; in acpi_processor_get_power_info_cst()
413 cx.entry_method = ACPI_CSTATE_SYSTEMIO; in acpi_processor_get_power_info_cst()
416 (pr->id, &cx, reg) == 0) { in acpi_processor_get_power_info_cst()
417 cx.entry_method = ACPI_CSTATE_FFH; in acpi_processor_get_power_info_cst()
418 } else if (cx.type == ACPI_STATE_C1) { in acpi_processor_get_power_info_cst()
425 cx.entry_method = ACPI_CSTATE_HALT; in acpi_processor_get_power_info_cst()
426 snprintf(cx.desc, ACPI_CX_DESC_LEN, "ACPI HLT"); in acpi_processor_get_power_info_cst()
430 if (cx.type == ACPI_STATE_C1 && in acpi_processor_get_power_info_cst()
442 cx.entry_method = ACPI_CSTATE_HALT; in acpi_processor_get_power_info_cst()
443 snprintf(cx.desc, ACPI_CX_DESC_LEN, "ACPI HLT"); in acpi_processor_get_power_info_cst()
446 snprintf(cx.desc, ACPI_CX_DESC_LEN, "ACPI IOPORT 0x%x", in acpi_processor_get_power_info_cst()
447 cx.address); in acpi_processor_get_power_info_cst()
450 if (cx.type == ACPI_STATE_C1) { in acpi_processor_get_power_info_cst()
451 cx.valid = 1; in acpi_processor_get_power_info_cst()
458 cx.latency = obj->integer.value; in acpi_processor_get_power_info_cst()
465 memcpy(&(pr->power.states[current_count]), &cx, sizeof(cx)); in acpi_processor_get_power_info_cst()
495 struct acpi_processor_cx *cx) in acpi_processor_power_verify_c3() argument
501 if (!cx->address) in acpi_processor_power_verify_c3()
560 cx->valid = 1; in acpi_processor_power_verify_c3()
583 struct acpi_processor_cx *cx = &pr->power.states[i]; in acpi_processor_power_verify() local
585 switch (cx->type) { in acpi_processor_power_verify()
587 cx->valid = 1; in acpi_processor_power_verify()
591 if (!cx->address) in acpi_processor_power_verify()
593 cx->valid = 1; in acpi_processor_power_verify()
597 acpi_processor_power_verify_c3(pr, cx); in acpi_processor_power_verify()
600 if (!cx->valid) in acpi_processor_power_verify()
603 lapic_timer_check_state(i, pr, cx); in acpi_processor_power_verify()
604 tsc_check_state(cx->type); in acpi_processor_power_verify()
683 static void acpi_idle_do_entry(struct acpi_processor_cx *cx) in acpi_idle_do_entry() argument
685 if (cx->entry_method == ACPI_CSTATE_FFH) { in acpi_idle_do_entry()
687 acpi_processor_ffh_cstate_enter(cx); in acpi_idle_do_entry()
688 } else if (cx->entry_method == ACPI_CSTATE_HALT) { in acpi_idle_do_entry()
692 inb(cx->address); in acpi_idle_do_entry()
707 struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu); in acpi_idle_play_dead() local
713 if (cx->entry_method == ACPI_CSTATE_HALT) in acpi_idle_play_dead()
715 else if (cx->entry_method == ACPI_CSTATE_SYSTEMIO) { in acpi_idle_play_dead()
716 inb(cx->address); in acpi_idle_play_dead()
743 struct acpi_processor_cx *cx, bool timer_bc) in acpi_idle_enter_bm() argument
752 lapic_timer_state_broadcast(pr, cx, 1); in acpi_idle_enter_bm()
772 acpi_idle_do_entry(cx); in acpi_idle_enter_bm()
783 lapic_timer_state_broadcast(pr, cx, 0); in acpi_idle_enter_bm()
789 struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu); in acpi_idle_enter() local
796 if (cx->type != ACPI_STATE_C1) { in acpi_idle_enter()
799 cx = per_cpu(acpi_cstate[index], dev->cpu); in acpi_idle_enter()
800 } else if (cx->type == ACPI_STATE_C3 && pr->flags.bm_check) { in acpi_idle_enter()
801 if (cx->bm_sts_skip || !acpi_idle_bm_check()) { in acpi_idle_enter()
802 acpi_idle_enter_bm(pr, cx, true); in acpi_idle_enter()
806 cx = per_cpu(acpi_cstate[index], dev->cpu); in acpi_idle_enter()
814 lapic_timer_state_broadcast(pr, cx, 1); in acpi_idle_enter()
816 if (cx->type == ACPI_STATE_C3) in acpi_idle_enter()
819 acpi_idle_do_entry(cx); in acpi_idle_enter()
821 lapic_timer_state_broadcast(pr, cx, 0); in acpi_idle_enter()
829 struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu); in acpi_idle_enter_freeze() local
831 if (cx->type == ACPI_STATE_C3) { in acpi_idle_enter_freeze()
838 acpi_idle_enter_bm(pr, cx, false); in acpi_idle_enter_freeze()
844 acpi_idle_do_entry(cx); in acpi_idle_enter_freeze()
863 struct acpi_processor_cx *cx; in acpi_processor_setup_cpuidle_cx() local
881 cx = &pr->power.states[i]; in acpi_processor_setup_cpuidle_cx()
883 if (!cx->valid) in acpi_processor_setup_cpuidle_cx()
886 per_cpu(acpi_cstate[count], dev->cpu) = cx; in acpi_processor_setup_cpuidle_cx()
908 struct acpi_processor_cx *cx; in acpi_processor_setup_cpuidle_states() local
928 cx = &pr->power.states[i]; in acpi_processor_setup_cpuidle_states()
930 if (!cx->valid) in acpi_processor_setup_cpuidle_states()
935 strncpy(state->desc, cx->desc, CPUIDLE_DESC_LEN); in acpi_processor_setup_cpuidle_states()
936 state->exit_latency = cx->latency; in acpi_processor_setup_cpuidle_states()
937 state->target_residency = cx->latency * latency_factor; in acpi_processor_setup_cpuidle_states()
941 if (cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2) { in acpi_processor_setup_cpuidle_states()
952 if (cx->type != ACPI_STATE_C1 && !acpi_idle_fallback_to_c1(pr)) in acpi_processor_setup_cpuidle_states()