time.c (a4c5a355422920bcbfe3fd1f01aead2d3a2a820c) | time.c (6601ec1c2ba929430f5585ce7f9d9960b0e0a01d) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Common time routines among all ppc machines. 4 * 5 * Written by Cort Dougan (cort@cs.nmt.edu) to merge 6 * Paul Mackerras' version and mine for PReP and Pmac. 7 * MPC8xx/MBX changes by Dan Malek (dmalek@jlc.net). 8 * Converted for 64-bit by Mike Corrigan (mikejc@us.ibm.com) --- 581 unchanged lines hidden (view full) --- 590 irq_enter(); 591 trace_timer_interrupt_entry(regs); 592 593 if (test_irq_work_pending()) { 594 clear_irq_work_pending(); 595 irq_work_run(); 596 } 597 | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Common time routines among all ppc machines. 4 * 5 * Written by Cort Dougan (cort@cs.nmt.edu) to merge 6 * Paul Mackerras' version and mine for PReP and Pmac. 7 * MPC8xx/MBX changes by Dan Malek (dmalek@jlc.net). 8 * Converted for 64-bit by Mike Corrigan (mikejc@us.ibm.com) --- 581 unchanged lines hidden (view full) --- 590 irq_enter(); 591 trace_timer_interrupt_entry(regs); 592 593 if (test_irq_work_pending()) { 594 clear_irq_work_pending(); 595 irq_work_run(); 596 } 597 |
598 now = get_tb_or_rtc(); | 598 now = get_tb(); |
599 if (now >= *next_tb) { 600 *next_tb = ~(u64)0; 601 if (evt->event_handler) 602 evt->event_handler(evt); 603 __this_cpu_inc(irq_stat.timer_irqs_event); 604 } else { 605 now = *next_tb - now; 606 if (now <= decrementer_max) --- 325 unchanged lines hidden (view full) --- 932 933 printk(KERN_INFO "clocksource: %s mult[%x] shift[%d] registered\n", 934 clock->name, clock->mult, clock->shift); 935} 936 937static int decrementer_set_next_event(unsigned long evt, 938 struct clock_event_device *dev) 939{ | 599 if (now >= *next_tb) { 600 *next_tb = ~(u64)0; 601 if (evt->event_handler) 602 evt->event_handler(evt); 603 __this_cpu_inc(irq_stat.timer_irqs_event); 604 } else { 605 now = *next_tb - now; 606 if (now <= decrementer_max) --- 325 unchanged lines hidden (view full) --- 932 933 printk(KERN_INFO "clocksource: %s mult[%x] shift[%d] registered\n", 934 clock->name, clock->mult, clock->shift); 935} 936 937static int decrementer_set_next_event(unsigned long evt, 938 struct clock_event_device *dev) 939{ |
940 __this_cpu_write(decrementers_next_tb, get_tb_or_rtc() + evt); | 940 __this_cpu_write(decrementers_next_tb, get_tb() + evt); |
941 set_dec(evt); 942 943 /* We may have raced with new irq work */ 944 if (test_irq_work_pending()) 945 set_dec(1); 946 947 return 0; 948} --- 117 unchanged lines hidden (view full) --- 1066 scale = res.result_low; 1067 for (shift = 0; res.result_high != 0; ++shift) { 1068 scale = (scale >> 1) | (res.result_high << 63); 1069 res.result_high >>= 1; 1070 } 1071 tb_to_ns_scale = scale; 1072 tb_to_ns_shift = shift; 1073 /* Save the current timebase to pretty up CONFIG_PRINTK_TIME */ | 941 set_dec(evt); 942 943 /* We may have raced with new irq work */ 944 if (test_irq_work_pending()) 945 set_dec(1); 946 947 return 0; 948} --- 117 unchanged lines hidden (view full) --- 1066 scale = res.result_low; 1067 for (shift = 0; res.result_high != 0; ++shift) { 1068 scale = (scale >> 1) | (res.result_high << 63); 1069 res.result_high >>= 1; 1070 } 1071 tb_to_ns_scale = scale; 1072 tb_to_ns_shift = shift; 1073 /* Save the current timebase to pretty up CONFIG_PRINTK_TIME */ |
1074 boot_tb = get_tb_or_rtc(); | 1074 boot_tb = get_tb(); |
1075 1076 /* If platform provided a timezone (pmac), we correct the time */ 1077 if (timezone_offset) { 1078 sys_tz.tz_minuteswest = -timezone_offset / 60; 1079 sys_tz.tz_dsttime = 0; 1080 } 1081 1082 vdso_data->tb_update_count = 0; --- 101 unchanged lines hidden --- | 1075 1076 /* If platform provided a timezone (pmac), we correct the time */ 1077 if (timezone_offset) { 1078 sys_tz.tz_minuteswest = -timezone_offset / 60; 1079 sys_tz.tz_dsttime = 0; 1080 } 1081 1082 vdso_data->tb_update_count = 0; --- 101 unchanged lines hidden --- |