Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 23832
b: refs/heads/master
c: bd66334
h: refs/heads/master
v: v3
  • Loading branch information
Andi Kleen authored and Linus Torvalds committed Mar 25, 2006
1 parent 381b9b6 commit ad62b99
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7682968b7d4d42bb076051b962c3926b4c98539a
refs/heads/master: bd6633476922b7b51227f7f704c2546e763ae5ed
25 changes: 15 additions & 10 deletions trunk/drivers/acpi/processor_idle.c
Original file line number Diff line number Diff line change
Expand Up @@ -876,14 +876,11 @@ static int acpi_processor_power_verify(struct acpi_processor *pr)
{
unsigned int i;
unsigned int working = 0;

#ifdef ARCH_APICTIMER_STOPS_ON_C3
struct cpuinfo_x86 *c = cpu_data + pr->id;
int timer_broadcast = 0;
cpumask_t mask = cpumask_of_cpu(pr->id);

if (c->x86_vendor == X86_VENDOR_INTEL) {
on_each_cpu(switch_ipi_to_APIC_timer, &mask, 1, 1);
}
#ifdef ARCH_APICTIMER_STOPS_ON_C3
on_each_cpu(switch_ipi_to_APIC_timer, &mask, 1, 1);
#endif

for (i = 1; i < ACPI_PROCESSOR_MAX_POWER; i++) {
Expand All @@ -896,15 +893,20 @@ static int acpi_processor_power_verify(struct acpi_processor *pr)

case ACPI_STATE_C2:
acpi_processor_power_verify_c2(cx);
#ifdef ARCH_APICTIMER_STOPS_ON_C3
/* Some AMD systems fake C3 as C2, but still
have timer troubles */
if (cx->valid &&
boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
timer_broadcast++;
#endif
break;

case ACPI_STATE_C3:
acpi_processor_power_verify_c3(pr, cx);
#ifdef ARCH_APICTIMER_STOPS_ON_C3
if (cx->valid && c->x86_vendor == X86_VENDOR_INTEL) {
on_each_cpu(switch_APIC_timer_to_ipi,
&mask, 1, 1);
}
if (cx->valid)
timer_broadcast++;
#endif
break;
}
Expand All @@ -913,6 +915,9 @@ static int acpi_processor_power_verify(struct acpi_processor *pr)
working++;
}

if (timer_broadcast)
on_each_cpu(switch_APIC_timer_to_ipi, &mask, 1, 1);

return (working);
}

Expand Down

0 comments on commit ad62b99

Please sign in to comment.