From: dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
To: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: alan.cox-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
shinya.kuribayashi.px-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org,
ben-i2c-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org,
jean-hugues.deschenes-YGVykHU+fedBDgjK7y7TUQ@public.gmane.org,
khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org,
Dirk Brandewie
<dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: [PATCH 09/13] i2c-designware: Support multiple cores using same ISR
Date: Thu, 10 Feb 2011 08:21:25 -0800 [thread overview]
Message-ID: <1297354889-20721-10-git-send-email-dirk.brandewie@gmail.com> (raw)
In-Reply-To: <1297354889-20721-1-git-send-email-dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Dirk Brandewie <dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Add check to make sure that the core is enabled and has outstanding
interrupts. The activity bit is masked due to the fact that it will
stay active even after the contoller has bee disabled until the
contoller internal state machinces have settled.
Signed-off-by: Dirk Brandewie <dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
drivers/i2c/busses/i2c-designware-core.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/busses/i2c-designware-core.c b/drivers/i2c/busses/i2c-designware-core.c
index d521b43..fce72e9 100644
--- a/drivers/i2c/busses/i2c-designware-core.c
+++ b/drivers/i2c/busses/i2c-designware-core.c
@@ -520,10 +520,16 @@ static u32 i2c_dw_read_clear_intrbits(struct dw_i2c_dev *dev)
irqreturn_t i2c_dw_isr(int this_irq, void *dev_id)
{
struct dw_i2c_dev *dev = dev_id;
- u32 stat;
+ u32 stat, enabled;
+
+ enabled = dw_readl(dev, DW_IC_ENABLE);
+ stat = dw_readl(dev, DW_IC_RAW_INTR_STAT);
+ dev_dbg(dev->dev, "%s: %s enabled= 0x%x stat=0x%x\n", __func__,
+ dev->adapter.name, enabled, stat);
+ if (!enabled || !(stat & ~DW_IC_INTR_ACTIVITY))
+ return IRQ_NONE;
stat = i2c_dw_read_clear_intrbits(dev);
- dev_dbg(dev->dev, "%s: stat=0x%x\n", __func__, stat);
if (stat & DW_IC_INTR_TX_ABRT) {
dev->cmd_err |= DW_IC_ERR_TX_ABRT;
--
1.7.3.4
next prev parent reply other threads:[~2011-02-10 16:21 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-10 16:21 [PATCH 00/13] V2 Split i2c-designware.c to support PCI drivers dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
[not found] ` <1297354889-20721-1-git-send-email-dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-02-10 16:21 ` [PATCH 01/13] i2c-designware: Use local version of readl & writel dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` [PATCH 02/13] i2c-designware: Check component type register dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` [PATCH 03/13] i2c-designware: Allow mixed endianness accesses dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` [PATCH 04/13] i2c-designware: Move checking of IP core version to i2c_dw_init() dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` [PATCH 05/13] i2c-designware: split of i2c-designware.c into core and bus specific parts dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` [PATCH 06/13] i2c-designware: Move retriveving the clock speed out of core code dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` [PATCH 07/13] i2c-designware: move i2c functionality bit field to be adapter specific dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` [PATCH 08/13] i2c-designware: move controller config to bus specific portion of driver dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w [this message]
2011-02-10 16:21 ` [PATCH 10/13] i2c-designware: Push all register reads/writes into the core code dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` [PATCH 11/13] i2c-designware: Add support for Designware core behind PCI devices dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` [PATCH 12/13] i2c-designware: Add runtime power management support dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-10 16:21 ` [PATCH 13/13] i2c-intel-mid.c: Remove i2c-intel-mid.c dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
-- strict thread matches above, loose matches on Subject: below --
2011-03-12 20:23 [PATCH 00/13] V3 Split i2c-designware.c to support PCI drivers dirk.brandewie
2011-03-12 20:23 ` [PATCH 09/13] i2c-designware: Support multiple cores using same ISR dirk.brandewie
2011-06-09 19:21 [PATCH 00/13] V4 Split i2c-designware.c to support PCI drivers dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-09 19:21 ` [PATCH 09/13] i2c-designware: Support multiple cores using same ISR dirk.brandewie
2011-10-06 18:26 [PATCH 00/13] V5 Split i2c-designware.c to support PCI drivers dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-10-06 18:26 ` [PATCH 09/13] i2c-designware: Support multiple cores using same ISR dirk.brandewie
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=1297354889-20721-10-git-send-email-dirk.brandewie@gmail.com \
--to=dirk.brandewie-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=alan.cox-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=ben-i2c-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
--cc=jean-hugues.deschenes-YGVykHU+fedBDgjK7y7TUQ@public.gmane.org \
--cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=shinya.kuribayashi.px-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.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).