|
@@ -175,6 +175,12 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_7,
|
|
|
|
|
|
static struct pci_dev *cached_dev;
|
|
|
|
|
|
+static void hpet_print_force_info(void)
|
|
|
+{
|
|
|
+ printk(KERN_INFO "HPET not enabled in BIOS. "
|
|
|
+ "You might try hpet=force boot option\n");
|
|
|
+}
|
|
|
+
|
|
|
static void old_ich_force_hpet_resume(void)
|
|
|
{
|
|
|
u32 val;
|
|
@@ -254,6 +260,8 @@ static void old_ich_force_enable_hpet_user(struct pci_dev *dev)
|
|
|
{
|
|
|
if (hpet_force_user)
|
|
|
old_ich_force_enable_hpet(dev);
|
|
|
+ else
|
|
|
+ hpet_print_force_info();
|
|
|
}
|
|
|
|
|
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0,
|
|
@@ -291,8 +299,13 @@ static void vt8237_force_enable_hpet(struct pci_dev *dev)
|
|
|
{
|
|
|
u32 uninitialized_var(val);
|
|
|
|
|
|
- if (!hpet_force_user || hpet_address || force_hpet_address)
|
|
|
+ if (hpet_address || force_hpet_address)
|
|
|
+ return;
|
|
|
+
|
|
|
+ if (!hpet_force_user) {
|
|
|
+ hpet_print_force_info();
|
|
|
return;
|
|
|
+ }
|
|
|
|
|
|
pci_read_config_dword(dev, 0x68, &val);
|
|
|
/*
|
|
@@ -341,8 +354,13 @@ static void ati_force_enable_hpet(struct pci_dev *dev)
|
|
|
{
|
|
|
u32 uninitialized_var(val);
|
|
|
|
|
|
- if (!hpet_force_user || hpet_address || force_hpet_address)
|
|
|
+ if (hpet_address || force_hpet_address)
|
|
|
+ return;
|
|
|
+
|
|
|
+ if (!hpet_force_user) {
|
|
|
+ hpet_print_force_info();
|
|
|
return;
|
|
|
+ }
|
|
|
|
|
|
pci_write_config_dword(dev, 0x14, 0xfed00000);
|
|
|
pci_read_config_dword(dev, 0x14, &val);
|
|
@@ -369,8 +387,13 @@ static void nvidia_force_enable_hpet(struct pci_dev *dev)
|
|
|
{
|
|
|
u32 uninitialized_var(val);
|
|
|
|
|
|
- if (!hpet_force_user || hpet_address || force_hpet_address)
|
|
|
+ if (hpet_address || force_hpet_address)
|
|
|
+ return;
|
|
|
+
|
|
|
+ if (!hpet_force_user) {
|
|
|
+ hpet_print_force_info();
|
|
|
return;
|
|
|
+ }
|
|
|
|
|
|
pci_write_config_dword(dev, 0x44, 0xfed00001);
|
|
|
pci_read_config_dword(dev, 0x44, &val);
|