public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox