From: Tony Lindgren <tony@atomide.com>
To: Paul Walmsley <paul@pwsan.com>
Cc: linux-omap@vger.kernel.org,
Peter De Schrijver <peter.de-schrijver@nokia.com>
Subject: Re: [PATCH 0/9] TWL4030 bugfixes and cleanups: version 2
Date: Mon, 4 Aug 2008 17:16:00 +0300 [thread overview]
Message-ID: <20080804141559.GI8885@atomide.com> (raw)
In-Reply-To: <20080722234351.16719.89367.stgit@localhost.localdomain>
* Paul Walmsley <paul@pwsan.com> [080723 08:11]:
> [ This is the second version of these patches - they now check the
> SIH_CTRL.COR bit to determine whether to read or write to clear ]
>
> At boot, twl_init_irq() tries to mask off all TWL4030 secondary
> interrupts and clear them, since no secondary interrupt handlers are
> registered yet (that happens later in the boot).
>
> However, this code is flawed. MADC, BCI, keypad, and GPIO ISRs are
> either not cleared or are incompletely cleared. Some BCI register
> addresses are nonsensical. And some code attempts to clear ISRs
> before masking IMRs, which is race-prone (an interrupt could occur
> after the ISR clear, but before the mask).
>
> These problems can cause large numbers of boot messages similar to
> this:
>
> TWL4030 module irq 368 is disabled but can't be masked!
>
> and I2C transmit overflows, both observed during boot on the
> BeagleBoard here. The actual IRQ number sometimes varied depending on
> which interrupt was unacknowledged.
>
> This series fixes these issues and does some code cleanup, saving 272
> bytes.
>
> Thanks to Philip Balister <philip@balister.org>, Koen Kooi
> <k.kooi@student.utwente.nl>, Måns Rullgård <mans@mansr.org>, Steve
> Sakoman <sakoman@gmail.com> and others on #beagle for help tracing
> these problems.
>
> Thanks also to Peter De Schrijver <peter.de-schrijver@nokia.com> for
> help with this second version, allowing several unnecessary I2C
> transactions to be elided from twl_init_irq().
>
> Tested on BeagleBoard rev B4 (3530ES2.2).
Pushing this series today.
Tony
>
>
> - Paul
>
> ---
>
> size:
> text data bss dec hex filename
> 3076157 142840 104248 3323245 32b56d vmlinux.beagle.orig
> 3075885 142840 104248 3322973 32b45d vmlinux.beagle
>
> diffstat:
>
> drivers/i2c/chips/twl4030-core.c | 383 ++++++++++++++++++++++--------------
> drivers/i2c/chips/twl4030-gpio.c | 48 -----
> drivers/i2c/chips/twl4030-pwrirq.c | 15 +
> include/linux/i2c/twl4030-gpio.h | 76 +++++++
> include/linux/i2c/twl4030-pwrirq.h | 37 +++
> 5 files changed, 359 insertions(+), 200 deletions(-)
> create mode 100644 include/linux/i2c/twl4030-gpio.h
> create mode 100644 include/linux/i2c/twl4030-pwrirq.h
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2008-08-04 14:16 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-22 23:51 [PATCH 0/9] TWL4030 bugfixes and cleanups: version 2 Paul Walmsley
2008-07-22 23:51 ` [PATCH 1/9] TWL4030: remove superfluous PWR interrupt status clear before masking Paul Walmsley
2008-07-22 23:51 ` [PATCH 2/9] TWL4030: clear TWL GPIO interrupt status registers Paul Walmsley
2008-07-22 23:51 ` [PATCH 3/9] TWL4030: use correct register addresses for BCI IMR registers Paul Walmsley
2008-07-22 23:51 ` [PATCH 4/9] TWL4030: clear MADC interrupt status registers upon init Paul Walmsley
2008-07-22 23:51 ` [PATCH 5/9] TWL4030: use *_SIH_CTRL.COR bit to determine whether to read or write ISR to clear Paul Walmsley
2008-07-22 23:51 ` [PATCH 6/9] TWL4030: change init-time IMR mask code to WARN if error Paul Walmsley
2008-07-22 23:51 ` [PATCH 7/9] TWL4030: move TWL module register defs into separate include files Paul Walmsley
2008-07-22 23:51 ` [PATCH 8/9] TWL4030: use symbolic ISR/IMR register names during twl_init_irq() Paul Walmsley
2008-07-22 23:51 ` [PATCH 9/9] TWL4030: convert early interrupt mask/clear funcs to use array Paul Walmsley
2008-08-04 14:16 ` Tony Lindgren [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=20080804141559.GI8885@atomide.com \
--to=tony@atomide.com \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=peter.de-schrijver@nokia.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox