Lines Matching refs:cx
138 struct acpi_processor_cx *cx) in lapic_timer_check_state() argument
156 if (cx->type >= type) in lapic_timer_check_state()
178 struct acpi_processor_cx *cx, in lapic_timer_state_broadcast() argument
181 int state = cx - pr->power.states; in lapic_timer_state_broadcast()
197 struct acpi_processor_cx *cx, in lapic_timer_state_broadcast() argument
349 struct acpi_processor_cx cx; in acpi_processor_get_power_info_cst() local
351 memset(&cx, 0, sizeof(cx)); in acpi_processor_get_power_info_cst()
376 cx.type = obj->integer.value; in acpi_processor_get_power_info_cst()
381 if (i == 1 && cx.type != ACPI_STATE_C1) in acpi_processor_get_power_info_cst()
384 cx.address = reg->address; in acpi_processor_get_power_info_cst()
385 cx.index = current_count + 1; in acpi_processor_get_power_info_cst()
387 cx.entry_method = ACPI_CSTATE_SYSTEMIO; in acpi_processor_get_power_info_cst()
390 (pr->id, &cx, reg) == 0) { in acpi_processor_get_power_info_cst()
391 cx.entry_method = ACPI_CSTATE_FFH; in acpi_processor_get_power_info_cst()
392 } else if (cx.type == ACPI_STATE_C1) { in acpi_processor_get_power_info_cst()
399 cx.entry_method = ACPI_CSTATE_HALT; in acpi_processor_get_power_info_cst()
400 snprintf(cx.desc, ACPI_CX_DESC_LEN, "ACPI HLT"); in acpi_processor_get_power_info_cst()
404 if (cx.type == ACPI_STATE_C1 && in acpi_processor_get_power_info_cst()
416 cx.entry_method = ACPI_CSTATE_HALT; in acpi_processor_get_power_info_cst()
417 snprintf(cx.desc, ACPI_CX_DESC_LEN, "ACPI HLT"); in acpi_processor_get_power_info_cst()
420 snprintf(cx.desc, ACPI_CX_DESC_LEN, "ACPI IOPORT 0x%x", in acpi_processor_get_power_info_cst()
421 cx.address); in acpi_processor_get_power_info_cst()
424 if (cx.type == ACPI_STATE_C1) { in acpi_processor_get_power_info_cst()
425 cx.valid = 1; in acpi_processor_get_power_info_cst()
432 cx.latency = obj->integer.value; in acpi_processor_get_power_info_cst()
439 memcpy(&(pr->power.states[current_count]), &cx, sizeof(cx)); in acpi_processor_get_power_info_cst()
467 struct acpi_processor_cx *cx) in acpi_processor_power_verify_c3() argument
473 if (!cx->address) in acpi_processor_power_verify_c3()
532 cx->valid = 1; in acpi_processor_power_verify_c3()
555 struct acpi_processor_cx *cx = &pr->power.states[i]; in acpi_processor_power_verify() local
557 switch (cx->type) { in acpi_processor_power_verify()
559 cx->valid = 1; in acpi_processor_power_verify()
563 if (!cx->address) in acpi_processor_power_verify()
565 cx->valid = 1; in acpi_processor_power_verify()
569 acpi_processor_power_verify_c3(pr, cx); in acpi_processor_power_verify()
572 if (!cx->valid) in acpi_processor_power_verify()
575 lapic_timer_check_state(i, pr, cx); in acpi_processor_power_verify()
576 tsc_check_state(cx->type); in acpi_processor_power_verify()
655 static void __cpuidle acpi_idle_do_entry(struct acpi_processor_cx *cx) in acpi_idle_do_entry() argument
657 if (cx->entry_method == ACPI_CSTATE_FFH) { in acpi_idle_do_entry()
659 acpi_processor_ffh_cstate_enter(cx); in acpi_idle_do_entry()
660 } else if (cx->entry_method == ACPI_CSTATE_HALT) { in acpi_idle_do_entry()
664 inb(cx->address); in acpi_idle_do_entry()
679 struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu); in acpi_idle_play_dead() local
685 if (cx->entry_method == ACPI_CSTATE_HALT) in acpi_idle_play_dead()
687 else if (cx->entry_method == ACPI_CSTATE_SYSTEMIO) { in acpi_idle_play_dead()
688 inb(cx->address); in acpi_idle_play_dead()
715 struct acpi_processor_cx *cx, bool timer_bc) in acpi_idle_enter_bm() argument
724 lapic_timer_state_broadcast(pr, cx, 1); in acpi_idle_enter_bm()
744 acpi_idle_do_entry(cx); in acpi_idle_enter_bm()
755 lapic_timer_state_broadcast(pr, cx, 0); in acpi_idle_enter_bm()
761 struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu); in acpi_idle_enter() local
768 if (cx->type != ACPI_STATE_C1) { in acpi_idle_enter()
771 cx = per_cpu(acpi_cstate[index], dev->cpu); in acpi_idle_enter()
772 } else if (cx->type == ACPI_STATE_C3 && pr->flags.bm_check) { in acpi_idle_enter()
773 if (cx->bm_sts_skip || !acpi_idle_bm_check()) { in acpi_idle_enter()
774 acpi_idle_enter_bm(pr, cx, true); in acpi_idle_enter()
778 cx = per_cpu(acpi_cstate[index], dev->cpu); in acpi_idle_enter()
786 lapic_timer_state_broadcast(pr, cx, 1); in acpi_idle_enter()
788 if (cx->type == ACPI_STATE_C3) in acpi_idle_enter()
791 acpi_idle_do_entry(cx); in acpi_idle_enter()
793 lapic_timer_state_broadcast(pr, cx, 0); in acpi_idle_enter()
801 struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu); in acpi_idle_enter_s2idle() local
803 if (cx->type == ACPI_STATE_C3) { in acpi_idle_enter_s2idle()
810 acpi_idle_enter_bm(pr, cx, false); in acpi_idle_enter_s2idle()
816 acpi_idle_do_entry(cx); in acpi_idle_enter_s2idle()
823 struct acpi_processor_cx *cx; in acpi_processor_setup_cpuidle_cx() local
829 cx = &pr->power.states[i]; in acpi_processor_setup_cpuidle_cx()
831 if (!cx->valid) in acpi_processor_setup_cpuidle_cx()
834 per_cpu(acpi_cstate[count], dev->cpu) = cx; in acpi_processor_setup_cpuidle_cx()
850 struct acpi_processor_cx *cx; in acpi_processor_setup_cstates() local
865 cx = &pr->power.states[i]; in acpi_processor_setup_cstates()
867 if (!cx->valid) in acpi_processor_setup_cstates()
872 strlcpy(state->desc, cx->desc, CPUIDLE_DESC_LEN); in acpi_processor_setup_cstates()
873 state->exit_latency = cx->latency; in acpi_processor_setup_cstates()
874 state->target_residency = cx->latency * latency_factor; in acpi_processor_setup_cstates()
878 if (cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2) { in acpi_processor_setup_cstates()
889 if (cx->type != ACPI_STATE_C1 && !acpi_idle_fallback_to_c1(pr)) in acpi_processor_setup_cstates()