From: Ingo Molnar <mingo@elte.hu>
To: john stultz <johnstul@us.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
lkml <linux-kernel@vger.kernel.org>,
Clark Williams <williams@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH][RFC] Fix for LS21 + HPET = boot hang (since 2.6.24-rc1)
Date: Fri, 13 Feb 2009 09:12:32 +0100 [thread overview]
Message-ID: <20090213081232.GA1670@elte.hu> (raw)
In-Reply-To: <1234493333.7042.2.camel@localhost.localdomain>
* john stultz <johnstul@us.ibm.com> wrote:
> Between 2.6.23 and 2.6.24-rc1 a change was made that broke IBM LS21
> systems that had the HPET enabled in the BIOS, resulting in boot hangs
> for x86_64.
>
> Specifically commit b8ce33590687888ebb900d09557b8807c4539022, which
> merges the i386 and x86_64 HPET code.
>
> Prior to this commit, when we setup the HPET timers in x86_64, we did
> the following:
>
> hpet_writel(HPET_TN_ENABLE | HPET_TN_PERIODIC | HPET_TN_SETVAL |
> HPET_TN_32BIT, HPET_T0_CFG);
>
> However after the i386/x86_64 HPET merge, we do the following:
>
> cfg = hpet_readl(HPET_Tn_CFG(timer));
> cfg |= HPET_TN_ENABLE | HPET_TN_PERIODIC |
> HPET_TN_SETVAL | HPET_TN_32BIT;
> hpet_writel(cfg, HPET_Tn_CFG(timer));
>
>
> However on LS21s with HPET enabled in the BIOS, the HPET_T0_CFG register
> boots with Level triggered interrupts (HPET_TN_LEVEL) enabled. This
> causes the periodic interrupt to be not so periodic, and that results in
> the boot time hang I reported earlier in the delay calibration.
>
>
> My fix: Always disable HPET_TN_LEVEL when setting up periodic mode.
>
> Does that seem ok to folks? I've not been able to run this on an i386
> system, so it could use some extra testing. So while it is a regression
> fix, the bug has been around for awhile, so I'd probably queue it for
> 2.6.30.
Makes perfect sense - and i dont think we can actually survive the
bootup with this IRQ being level-triggered, so there's little risk
of introducing additional regressions. I'll give it a good workout
nevertheless.
Applied to tip:x86/urgent, thanks John for tracking this one down!
Ingo
prev parent reply other threads:[~2009-02-13 8:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-07 2:36 LS21 + HPET = boot hang (since 2.6.24-rc1) john stultz
2009-02-10 8:33 ` John Stultz
2009-02-13 2:48 ` [PATCH][RFC] Fix for " john stultz
2009-02-13 8:12 ` Ingo Molnar [this message]
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=20090213081232.GA1670@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@linux-foundation.org \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=williams@redhat.com \
/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 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.