Lines Matching refs:cx
210 struct acpi_processor_cx *cx) in acpi_timer_check_state() argument
222 if (cx->type >= type) in acpi_timer_check_state()
238 struct acpi_processor_cx *cx, in acpi_state_timer_broadcast() argument
241 int state = cx - pr->power.states; in acpi_state_timer_broadcast()
258 struct acpi_processor_cx *cx, in acpi_state_timer_broadcast() argument
401 struct acpi_processor_cx cx; in acpi_processor_get_power_info_cst() local
403 memset(&cx, 0, sizeof(cx)); in acpi_processor_get_power_info_cst()
428 cx.type = obj->integer.value; in acpi_processor_get_power_info_cst()
433 if (i == 1 && cx.type != ACPI_STATE_C1) in acpi_processor_get_power_info_cst()
436 cx.address = reg->address; in acpi_processor_get_power_info_cst()
437 cx.index = current_count + 1; in acpi_processor_get_power_info_cst()
439 cx.entry_method = ACPI_CSTATE_SYSTEMIO; in acpi_processor_get_power_info_cst()
442 (pr->id, &cx, reg) == 0) { in acpi_processor_get_power_info_cst()
443 cx.entry_method = ACPI_CSTATE_FFH; in acpi_processor_get_power_info_cst()
444 } else if (cx.type == ACPI_STATE_C1) { in acpi_processor_get_power_info_cst()
451 cx.entry_method = ACPI_CSTATE_HALT; in acpi_processor_get_power_info_cst()
452 snprintf(cx.desc, ACPI_CX_DESC_LEN, "ACPI HLT"); in acpi_processor_get_power_info_cst()
456 if (cx.type == ACPI_STATE_C1 && in acpi_processor_get_power_info_cst()
468 cx.entry_method = ACPI_CSTATE_HALT; in acpi_processor_get_power_info_cst()
469 snprintf(cx.desc, ACPI_CX_DESC_LEN, "ACPI HLT"); in acpi_processor_get_power_info_cst()
472 snprintf(cx.desc, ACPI_CX_DESC_LEN, "ACPI IOPORT 0x%x", in acpi_processor_get_power_info_cst()
473 cx.address); in acpi_processor_get_power_info_cst()
476 if (cx.type == ACPI_STATE_C1) { in acpi_processor_get_power_info_cst()
477 cx.valid = 1; in acpi_processor_get_power_info_cst()
484 cx.latency = obj->integer.value; in acpi_processor_get_power_info_cst()
490 cx.power = obj->integer.value; in acpi_processor_get_power_info_cst()
493 memcpy(&(pr->power.states[current_count]), &cx, sizeof(cx)); in acpi_processor_get_power_info_cst()
522 static void acpi_processor_power_verify_c2(struct acpi_processor_cx *cx) in acpi_processor_power_verify_c2() argument
525 if (!cx->address) in acpi_processor_power_verify_c2()
532 else if (cx->latency > ACPI_PROCESSOR_MAX_C2_LATENCY) { in acpi_processor_power_verify_c2()
534 "latency too large [%d]\n", cx->latency)); in acpi_processor_power_verify_c2()
542 cx->valid = 1; in acpi_processor_power_verify_c2()
544 cx->latency_ticks = cx->latency; in acpi_processor_power_verify_c2()
550 struct acpi_processor_cx *cx) in acpi_processor_power_verify_c3() argument
555 if (!cx->address) in acpi_processor_power_verify_c3()
562 else if (cx->latency > ACPI_PROCESSOR_MAX_C3_LATENCY) { in acpi_processor_power_verify_c3()
564 "latency too large [%d]\n", cx->latency)); in acpi_processor_power_verify_c3()
622 cx->valid = 1; in acpi_processor_power_verify_c3()
624 cx->latency_ticks = cx->latency; in acpi_processor_power_verify_c3()
646 struct acpi_processor_cx *cx = &pr->power.states[i]; in acpi_processor_power_verify() local
648 switch (cx->type) { in acpi_processor_power_verify()
650 cx->valid = 1; in acpi_processor_power_verify()
654 acpi_processor_power_verify_c2(cx); in acpi_processor_power_verify()
655 if (cx->valid) in acpi_processor_power_verify()
656 acpi_timer_check_state(i, pr, cx); in acpi_processor_power_verify()
660 acpi_processor_power_verify_c3(pr, cx); in acpi_processor_power_verify()
661 if (cx->valid) in acpi_processor_power_verify()
662 acpi_timer_check_state(i, pr, cx); in acpi_processor_power_verify()
666 if (cx->valid) in acpi_processor_power_verify()
825 static inline void acpi_idle_do_entry(struct acpi_processor_cx *cx) in acpi_idle_do_entry() argument
829 if (cx->entry_method == ACPI_CSTATE_FFH) { in acpi_idle_do_entry()
831 acpi_processor_ffh_cstate_enter(cx); in acpi_idle_do_entry()
832 } else if (cx->entry_method == ACPI_CSTATE_HALT) { in acpi_idle_do_entry()
837 inb(cx->address); in acpi_idle_do_entry()
858 struct acpi_processor_cx *cx = cpuidle_get_statedata(state); in acpi_idle_enter_c1() local
875 acpi_idle_do_entry(cx); in acpi_idle_enter_c1()
879 cx->usage++; in acpi_idle_enter_c1()
893 struct acpi_processor_cx *cx = cpuidle_get_statedata(state); in acpi_idle_enter_simple() local
923 acpi_state_timer_broadcast(pr, cx, 1); in acpi_idle_enter_simple()
925 if (cx->type == ACPI_STATE_C3) in acpi_idle_enter_simple()
931 acpi_idle_do_entry(cx); in acpi_idle_enter_simple()
936 if (tsc_halts_in_c(cx->type)) in acpi_idle_enter_simple()
947 cx->usage++; in acpi_idle_enter_simple()
949 acpi_state_timer_broadcast(pr, cx, 0); in acpi_idle_enter_simple()
950 cx->time += sleep_ticks; in acpi_idle_enter_simple()
968 struct acpi_processor_cx *cx = cpuidle_get_statedata(state); in acpi_idle_enter_bm() local
1014 acpi_state_timer_broadcast(pr, cx, 1); in acpi_idle_enter_bm()
1038 acpi_idle_do_entry(cx); in acpi_idle_enter_bm()
1061 cx->usage++; in acpi_idle_enter_bm()
1063 acpi_state_timer_broadcast(pr, cx, 0); in acpi_idle_enter_bm()
1064 cx->time += sleep_ticks; in acpi_idle_enter_bm()
1080 struct acpi_processor_cx *cx; in acpi_processor_setup_cpuidle() local
1098 cx = &pr->power.states[i]; in acpi_processor_setup_cpuidle()
1101 if (!cx->valid) in acpi_processor_setup_cpuidle()
1105 if ((cx->type != ACPI_STATE_C1) && (num_online_cpus() > 1) && in acpi_processor_setup_cpuidle()
1110 cpuidle_set_statedata(state, cx); in acpi_processor_setup_cpuidle()
1113 strncpy(state->desc, cx->desc, CPUIDLE_DESC_LEN); in acpi_processor_setup_cpuidle()
1114 state->exit_latency = cx->latency; in acpi_processor_setup_cpuidle()
1115 state->target_residency = cx->latency * latency_factor; in acpi_processor_setup_cpuidle()
1116 state->power_usage = cx->power; in acpi_processor_setup_cpuidle()
1119 switch (cx->type) { in acpi_processor_setup_cpuidle()
1122 if (cx->entry_method == ACPI_CSTATE_FFH) in acpi_processor_setup_cpuidle()