Some consumer ICH9 boards (such as the Abit IP35 Pro) do not provide a BIOS
option for enabling the HPET. The same ICH workaround used for 6,7,8 can be
applied to 9. Here I enable the only PCI id that was visible on my system.
I have confirmed the HPETs work both from userspace and as a clocksource for
the running kernel (2.6.24 here) after applying this patch.
Force enabled HPET at base address 0xfed00000
hpet clockevent registered
hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0
hpet0: 4 64-bit timers, 14318180 Hz
Signed-off-by: Alistair John Strachan <[email protected]>
---
arch/x86/kernel/quirks.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c
index fab30e1..150ba29 100644
--- a/arch/x86/kernel/quirks.c
+++ b/arch/x86/kernel/quirks.c
@@ -162,6 +162,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_31,
ich_force_enable_hpet);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH8_1,
ich_force_enable_hpet);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_7,
+ ich_force_enable_hpet);
static struct pci_dev *cached_dev;
--
Cheers,
Alistair.
137/1 Warrender Park Road, Edinburgh, UK.
Patch looks good.
If BIOS does not report HPET on more of such systems we may have to add
other chipsets in ICH9 family (ICH9_8, ...) as well.
Acked-by: Venkatesh Pallipadi <[email protected]>
>-----Original Message-----
>From: Alistair John Strachan [mailto:[email protected]]
>Sent: Sunday, January 27, 2008 6:33 AM
>To: Pallipadi, Venkatesh
>Cc: Ingo Molnar; Linux Kernel Mailing List; Alistair John Strachan
>Subject: [PATCH] Force enable HPET on (some?) ICH9 boards
>
>Some consumer ICH9 boards (such as the Abit IP35 Pro) do not
>provide a BIOS
>option for enabling the HPET. The same ICH workaround used for
>6,7,8 can be
>applied to 9. Here I enable the only PCI id that was visible
>on my system.
>
>I have confirmed the HPETs work both from userspace and as a
>clocksource for
>the running kernel (2.6.24 here) after applying this patch.
>
>Force enabled HPET at base address 0xfed00000
>hpet clockevent registered
>hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0
>hpet0: 4 64-bit timers, 14318180 Hz
>
>Signed-off-by: Alistair John Strachan <[email protected]>
>
>---
> arch/x86/kernel/quirks.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
>diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c
>index fab30e1..150ba29 100644
>--- a/arch/x86/kernel/quirks.c
>+++ b/arch/x86/kernel/quirks.c
>@@ -162,6 +162,8 @@
>DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,
>PCI_DEVICE_ID_INTEL_ICH7_31,
> ich_force_enable_hpet);
> DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,
>PCI_DEVICE_ID_INTEL_ICH8_1,
> ich_force_enable_hpet);
>+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,
>PCI_DEVICE_ID_INTEL_ICH9_7,
>+ ich_force_enable_hpet);
>
>
> static struct pci_dev *cached_dev;
>
>--
>Cheers,
>Alistair.
>
>137/1 Warrender Park Road, Edinburgh, UK.
>
On Tuesday 29 January 2008 01:12:33 Pallipadi, Venkatesh wrote:
> Patch looks good.
> If BIOS does not report HPET on more of such systems we may have to add
> other chipsets in ICH9 family (ICH9_8, ...) as well.
>
> Acked-by: Venkatesh Pallipadi <[email protected]>
Hi Ingo,
Are you going to pick this patch up via the x86 tree, or shall I forward it to
Andrew or trivial@?
Do you want me to re-send with Venki's ack?
--
Cheers,
Alistair.
137/1 Warrender Park Road, Edinburgh, UK.
* Alistair John Strachan <[email protected]> wrote:
> Are you going to pick this patch up via the x86 tree, or shall I
> forward it to Andrew or trivial@?
>
> Do you want me to re-send with Venki's ack?
no need, we merged your improvement via x86.git and it is now in Linus's
latest tree:
commit dff244af014144e4ac87dfc5b6e450dc8832710e
Author: Alistair John Strachan <[email protected]>
Date: Wed Jan 30 13:33:39 2008 +0100
x86: force enable HPET on (some?) ICH9 boards
it should first show up in v2.6.25-rc1. Thanks,
Ingo