* [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern
@ 2014-04-24 8:18 Feng Tang
2014-04-24 8:18 ` [PATCH 2/2] x86: Add quirk to disable HPET for baytrail platform Feng Tang
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Feng Tang @ 2014-04-24 8:18 UTC (permalink / raw)
To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, linux-kernel
Cc: Clemens Ladisch, John Stultz, Feng Tang
HPET on some platform has accuracy problem. Making
"boot_hpet_disable" extern so that we can runtime disable
the HPET timer by using quirk to check the platform.
Signed-off-by: Feng Tang <feng.tang@intel.com>
---
arch/x86/include/asm/hpet.h | 1 +
arch/x86/kernel/hpet.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/hpet.h b/arch/x86/include/asm/hpet.h
index b18df57..36f7125 100644
--- a/arch/x86/include/asm/hpet.h
+++ b/arch/x86/include/asm/hpet.h
@@ -63,6 +63,7 @@
/* hpet memory map physical address */
extern unsigned long hpet_address;
extern unsigned long force_hpet_address;
+extern int boot_hpet_disable;
extern u8 hpet_blockid;
extern int hpet_force_user;
extern u8 hpet_msi_disable;
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 8d80ae0..4177bfb 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -88,7 +88,7 @@ static inline void hpet_clear_mapping(void)
/*
* HPET command line enable / disable
*/
-static int boot_hpet_disable;
+int boot_hpet_disable;
int hpet_force_user;
static int hpet_verbose;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/2] x86: Add quirk to disable HPET for baytrail platform 2014-04-24 8:18 [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern Feng Tang @ 2014-04-24 8:18 ` Feng Tang 2014-05-08 10:45 ` [tip:x86/urgent] x86/intel: Add quirk to disable HPET for the Baytrail platform tip-bot for Feng Tang 2014-05-08 6:28 ` [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern Feng Tang 2014-05-08 10:45 ` [tip:x86/urgent] x86/hpet: " tip-bot for Feng Tang 2 siblings, 1 reply; 6+ messages in thread From: Feng Tang @ 2014-04-24 8:18 UTC (permalink / raw) To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, linux-kernel Cc: Clemens Ladisch, John Stultz, Feng Tang HPET on current Baytrail platform has accuracy problem to be used as reliable clocksource/clockevent, so add a early quirk to disable it. Signed-off-by: Feng Tang <feng.tang@intel.com> --- arch/x86/kernel/early-quirks.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c index 6e2537c..67c33fd 100644 --- a/arch/x86/kernel/early-quirks.c +++ b/arch/x86/kernel/early-quirks.c @@ -17,6 +17,7 @@ #include <asm/dma.h> #include <asm/io_apic.h> #include <asm/apic.h> +#include <asm/hpet.h> #include <asm/iommu.h> #include <asm/gart.h> #include <asm/irq_remapping.h> @@ -530,6 +531,15 @@ static void __init intel_graphics_stolen(int num, int slot, int func) } } +static void __init force_disable_hpet(int num, int slot, int func) +{ +#ifdef CONFIG_HPET_TIMER + boot_hpet_disable = 1; + pr_info("Will Disable HPET for this platform\n"); +#endif +} + + #define QFLAG_APPLY_ONCE 0x1 #define QFLAG_APPLIED 0x2 #define QFLAG_DONE (QFLAG_APPLY_ONCE|QFLAG_APPLIED) @@ -567,6 +577,12 @@ static struct chipset early_qrk[] __initdata = { PCI_BASE_CLASS_BRIDGE, 0, intel_remapping_check }, { PCI_VENDOR_ID_INTEL, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA, PCI_ANY_ID, QFLAG_APPLY_ONCE, intel_graphics_stolen }, + /* + * HPET on current version of Baytrail platform has accuracy + * problem, disable it for now + */ + { PCI_VENDOR_ID_INTEL, 0x0f00, + PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet}, {} }; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:x86/urgent] x86/intel: Add quirk to disable HPET for the Baytrail platform 2014-04-24 8:18 ` [PATCH 2/2] x86: Add quirk to disable HPET for baytrail platform Feng Tang @ 2014-05-08 10:45 ` tip-bot for Feng Tang 0 siblings, 0 replies; 6+ messages in thread From: tip-bot for Feng Tang @ 2014-05-08 10:45 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, hpa, mingo, torvalds, john.stultz, tglx, feng.tang, clemens Commit-ID: 62187910b0fc7a75cfec9c30fda58ce2f39d689b Gitweb: http://git.kernel.org/tip/62187910b0fc7a75cfec9c30fda58ce2f39d689b Author: Feng Tang <feng.tang@intel.com> AuthorDate: Thu, 24 Apr 2014 16:18:18 +0800 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Thu, 8 May 2014 08:15:34 +0200 x86/intel: Add quirk to disable HPET for the Baytrail platform HPET on current Baytrail platform has accuracy problem to be used as reliable clocksource/clockevent, so add a early quirk to disable it. Signed-off-by: Feng Tang <feng.tang@intel.com> Cc: Clemens Ladisch <clemens@ladisch.de> Cc: John Stultz <john.stultz@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/1398327498-13163-2-git-send-email-feng.tang@intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org> --- arch/x86/kernel/early-quirks.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c index 6e2537c..6cda0ba 100644 --- a/arch/x86/kernel/early-quirks.c +++ b/arch/x86/kernel/early-quirks.c @@ -17,6 +17,7 @@ #include <asm/dma.h> #include <asm/io_apic.h> #include <asm/apic.h> +#include <asm/hpet.h> #include <asm/iommu.h> #include <asm/gart.h> #include <asm/irq_remapping.h> @@ -530,6 +531,15 @@ static void __init intel_graphics_stolen(int num, int slot, int func) } } +static void __init force_disable_hpet(int num, int slot, int func) +{ +#ifdef CONFIG_HPET_TIMER + boot_hpet_disable = 1; + pr_info("x86/hpet: Will disable the HPET for this platform because it's not reliable\n"); +#endif +} + + #define QFLAG_APPLY_ONCE 0x1 #define QFLAG_APPLIED 0x2 #define QFLAG_DONE (QFLAG_APPLY_ONCE|QFLAG_APPLIED) @@ -567,6 +577,12 @@ static struct chipset early_qrk[] __initdata = { PCI_BASE_CLASS_BRIDGE, 0, intel_remapping_check }, { PCI_VENDOR_ID_INTEL, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA, PCI_ANY_ID, QFLAG_APPLY_ONCE, intel_graphics_stolen }, + /* + * HPET on current version of Baytrail platform has accuracy + * problems, disable it for now: + */ + { PCI_VENDOR_ID_INTEL, 0x0f00, + PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet}, {} }; ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern 2014-04-24 8:18 [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern Feng Tang 2014-04-24 8:18 ` [PATCH 2/2] x86: Add quirk to disable HPET for baytrail platform Feng Tang @ 2014-05-08 6:28 ` Feng Tang 2014-05-08 6:32 ` Ingo Molnar 2014-05-08 10:45 ` [tip:x86/urgent] x86/hpet: " tip-bot for Feng Tang 2 siblings, 1 reply; 6+ messages in thread From: Feng Tang @ 2014-05-08 6:28 UTC (permalink / raw) To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, linux-kernel Cc: Clemens Ladisch, John Stultz Ping for comments for these 2 patches. Thanks! - Feng On Thu, Apr 24, 2014 at 04:18:17PM +0800, Feng Tang wrote: > HPET on some platform has accuracy problem. Making > "boot_hpet_disable" extern so that we can runtime disable > the HPET timer by using quirk to check the platform. > > Signed-off-by: Feng Tang <feng.tang@intel.com> > --- > arch/x86/include/asm/hpet.h | 1 + > arch/x86/kernel/hpet.c | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/include/asm/hpet.h b/arch/x86/include/asm/hpet.h > index b18df57..36f7125 100644 > --- a/arch/x86/include/asm/hpet.h > +++ b/arch/x86/include/asm/hpet.h > @@ -63,6 +63,7 @@ > /* hpet memory map physical address */ > extern unsigned long hpet_address; > extern unsigned long force_hpet_address; > +extern int boot_hpet_disable; > extern u8 hpet_blockid; > extern int hpet_force_user; > extern u8 hpet_msi_disable; > diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c > index 8d80ae0..4177bfb 100644 > --- a/arch/x86/kernel/hpet.c > +++ b/arch/x86/kernel/hpet.c > @@ -88,7 +88,7 @@ static inline void hpet_clear_mapping(void) > /* > * HPET command line enable / disable > */ > -static int boot_hpet_disable; > +int boot_hpet_disable; > int hpet_force_user; > static int hpet_verbose; > > -- > 1.7.9.5 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern 2014-05-08 6:28 ` [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern Feng Tang @ 2014-05-08 6:32 ` Ingo Molnar 0 siblings, 0 replies; 6+ messages in thread From: Ingo Molnar @ 2014-05-08 6:32 UTC (permalink / raw) To: Feng Tang Cc: Thomas Gleixner, H. Peter Anvin, linux-kernel, Clemens Ladisch, John Stultz * Feng Tang <feng.tang@intel.com> wrote: > Ping for comments for these 2 patches. Thanks! I applied them yesterday and will push them out later today most likely, depending on testing results. Thanks, Ingo ^ permalink raw reply [flat|nested] 6+ messages in thread
* [tip:x86/urgent] x86/hpet: Make boot_hpet_disable extern 2014-04-24 8:18 [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern Feng Tang 2014-04-24 8:18 ` [PATCH 2/2] x86: Add quirk to disable HPET for baytrail platform Feng Tang 2014-05-08 6:28 ` [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern Feng Tang @ 2014-05-08 10:45 ` tip-bot for Feng Tang 2 siblings, 0 replies; 6+ messages in thread From: tip-bot for Feng Tang @ 2014-05-08 10:45 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, hpa, mingo, torvalds, john.stultz, tglx, feng.tang, clemens Commit-ID: f10f383d8414bfe3357e24432ed8a26eeb58ffb8 Gitweb: http://git.kernel.org/tip/f10f383d8414bfe3357e24432ed8a26eeb58ffb8 Author: Feng Tang <feng.tang@intel.com> AuthorDate: Thu, 24 Apr 2014 16:18:17 +0800 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Thu, 8 May 2014 08:15:34 +0200 x86/hpet: Make boot_hpet_disable extern HPET on some platform has accuracy problem. Making "boot_hpet_disable" extern so that we can runtime disable the HPET timer by using quirk to check the platform. Signed-off-by: Feng Tang <feng.tang@intel.com> Cc: Clemens Ladisch <clemens@ladisch.de> Cc: John Stultz <john.stultz@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/1398327498-13163-1-git-send-email-feng.tang@intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org> --- arch/x86/include/asm/hpet.h | 1 + arch/x86/kernel/hpet.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/include/asm/hpet.h b/arch/x86/include/asm/hpet.h index b18df57..36f7125 100644 --- a/arch/x86/include/asm/hpet.h +++ b/arch/x86/include/asm/hpet.h @@ -63,6 +63,7 @@ /* hpet memory map physical address */ extern unsigned long hpet_address; extern unsigned long force_hpet_address; +extern int boot_hpet_disable; extern u8 hpet_blockid; extern int hpet_force_user; extern u8 hpet_msi_disable; diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c index 8d80ae0..4177bfb 100644 --- a/arch/x86/kernel/hpet.c +++ b/arch/x86/kernel/hpet.c @@ -88,7 +88,7 @@ static inline void hpet_clear_mapping(void) /* * HPET command line enable / disable */ -static int boot_hpet_disable; +int boot_hpet_disable; int hpet_force_user; static int hpet_verbose; ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-05-08 10:46 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-04-24 8:18 [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern Feng Tang 2014-04-24 8:18 ` [PATCH 2/2] x86: Add quirk to disable HPET for baytrail platform Feng Tang 2014-05-08 10:45 ` [tip:x86/urgent] x86/intel: Add quirk to disable HPET for the Baytrail platform tip-bot for Feng Tang 2014-05-08 6:28 ` [PATCH 1/2] x86, hpet: Make boot_hpet_disable extern Feng Tang 2014-05-08 6:32 ` Ingo Molnar 2014-05-08 10:45 ` [tip:x86/urgent] x86/hpet: " tip-bot for Feng Tang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox