* [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
* 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
* [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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.