diff options
Diffstat (limited to 'arch/x86/kernel/hpet.c')
| -rw-r--r-- | arch/x86/kernel/hpet.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c index ba6e65884603..ad80a1c718c6 100644 --- a/arch/x86/kernel/hpet.c +++ b/arch/x86/kernel/hpet.c | |||
| @@ -34,6 +34,8 @@ | |||
| 34 | */ | 34 | */ |
| 35 | unsigned long hpet_address; | 35 | unsigned long hpet_address; |
| 36 | u8 hpet_blockid; /* OS timer block num */ | 36 | u8 hpet_blockid; /* OS timer block num */ |
| 37 | u8 hpet_msi_disable; | ||
| 38 | |||
| 37 | #ifdef CONFIG_PCI_MSI | 39 | #ifdef CONFIG_PCI_MSI |
| 38 | static unsigned long hpet_num_timers; | 40 | static unsigned long hpet_num_timers; |
| 39 | #endif | 41 | #endif |
| @@ -596,6 +598,9 @@ static void hpet_msi_capability_lookup(unsigned int start_timer) | |||
| 596 | unsigned int num_timers_used = 0; | 598 | unsigned int num_timers_used = 0; |
| 597 | int i; | 599 | int i; |
| 598 | 600 | ||
| 601 | if (hpet_msi_disable) | ||
| 602 | return; | ||
| 603 | |||
| 599 | if (boot_cpu_has(X86_FEATURE_ARAT)) | 604 | if (boot_cpu_has(X86_FEATURE_ARAT)) |
| 600 | return; | 605 | return; |
| 601 | id = hpet_readl(HPET_ID); | 606 | id = hpet_readl(HPET_ID); |
| @@ -928,6 +933,9 @@ static __init int hpet_late_init(void) | |||
| 928 | hpet_reserve_platform_timers(hpet_readl(HPET_ID)); | 933 | hpet_reserve_platform_timers(hpet_readl(HPET_ID)); |
| 929 | hpet_print_config(); | 934 | hpet_print_config(); |
| 930 | 935 | ||
| 936 | if (hpet_msi_disable) | ||
| 937 | return 0; | ||
| 938 | |||
| 931 | if (boot_cpu_has(X86_FEATURE_ARAT)) | 939 | if (boot_cpu_has(X86_FEATURE_ARAT)) |
| 932 | return 0; | 940 | return 0; |
| 933 | 941 | ||
