Loading drivers/acpi/acpi_pad.c +11 −2 Original line number Diff line number Diff line Loading @@ -43,6 +43,10 @@ static DEFINE_MUTEX(isolated_cpus_lock); #define CPUID5_ECX_EXTENSIONS_SUPPORTED (0x1) #define CPUID5_ECX_INTERRUPT_BREAK (0x2) static unsigned long power_saving_mwait_eax; static unsigned char tsc_detected_unstable; static unsigned char tsc_marked_unstable; static void power_saving_mwait_init(void) { unsigned int eax, ebx, ecx, edx; Loading Loading @@ -87,8 +91,8 @@ static void power_saving_mwait_init(void) /*FALL THROUGH*/ default: /* TSC could halt in idle, so notify users */ mark_tsc_unstable("TSC halts in idle"); /* TSC could halt in idle */ tsc_detected_unstable = 1; } #endif } Loading Loading @@ -178,6 +182,11 @@ static int power_saving_thread(void *data) expire_time = jiffies + HZ * (100 - idle_pct) / 100; while (!need_resched()) { if (tsc_detected_unstable && !tsc_marked_unstable) { /* TSC could halt in idle, so notify users */ mark_tsc_unstable("TSC halts in idle"); tsc_marked_unstable = 1; } local_irq_disable(); cpu = smp_processor_id(); clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, Loading drivers/acpi/ec.c +1 −2 Original line number Diff line number Diff line Loading @@ -1027,10 +1027,9 @@ int __init acpi_ec_ecdt_probe(void) /* Don't trust ECDT, which comes from ASUSTek */ if (!EC_FLAGS_VALIDATE_ECDT) goto install; saved_ec = kmalloc(sizeof(struct acpi_ec), GFP_KERNEL); saved_ec = kmemdup(boot_ec, sizeof(struct acpi_ec), GFP_KERNEL); if (!saved_ec) return -ENOMEM; memcpy(saved_ec, boot_ec, sizeof(struct acpi_ec)); /* fall through */ } Loading drivers/acpi/processor_idle.c +13 −17 Original line number Diff line number Diff line Loading @@ -727,18 +727,8 @@ static int acpi_processor_power_seq_show(struct seq_file *seq, void *offset) break; } if (pr->power.states[i].promotion.state) seq_printf(seq, "promotion[C%zd] ", (pr->power.states[i].promotion.state - pr->power.states)); else seq_puts(seq, "promotion[--] "); if (pr->power.states[i].demotion.state) seq_printf(seq, "demotion[C%zd] ", (pr->power.states[i].demotion.state - pr->power.states)); else seq_puts(seq, "demotion[--] "); seq_printf(seq, "latency[%03d] usage[%08d] duration[%020llu]\n", Loading Loading @@ -869,6 +859,7 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev, struct acpi_processor *pr; struct acpi_processor_cx *cx = cpuidle_get_statedata(state); ktime_t kt1, kt2; s64 idle_time_ns; s64 idle_time; s64 sleep_ticks = 0; Loading Loading @@ -910,12 +901,14 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev, sched_clock_idle_sleep_event(); acpi_idle_do_entry(cx); kt2 = ktime_get_real(); idle_time = ktime_to_us(ktime_sub(kt2, kt1)); idle_time_ns = ktime_to_ns(ktime_sub(kt2, kt1)); idle_time = idle_time_ns; do_div(idle_time, NSEC_PER_USEC); sleep_ticks = us_to_pm_timer_ticks(idle_time); /* Tell the scheduler how much we idled: */ sched_clock_idle_wakeup_event(sleep_ticks*PM_TIMER_TICK_NS); sched_clock_idle_wakeup_event(idle_time_ns); local_irq_enable(); current_thread_info()->status |= TS_POLLING; Loading Loading @@ -943,6 +936,7 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, struct acpi_processor *pr; struct acpi_processor_cx *cx = cpuidle_get_statedata(state); ktime_t kt1, kt2; s64 idle_time_ns; s64 idle_time; s64 sleep_ticks = 0; Loading Loading @@ -1025,11 +1019,13 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, spin_unlock(&c3_lock); } kt2 = ktime_get_real(); idle_time = ktime_to_us(ktime_sub(kt2, kt1)); idle_time_ns = ktime_to_us(ktime_sub(kt2, kt1)); idle_time = idle_time_ns; do_div(idle_time, NSEC_PER_USEC); sleep_ticks = us_to_pm_timer_ticks(idle_time); /* Tell the scheduler how much we idled: */ sched_clock_idle_wakeup_event(sleep_ticks*PM_TIMER_TICK_NS); sched_clock_idle_wakeup_event(idle_time_ns); local_irq_enable(); current_thread_info()->status |= TS_POLLING; Loading drivers/acpi/video.c +4 −4 Original line number Diff line number Diff line Loading @@ -1003,11 +1003,11 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) result = acpi_video_init_brightness(device); if (result) return; name = kzalloc(MAX_NAME_LEN, GFP_KERNEL); name = kasprintf(GFP_KERNEL, "acpi_video%d", count); if (!name) return; count++; sprintf(name, "acpi_video%d", count++); memset(&props, 0, sizeof(struct backlight_properties)); props.max_brightness = device->brightness->count - 3; device->backlight = backlight_device_register(name, NULL, device, Loading Loading @@ -1063,10 +1063,10 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) if (device->cap._DCS && device->cap._DSS) { static int count; char *name; name = kzalloc(MAX_NAME_LEN, GFP_KERNEL); name = kasprintf(GFP_KERNEL, "acpi_video%d", count); if (!name) return; sprintf(name, "acpi_video%d", count++); count++; device->output_dev = video_output_register(name, NULL, device, &acpi_output_properties); kfree(name); Loading include/acpi/processor.h +0 −13 Original line number Diff line number Diff line Loading @@ -52,17 +52,6 @@ struct acpi_power_register { u64 address; } __attribute__ ((packed)); struct acpi_processor_cx_policy { u32 count; struct acpi_processor_cx *state; struct { u32 time; u32 ticks; u32 count; u32 bm; } threshold; }; struct acpi_processor_cx { u8 valid; u8 type; Loading @@ -74,8 +63,6 @@ struct acpi_processor_cx { u32 power; u32 usage; u64 time; struct acpi_processor_cx_policy promotion; struct acpi_processor_cx_policy demotion; char desc[ACPI_CX_DESC_LEN]; }; Loading drivers/acpi/sleep.h +1 −1 File changed.Contains only whitespace changes. Show changes Loading
drivers/acpi/acpi_pad.c +11 −2 Original line number Diff line number Diff line Loading @@ -43,6 +43,10 @@ static DEFINE_MUTEX(isolated_cpus_lock); #define CPUID5_ECX_EXTENSIONS_SUPPORTED (0x1) #define CPUID5_ECX_INTERRUPT_BREAK (0x2) static unsigned long power_saving_mwait_eax; static unsigned char tsc_detected_unstable; static unsigned char tsc_marked_unstable; static void power_saving_mwait_init(void) { unsigned int eax, ebx, ecx, edx; Loading Loading @@ -87,8 +91,8 @@ static void power_saving_mwait_init(void) /*FALL THROUGH*/ default: /* TSC could halt in idle, so notify users */ mark_tsc_unstable("TSC halts in idle"); /* TSC could halt in idle */ tsc_detected_unstable = 1; } #endif } Loading Loading @@ -178,6 +182,11 @@ static int power_saving_thread(void *data) expire_time = jiffies + HZ * (100 - idle_pct) / 100; while (!need_resched()) { if (tsc_detected_unstable && !tsc_marked_unstable) { /* TSC could halt in idle, so notify users */ mark_tsc_unstable("TSC halts in idle"); tsc_marked_unstable = 1; } local_irq_disable(); cpu = smp_processor_id(); clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, Loading
drivers/acpi/ec.c +1 −2 Original line number Diff line number Diff line Loading @@ -1027,10 +1027,9 @@ int __init acpi_ec_ecdt_probe(void) /* Don't trust ECDT, which comes from ASUSTek */ if (!EC_FLAGS_VALIDATE_ECDT) goto install; saved_ec = kmalloc(sizeof(struct acpi_ec), GFP_KERNEL); saved_ec = kmemdup(boot_ec, sizeof(struct acpi_ec), GFP_KERNEL); if (!saved_ec) return -ENOMEM; memcpy(saved_ec, boot_ec, sizeof(struct acpi_ec)); /* fall through */ } Loading
drivers/acpi/processor_idle.c +13 −17 Original line number Diff line number Diff line Loading @@ -727,18 +727,8 @@ static int acpi_processor_power_seq_show(struct seq_file *seq, void *offset) break; } if (pr->power.states[i].promotion.state) seq_printf(seq, "promotion[C%zd] ", (pr->power.states[i].promotion.state - pr->power.states)); else seq_puts(seq, "promotion[--] "); if (pr->power.states[i].demotion.state) seq_printf(seq, "demotion[C%zd] ", (pr->power.states[i].demotion.state - pr->power.states)); else seq_puts(seq, "demotion[--] "); seq_printf(seq, "latency[%03d] usage[%08d] duration[%020llu]\n", Loading Loading @@ -869,6 +859,7 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev, struct acpi_processor *pr; struct acpi_processor_cx *cx = cpuidle_get_statedata(state); ktime_t kt1, kt2; s64 idle_time_ns; s64 idle_time; s64 sleep_ticks = 0; Loading Loading @@ -910,12 +901,14 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev, sched_clock_idle_sleep_event(); acpi_idle_do_entry(cx); kt2 = ktime_get_real(); idle_time = ktime_to_us(ktime_sub(kt2, kt1)); idle_time_ns = ktime_to_ns(ktime_sub(kt2, kt1)); idle_time = idle_time_ns; do_div(idle_time, NSEC_PER_USEC); sleep_ticks = us_to_pm_timer_ticks(idle_time); /* Tell the scheduler how much we idled: */ sched_clock_idle_wakeup_event(sleep_ticks*PM_TIMER_TICK_NS); sched_clock_idle_wakeup_event(idle_time_ns); local_irq_enable(); current_thread_info()->status |= TS_POLLING; Loading Loading @@ -943,6 +936,7 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, struct acpi_processor *pr; struct acpi_processor_cx *cx = cpuidle_get_statedata(state); ktime_t kt1, kt2; s64 idle_time_ns; s64 idle_time; s64 sleep_ticks = 0; Loading Loading @@ -1025,11 +1019,13 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, spin_unlock(&c3_lock); } kt2 = ktime_get_real(); idle_time = ktime_to_us(ktime_sub(kt2, kt1)); idle_time_ns = ktime_to_us(ktime_sub(kt2, kt1)); idle_time = idle_time_ns; do_div(idle_time, NSEC_PER_USEC); sleep_ticks = us_to_pm_timer_ticks(idle_time); /* Tell the scheduler how much we idled: */ sched_clock_idle_wakeup_event(sleep_ticks*PM_TIMER_TICK_NS); sched_clock_idle_wakeup_event(idle_time_ns); local_irq_enable(); current_thread_info()->status |= TS_POLLING; Loading
drivers/acpi/video.c +4 −4 Original line number Diff line number Diff line Loading @@ -1003,11 +1003,11 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) result = acpi_video_init_brightness(device); if (result) return; name = kzalloc(MAX_NAME_LEN, GFP_KERNEL); name = kasprintf(GFP_KERNEL, "acpi_video%d", count); if (!name) return; count++; sprintf(name, "acpi_video%d", count++); memset(&props, 0, sizeof(struct backlight_properties)); props.max_brightness = device->brightness->count - 3; device->backlight = backlight_device_register(name, NULL, device, Loading Loading @@ -1063,10 +1063,10 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) if (device->cap._DCS && device->cap._DSS) { static int count; char *name; name = kzalloc(MAX_NAME_LEN, GFP_KERNEL); name = kasprintf(GFP_KERNEL, "acpi_video%d", count); if (!name) return; sprintf(name, "acpi_video%d", count++); count++; device->output_dev = video_output_register(name, NULL, device, &acpi_output_properties); kfree(name); Loading
include/acpi/processor.h +0 −13 Original line number Diff line number Diff line Loading @@ -52,17 +52,6 @@ struct acpi_power_register { u64 address; } __attribute__ ((packed)); struct acpi_processor_cx_policy { u32 count; struct acpi_processor_cx *state; struct { u32 time; u32 ticks; u32 count; u32 bm; } threshold; }; struct acpi_processor_cx { u8 valid; u8 type; Loading @@ -74,8 +63,6 @@ struct acpi_processor_cx { u32 power; u32 usage; u64 time; struct acpi_processor_cx_policy promotion; struct acpi_processor_cx_policy demotion; char desc[ACPI_CX_DESC_LEN]; }; Loading