Commit 52ae346b authored by Daniel Drake's avatar Daniel Drake Committed by Ingo Molnar

x86/apic: Rename 'lapic_timer_frequency' to 'lapic_timer_period'

This variable is a period unit (number of clock cycles per jiffy),
not a frequency (which is number of cycles per second).

Give it a more appropriate name.
Suggested-by: default avatarIngo Molnar <mingo@kernel.org>
Signed-off-by: default avatarDaniel Drake <drake@endlessm.com>
Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: len.brown@intel.com
Cc: linux@endlessm.com
Cc: rafael.j.wysocki@intel.com
Link: http://lkml.kernel.org/r/20190509055417.13152-2-drake@endlessm.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 604dc917
...@@ -52,7 +52,7 @@ extern unsigned int apic_verbosity; ...@@ -52,7 +52,7 @@ extern unsigned int apic_verbosity;
extern int local_apic_timer_c2_ok; extern int local_apic_timer_c2_ok;
extern int disable_apic; extern int disable_apic;
extern unsigned int lapic_timer_frequency; extern unsigned int lapic_timer_period;
extern enum apic_intr_mode_id apic_intr_mode; extern enum apic_intr_mode_id apic_intr_mode;
enum apic_intr_mode_id { enum apic_intr_mode_id {
......
...@@ -194,7 +194,7 @@ static struct resource lapic_resource = { ...@@ -194,7 +194,7 @@ static struct resource lapic_resource = {
.flags = IORESOURCE_MEM | IORESOURCE_BUSY, .flags = IORESOURCE_MEM | IORESOURCE_BUSY,
}; };
unsigned int lapic_timer_frequency = 0; unsigned int lapic_timer_period = 0;
static void apic_pm_activate(void); static void apic_pm_activate(void);
...@@ -500,7 +500,7 @@ lapic_timer_set_periodic_oneshot(struct clock_event_device *evt, bool oneshot) ...@@ -500,7 +500,7 @@ lapic_timer_set_periodic_oneshot(struct clock_event_device *evt, bool oneshot)
if (evt->features & CLOCK_EVT_FEAT_DUMMY) if (evt->features & CLOCK_EVT_FEAT_DUMMY)
return 0; return 0;
__setup_APIC_LVTT(lapic_timer_frequency, oneshot, 1); __setup_APIC_LVTT(lapic_timer_period, oneshot, 1);
return 0; return 0;
} }
...@@ -804,11 +804,11 @@ calibrate_by_pmtimer(long deltapm, long *delta, long *deltatsc) ...@@ -804,11 +804,11 @@ calibrate_by_pmtimer(long deltapm, long *delta, long *deltatsc)
static int __init lapic_init_clockevent(void) static int __init lapic_init_clockevent(void)
{ {
if (!lapic_timer_frequency) if (!lapic_timer_period)
return -1; return -1;
/* Calculate the scaled math multiplication factor */ /* Calculate the scaled math multiplication factor */
lapic_clockevent.mult = div_sc(lapic_timer_frequency/APIC_DIVISOR, lapic_clockevent.mult = div_sc(lapic_timer_period/APIC_DIVISOR,
TICK_NSEC, lapic_clockevent.shift); TICK_NSEC, lapic_clockevent.shift);
lapic_clockevent.max_delta_ns = lapic_clockevent.max_delta_ns =
clockevent_delta2ns(0x7FFFFFFF, &lapic_clockevent); clockevent_delta2ns(0x7FFFFFFF, &lapic_clockevent);
...@@ -838,7 +838,7 @@ static int __init calibrate_APIC_clock(void) ...@@ -838,7 +838,7 @@ static int __init calibrate_APIC_clock(void)
*/ */
if (!lapic_init_clockevent()) { if (!lapic_init_clockevent()) {
apic_printk(APIC_VERBOSE, "lapic timer already calibrated %d\n", apic_printk(APIC_VERBOSE, "lapic timer already calibrated %d\n",
lapic_timer_frequency); lapic_timer_period);
/* /*
* Direct calibration methods must have an always running * Direct calibration methods must have an always running
* local APIC timer, no need for broadcast timer. * local APIC timer, no need for broadcast timer.
...@@ -883,13 +883,13 @@ static int __init calibrate_APIC_clock(void) ...@@ -883,13 +883,13 @@ static int __init calibrate_APIC_clock(void)
pm_referenced = !calibrate_by_pmtimer(lapic_cal_pm2 - lapic_cal_pm1, pm_referenced = !calibrate_by_pmtimer(lapic_cal_pm2 - lapic_cal_pm1,
&delta, &deltatsc); &delta, &deltatsc);
lapic_timer_frequency = (delta * APIC_DIVISOR) / LAPIC_CAL_LOOPS; lapic_timer_period = (delta * APIC_DIVISOR) / LAPIC_CAL_LOOPS;
lapic_init_clockevent(); lapic_init_clockevent();
apic_printk(APIC_VERBOSE, "..... delta %ld\n", delta); apic_printk(APIC_VERBOSE, "..... delta %ld\n", delta);
apic_printk(APIC_VERBOSE, "..... mult: %u\n", lapic_clockevent.mult); apic_printk(APIC_VERBOSE, "..... mult: %u\n", lapic_clockevent.mult);
apic_printk(APIC_VERBOSE, "..... calibration result: %u\n", apic_printk(APIC_VERBOSE, "..... calibration result: %u\n",
lapic_timer_frequency); lapic_timer_period);
if (boot_cpu_has(X86_FEATURE_TSC)) { if (boot_cpu_has(X86_FEATURE_TSC)) {
apic_printk(APIC_VERBOSE, "..... CPU clock speed is " apic_printk(APIC_VERBOSE, "..... CPU clock speed is "
...@@ -900,13 +900,13 @@ static int __init calibrate_APIC_clock(void) ...@@ -900,13 +900,13 @@ static int __init calibrate_APIC_clock(void)
apic_printk(APIC_VERBOSE, "..... host bus clock speed is " apic_printk(APIC_VERBOSE, "..... host bus clock speed is "
"%u.%04u MHz.\n", "%u.%04u MHz.\n",
lapic_timer_frequency / (1000000 / HZ), lapic_timer_period / (1000000 / HZ),
lapic_timer_frequency % (1000000 / HZ)); lapic_timer_period % (1000000 / HZ));
/* /*
* Do a sanity check on the APIC calibration result * Do a sanity check on the APIC calibration result
*/ */
if (lapic_timer_frequency < (1000000 / HZ)) { if (lapic_timer_period < (1000000 / HZ)) {
local_irq_enable(); local_irq_enable();
pr_warning("APIC frequency too slow, disabling apic timer\n"); pr_warning("APIC frequency too slow, disabling apic timer\n");
return -1; return -1;
......
...@@ -270,9 +270,9 @@ static void __init ms_hyperv_init_platform(void) ...@@ -270,9 +270,9 @@ static void __init ms_hyperv_init_platform(void)
rdmsrl(HV_X64_MSR_APIC_FREQUENCY, hv_lapic_frequency); rdmsrl(HV_X64_MSR_APIC_FREQUENCY, hv_lapic_frequency);
hv_lapic_frequency = div_u64(hv_lapic_frequency, HZ); hv_lapic_frequency = div_u64(hv_lapic_frequency, HZ);
lapic_timer_frequency = hv_lapic_frequency; lapic_timer_period = hv_lapic_frequency;
pr_info("Hyper-V: LAPIC Timer Frequency: %#x\n", pr_info("Hyper-V: LAPIC Timer Frequency: %#x\n",
lapic_timer_frequency); lapic_timer_period);
} }
register_nmi_handler(NMI_UNKNOWN, hv_nmi_unknown, NMI_FLAG_FIRST, register_nmi_handler(NMI_UNKNOWN, hv_nmi_unknown, NMI_FLAG_FIRST,
......
...@@ -157,7 +157,7 @@ static void __init vmware_platform_setup(void) ...@@ -157,7 +157,7 @@ static void __init vmware_platform_setup(void)
#ifdef CONFIG_X86_LOCAL_APIC #ifdef CONFIG_X86_LOCAL_APIC
/* Skip lapic calibration since we know the bus frequency. */ /* Skip lapic calibration since we know the bus frequency. */
lapic_timer_frequency = ecx / HZ; lapic_timer_period = ecx / HZ;
pr_info("Host bus clock speed read from hypervisor : %u Hz\n", pr_info("Host bus clock speed read from hypervisor : %u Hz\n",
ecx); ecx);
#endif #endif
......
...@@ -45,7 +45,7 @@ static void jailhouse_get_wallclock(struct timespec64 *now) ...@@ -45,7 +45,7 @@ static void jailhouse_get_wallclock(struct timespec64 *now)
static void __init jailhouse_timer_init(void) static void __init jailhouse_timer_init(void)
{ {
lapic_timer_frequency = setup_data.apic_khz * (1000 / HZ); lapic_timer_period = setup_data.apic_khz * (1000 / HZ);
} }
static unsigned long jailhouse_get_tsc(void) static unsigned long jailhouse_get_tsc(void)
......
...@@ -71,7 +71,7 @@ static const struct x86_cpu_id tsc_msr_cpu_ids[] = { ...@@ -71,7 +71,7 @@ static const struct x86_cpu_id tsc_msr_cpu_ids[] = {
/* /*
* MSR-based CPU/TSC frequency discovery for certain CPUs. * MSR-based CPU/TSC frequency discovery for certain CPUs.
* *
* Set global "lapic_timer_frequency" to bus_clock_cycles/jiffy * Set global "lapic_timer_period" to bus_clock_cycles/jiffy
* Return processor base frequency in KHz, or 0 on failure. * Return processor base frequency in KHz, or 0 on failure.
*/ */
unsigned long cpu_khz_from_msr(void) unsigned long cpu_khz_from_msr(void)
...@@ -104,7 +104,7 @@ unsigned long cpu_khz_from_msr(void) ...@@ -104,7 +104,7 @@ unsigned long cpu_khz_from_msr(void)
res = freq * ratio; res = freq * ratio;
#ifdef CONFIG_X86_LOCAL_APIC #ifdef CONFIG_X86_LOCAL_APIC
lapic_timer_frequency = (freq * 1000) / HZ; lapic_timer_period = (freq * 1000) / HZ;
#endif #endif
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment