From: Mika Westerberg <mika.westerberg@iki.fi>
To: H Hartley Sweeten <hartleys@visionengravers.com>
Cc: Rafal Prylowski <prylowski@metasoft.pl>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"vinod.koul@intel.com" <vinod.koul@intel.com>,
"rmallon@gmail.com" <rmallon@gmail.com>
Subject: Re: [PATCH] ep93xx: Implement double buffering for M2M DMA channels
Date: Wed, 21 Mar 2012 21:32:31 +0200 [thread overview]
Message-ID: <20120321193231.GA3740@mwesterb-mobl.ger.corp.intel.com> (raw)
In-Reply-To: <ADE657CA350FB648AAC2C43247A983F0020696D488E3@AUSP01VMBX24.collaborationhost.net>
On Wed, Mar 21, 2012 at 12:12:11PM -0500, H Hartley Sweeten wrote:
> On Tuesday, March 20, 2012 1:09 AM, Rafal Prylowski wrote:
> >
> > Implement double buffering for M2M DMA channels.
> >
> > Signed-off-by: Rafal Prylowski <prylowski@metasoft.pl>
>
> Hmm... This isn't working on my ep9307 board...
>
> When the system boots I get stormed with messages:
>
> dma dma1chan0: unknown interrupt!
> dma dma1chan0: unknown interrupt!
> dma dma1chan0: unknown interrupt!
> dma dma1chan1: unknown interrupt!
> dma dma1chan1: unknown interrupt!
> dma dma1chan1: unknown interrupt!
> dma dma1chan0: unknown interrupt!
> dma dma1chan0: unknown interrupt!
> dma dma1chan1: unknown interrupt!
>
> Note, I have use_dma set for the ep93xx_spi driver and am using mmc_spi.
>
> Also note, without your patch I also get a couple messages:
>
> dma dma1chan1: got interrupt while active list is empty
>
> But, the mmc card is working fine. I haven't tracked down why I get these
> yet. Mika, any ideas?
I've noticed the same. But they also happen without this patch applied. I've
tracked it down to MULTI_IRQ_HANDLER support patches for ARM vic but not sure
what might be wrong there (or is the ep93xx_dma driver behaving badly). I
noticed that when we get that 'got interrupt while active list is empty' we
don't have any interrupts set in the M2M_INTERRUPT register but we still got
an interrupt.. weird.
Below is a workaround I've been using lately but it certainly is a hack and we
should figure out what is the root cause for this.
diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c
index dcb004a..cb6b49a 100644
--- a/arch/arm/common/vic.c
+++ b/arch/arm/common/vic.c
@@ -441,11 +441,9 @@ static int handle_one_vic(struct vic_device *vic, struct pt_regs *regs)
u32 stat, irq;
int handled = 0;
- stat = readl_relaxed(vic->base + VIC_IRQ_STATUS);
- while (stat) {
+ while ((stat = readl_relaxed(vic->base + VIC_IRQ_STATUS))) {
irq = ffs(stat) - 1;
handle_IRQ(irq_domain_to_irq(&vic->domain, irq), regs);
- stat &= ~(1 << irq);
handled = 1;
}
next prev parent reply other threads:[~2012-03-21 19:33 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-20 8:09 Rafal Prylowski
2012-03-21 7:07 ` Mika Westerberg
2012-03-21 7:47 ` Rafal Prylowski
2012-03-21 19:33 ` Mika Westerberg
2012-03-21 17:12 ` H Hartley Sweeten
2012-03-21 19:32 ` Mika Westerberg [this message]
2012-03-22 0:47 ` H Hartley Sweeten
2012-03-22 7:37 ` Mika Westerberg
2012-03-22 18:52 ` H Hartley Sweeten
2012-03-22 20:03 ` Mika Westerberg
2012-03-22 21:36 ` H Hartley Sweeten
2012-03-22 23:56 ` H Hartley Sweeten
2012-03-23 7:00 ` Mika Westerberg
2012-03-22 10:16 ` Rafal Prylowski
2012-03-21 19:38 ` Mika Westerberg
2012-03-23 2:19 ` H Hartley Sweeten
2012-03-23 7:04 ` Mika Westerberg
2012-03-23 16:09 ` H Hartley Sweeten
2012-03-24 7:32 ` Mika Westerberg
2012-03-26 6:44 ` Rafal Prylowski
2012-03-29 22:33 ` H Hartley Sweeten
2012-04-01 18:49 ` Mika Westerberg
2012-04-10 17:28 ` Mika Westerberg
2012-04-10 17:55 ` H Hartley Sweeten
2012-04-11 7:18 ` Rafal Prylowski
2012-04-16 18:59 ` H Hartley Sweeten
2012-04-17 7:15 ` Rafal Prylowski
2012-04-17 15:46 ` H Hartley Sweeten
2012-04-17 20:51 ` H Hartley Sweeten
2012-04-18 16:41 ` Rafal Prylowski
2012-04-18 17:01 ` H Hartley Sweeten
2012-03-22 0:57 ` Ryan Mallon
2012-03-22 10:00 ` Rafal Prylowski
2012-03-22 13:14 ` Sergei Shtylyov
2012-03-22 14:13 ` Rafal Prylowski
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=20120321193231.GA3740@mwesterb-mobl.ger.corp.intel.com \
--to=mika.westerberg@iki.fi \
--cc=hartleys@visionengravers.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=prylowski@metasoft.pl \
--cc=rmallon@gmail.com \
--cc=vinod.koul@intel.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
Powered by JetHome