x86: UV RTC: Always enable RTC clocksource
Always enable the RTC clocksource on UV systems. Signed-off-by: Dimitri Sivanich <sivanich@sgi.com> LKML-Reference: <20091120214826.GA20016@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
4a4de9c7d7
commit
581f202bcd
@@ -74,7 +74,6 @@ struct uv_rtc_timer_head {
|
|||||||
*/
|
*/
|
||||||
static struct uv_rtc_timer_head **blade_info __read_mostly;
|
static struct uv_rtc_timer_head **blade_info __read_mostly;
|
||||||
|
|
||||||
static int uv_rtc_enable;
|
|
||||||
static int uv_rtc_evt_enable;
|
static int uv_rtc_evt_enable;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -335,14 +334,6 @@ static void uv_rtc_interrupt(void)
|
|||||||
ced->event_handler(ced);
|
ced->event_handler(ced);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __init uv_enable_rtc(char *str)
|
|
||||||
{
|
|
||||||
uv_rtc_enable = 1;
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
__setup("uvrtc", uv_enable_rtc);
|
|
||||||
|
|
||||||
static int __init uv_enable_evt_rtc(char *str)
|
static int __init uv_enable_evt_rtc(char *str)
|
||||||
{
|
{
|
||||||
uv_rtc_evt_enable = 1;
|
uv_rtc_evt_enable = 1;
|
||||||
@@ -364,12 +355,16 @@ static __init int uv_rtc_setup_clock(void)
|
|||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
if (!uv_rtc_enable || !is_uv_system() || x86_platform_ipi_callback)
|
if (!is_uv_system())
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
clocksource_uv.mult = clocksource_hz2mult(sn_rtc_cycles_per_second,
|
clocksource_uv.mult = clocksource_hz2mult(sn_rtc_cycles_per_second,
|
||||||
clocksource_uv.shift);
|
clocksource_uv.shift);
|
||||||
|
|
||||||
|
/* If single blade, prefer tsc */
|
||||||
|
if (uv_num_possible_blades() == 1)
|
||||||
|
clocksource_uv.rating = 250;
|
||||||
|
|
||||||
rc = clocksource_register(&clocksource_uv);
|
rc = clocksource_register(&clocksource_uv);
|
||||||
if (rc)
|
if (rc)
|
||||||
printk(KERN_INFO "UV RTC clocksource failed rc %d\n", rc);
|
printk(KERN_INFO "UV RTC clocksource failed rc %d\n", rc);
|
||||||
@@ -377,7 +372,7 @@ static __init int uv_rtc_setup_clock(void)
|
|||||||
printk(KERN_INFO "UV RTC clocksource registered freq %lu MHz\n",
|
printk(KERN_INFO "UV RTC clocksource registered freq %lu MHz\n",
|
||||||
sn_rtc_cycles_per_second/(unsigned long)1E6);
|
sn_rtc_cycles_per_second/(unsigned long)1E6);
|
||||||
|
|
||||||
if (rc || !uv_rtc_evt_enable)
|
if (rc || !uv_rtc_evt_enable || x86_platform_ipi_callback)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
/* Setup and register clockevents */
|
/* Setup and register clockevents */
|
||||||
|
Reference in New Issue
Block a user