From: Clemens Ladisch <clemens@ladisch.de>
To: linux-kernel@vger.kernel.org
Cc: akpm@osdl.org, Bob Picco <bob.picco@hp.com>,
Clemens Ladisch <clemens@ladisch.de>
Subject: [PATCH 5/7] HPET-RTC: disable interrupt when no longer needed
Date: Wed, 28 Sep 2005 09:12:26 +0200 (MEST) [thread overview]
Message-ID: <20050928071226.23025.56681.balrog@turing> (raw)
In-Reply-To: <20050928071155.23025.43523.balrog@turing>
When the emulated RTC interrupt is no longer needed, we better disable
it; otherwise, we get a spurious interrupt whenever the timer has
rolled over and reaches the same comparator value.
Having a superfluous interrupt every five minutes doesn't hurt much,
but it's bad style anyway. ;-)
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Index: linux-2.6.13/arch/i386/kernel/time_hpet.c
===================================================================
--- linux-2.6.13.orig/arch/i386/kernel/time_hpet.c 2005-09-27 21:54:12.000000000 +0200
+++ linux-2.6.13/arch/i386/kernel/time_hpet.c 2005-09-27 21:56:38.000000000 +0200
@@ -319,8 +319,12 @@ static void hpet_rtc_timer_reinit(void)
{
unsigned int cfg, cnt;
- if (!(PIE_on | AIE_on | UIE_on))
+ if (unlikely(!(PIE_on | AIE_on | UIE_on))) {
+ cfg = hpet_readl(HPET_T1_CFG);
+ cfg &= ~HPET_TN_ENABLE;
+ hpet_writel(cfg, HPET_T1_CFG);
return;
+ }
if (PIE_on && (PIE_freq > DEFAULT_RTC_INT_FREQ))
hpet_rtc_int_freq = PIE_freq;
Index: linux-2.6.13/arch/x86_64/kernel/time.c
===================================================================
--- linux-2.6.13.orig/arch/x86_64/kernel/time.c 2005-09-27 21:54:12.000000000 +0200
+++ linux-2.6.13/arch/x86_64/kernel/time.c 2005-09-27 21:57:27.000000000 +0200
@@ -1149,8 +1149,12 @@ static void hpet_rtc_timer_reinit(void)
{
unsigned int cfg, cnt;
- if (!(PIE_on | AIE_on | UIE_on))
+ if (unlikely(!(PIE_on | AIE_on | UIE_on))) {
+ cfg = hpet_readl(HPET_T1_CFG);
+ cfg &= ~HPET_TN_ENABLE;
+ hpet_writel(cfg, HPET_T1_CFG);
return;
+ }
if (PIE_on && (PIE_freq > DEFAULT_RTC_INT_FREQ))
hpet_rtc_int_freq = PIE_freq;
next prev parent reply other threads:[~2005-09-28 7:13 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-28 7:11 [PATCH 0/7] HPET fixes and enhancements Clemens Ladisch
2005-09-28 7:12 ` [PATCH 1/7] HPET: remove unused variable Clemens Ladisch
2005-09-28 7:12 ` [PATCH 2/7] HPET: remove superfluous register reads Clemens Ladisch
2005-09-28 7:12 ` [PATCH 3/7] HPET: allow non-power-of-two frequencies Clemens Ladisch
2005-09-28 7:12 ` [PATCH 4/7] HPET: allow shared interrupts Clemens Ladisch
2005-09-28 7:12 ` Clemens Ladisch [this message]
2005-09-28 13:03 ` [PATCH 5/7] HPET-RTC: disable interrupt when no longer needed Venkatesh Pallipadi
2005-09-29 6:30 ` Clemens Ladisch
2005-09-28 7:12 ` [PATCH 6/7] HPET-RTC: fix timer config register accesses Clemens Ladisch
2005-09-28 13:06 ` Venkatesh Pallipadi
2005-09-28 7:12 ` [PATCH 7/7] HPET-RTC: cache the comparator register Clemens Ladisch
2005-09-28 15:44 ` [PATCH 0/7] HPET fixes and enhancements Bob Picco
2005-10-05 20:37 [PATCH 5/7] HPET-RTC: disable interrupt when no longer needed Pallipadi, Venkatesh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050928071226.23025.56681.balrog@turing \
--to=clemens@ladisch.de \
--cc=akpm@osdl.org \
--cc=bob.picco@hp.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).