x86: enable HPET on ICH3 and ICH4
ICH3 and ICH4 have undocumented HPET capabilities. This patch enables HPET for platforms based around these ICHs. Tested on various ICH3 and ICH4 platforms. Because HPET is not officially documented for ICH3/4 and may not have been validated by chipset folks, we're on thin ice here. I'd recommend testing this patch in -hrt or -mm for a while and wait for success/failure reports before feeding it upstream. tglx: depends on the force_hpet command line option ! Signed-off-by: Udo A. Steinberg <us15@os.inf.tu-dresden.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
b196884e2f
commit
158ad3260b
1 changed files with 18 additions and 0 deletions
|
@ -236,6 +236,24 @@ static void old_ich_force_enable_hpet(struct pci_dev *dev)
|
|||
printk(KERN_DEBUG "Failed to force enable HPET\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* Undocumented chipset features. Make sure that the user enforced
|
||||
* this.
|
||||
*/
|
||||
static void old_ich_force_enable_hpet_user(struct pci_dev *dev)
|
||||
{
|
||||
if (hpet_force_user)
|
||||
old_ich_force_enable_hpet(dev);
|
||||
}
|
||||
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0,
|
||||
old_ich_force_enable_hpet_user);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_12,
|
||||
old_ich_force_enable_hpet_user);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0,
|
||||
old_ich_force_enable_hpet_user);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12,
|
||||
old_ich_force_enable_hpet_user);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0,
|
||||
old_ich_force_enable_hpet);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_12,
|
||||
|
|
Loading…
Reference in a new issue