All of lore.kernel.org
 help / color / mirror / Atom feed
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

      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 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.