linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: b32955@freescale.com (Huang Shijie)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V3 2/6] dmaengine: change the flags of request_irq()
Date: Wed, 30 Mar 2011 17:44:24 +0800	[thread overview]
Message-ID: <4D92FB78.8050109@freescale.com> (raw)
In-Reply-To: <19858.62649.218523.984252@ipc1.ka-ro>

Hi:

> Shawn Guo writes:
>> On Wed, Mar 30, 2011 at 11:03:02AM +0200, Lothar Wa?mann wrote:
>>> Hi,
>>>
>>> Huang Shijie writes:
>>>> The GPMI may have many DMA channels, such as the imx23 has
>>>> four DMA channels. All these DMA channels share the same interrupt.
>>>> So change the flags from '0' to IRQF_SHARED, else there will be
>>>> an EBUSY error returns.
>>>>
>>>> Signed-off-by: Huang Shijie<b32955@freescale.com>
>>>> ---
>>>>   drivers/dma/mxs-dma.c |    2 +-
>>>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>>>
>>>> diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
>>>> index 88aad4f..0ee5b52 100644
>>>> --- a/drivers/dma/mxs-dma.c
>>>> +++ b/drivers/dma/mxs-dma.c
>>>> @@ -328,7 +328,7 @@ static int mxs_dma_alloc_chan_resources(struct dma_chan *chan)
>>>>   	memset(mxs_chan->ccw, 0, PAGE_SIZE);
>>>>
>>>>   	ret = request_irq(mxs_chan->chan_irq, mxs_dma_int_handler,
>>>> -				0, "mxs-dma", mxs_dma);
>>>> +				IRQF_SHARED, "mxs-dma", mxs_dma);
>>>>   	if (ret)
>>>>   		goto err_irq;
>>>>
>>> IMO this is wrong. The interrupt is requested with all the same
>>> parameters for each DMA channel. So, actually it is not a shared IRQ,
>> The parameter mxs_chan->chan_irq is different for each channel, except
>> gpmi which has 4 channels sharing one irq.
>>
> That's what I mean. The other interrupts won't need the IRQF_SHARED
> flag anyway.
>
Ok. I will add a GPMI-INTERRUPT check in the mxs_dma_alloc_chan_resources().
>>> but an IRQ with the same handler registered multiple times, which is
>>> just nonsense.
>>>
>>> Instead of declaring it as shared, it would be more sensible to only
>>> register it for the first channel. Otherwise the handler will be
>>> called multiple times in case of an interrupt with only the first
>>> invocation doing all the work and the subsequent invocations just
>>> returning without doing anything.
>>>
>> -- 
>> Regards,
>> Shawn
>>
> Lothar Wa?mann
Huang Shijie

  reply	other threads:[~2011-03-30  9:44 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-30  8:40 [PATCH V3 0/6] add the GPMI controller driver for IMX23/IMX28 Huang Shijie
2011-03-30  8:40 ` [PATCH V3 1/6] ARM: add GPMI support for imx23/imx28 Huang Shijie
2011-03-30  8:40 ` [PATCH V3 2/6] dmaengine: change the flags of request_irq() Huang Shijie
2011-03-30  9:03   ` Lothar Waßmann
2011-03-30  9:13     ` Shawn Guo
2011-03-30  9:15       ` Lothar Waßmann
2011-03-30  9:44         ` Huang Shijie [this message]
2011-03-31  7:02         ` [PATCH V3 2/6] dmaengine: add interrupt check for GPMI controller Huang Shijie
2011-03-31  8:02           ` Lothar Waßmann
2011-03-31  8:50             ` Huang Shijie
2011-03-31  8:50               ` Lothar Waßmann
2011-03-31  9:08                 ` Huang Shijie
2011-03-31  9:34                   ` Lothar Waßmann
2011-04-01  3:47                   ` Shawn Guo
2011-04-01  4:36                     ` Huang Shijie
2011-03-30  8:40 ` [PATCH V3 3/6] MTD : add the database for the NANDs Huang Shijie
2011-03-30  8:46   ` Florian Fainelli
2011-03-30  9:05     ` Huang Shijie
2011-03-30  9:23       ` Florian Fainelli
2011-03-30  9:54         ` Huang Shijie
2011-03-31 10:10       ` Artem Bityutskiy
2011-03-31 14:17         ` Huang Shijie
2011-09-14 15:44           ` Brian Norris
2011-09-15  2:21             ` Huang Shijie
2011-11-24  3:11             ` Huang Shijie
2011-03-30  8:40 ` [PATCH V3 5/6] MTD: add support for imx23 and imx28 Huang Shijie
2011-03-30  8:40 ` [PATCH V3 6/6] MTD : add GPMI driver in the config and Makefile Huang Shijie
2011-07-08 16:46 ` [PATCH V3 4/6] MTD : add the common code for GPMI controller driver Huang Shijie

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=4D92FB78.8050109@freescale.com \
    --to=b32955@freescale.com \
    --cc=linux-arm-kernel@lists.infradead.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).