From: b32955@freescale.com (Huang Shijie)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V3 2/6] dmaengine: add interrupt check for GPMI controller
Date: Thu, 31 Mar 2011 17:08:54 +0800 [thread overview]
Message-ID: <4D9444A6.2060109@freescale.com> (raw)
In-Reply-To: <19860.16442.199644.984424@ipc1.ka-ro>
Hi,
> Hi,
>
> Huang Shijie writes:
>> Hi:
>>> 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.
>>>> Add the interrupt check for the GPMI, only the first DMA channel will
>>>> register the irq.
>>>>
>>>> Signed-off-by: Huang Shijie<b32955@freescale.com>
>>>> ---
>>>> drivers/dma/mxs-dma.c | 36 ++++++++++++++++++++++++++++++++----
>>>> 1 files changed, 32 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
>>>> index 88aad4f..db36bf1 100644
>>>> --- a/drivers/dma/mxs-dma.c
>>>> +++ b/drivers/dma/mxs-dma.c
>>>> @@ -26,6 +26,8 @@
>>>> #include<asm/irq.h>
>>>> #include<mach/mxs.h>
>>>> #include<mach/dma.h>
>>>> +#include<mach/mx23.h>
>>>> +#include<mach/mx28.h>
>>>> #include<mach/common.h>
>>>>
>>>> /*
>>>> @@ -306,6 +308,30 @@ static irqreturn_t mxs_dma_int_handler(int irq, void *dev_id)
>>>> return IRQ_HANDLED;
>>>> }
>>>>
>>>> +/* The GPMI has several DMA channels, only the first can register the irq. */
>>>> +static bool irq_check(struct mxs_dma_chan *mxs_chan)
>>>> +{
>>>> + int irq_num = mxs_chan->chan_irq;
>>>> +
>>>> +#ifdef CONFIG_SOC_IMX23
>>>> + if (cpu_is_mx23()&& irq_num == MX23_INT_GPMI_DMA) {
>>>> + if (mxs_chan->chan.chan_id == MX23_DMA_GPMI0)
>>>> + return true;
>>>> + else
>>>> + return false;
>>>> + }
>>>> +#endif
>>>> +#ifdef CONFIG_SOC_IMX28
>>>> + if (cpu_is_mx28()&& irq_num == MX28_INT_GPMI_DMA) {
>>>> + if (mxs_chan->chan.chan_id == MX28_DMA_GPMI0)
>>>> + return true;
>>>> + else
>>>> + return false;
>>>> + }
>>>> +#endif
>>>> + return true;
>>>> +}
>>>>
>>> You should make the distinction based on the platform_id, which would
>>> save you the ugly ifdef's and cpu_is_... macros.
>>>
>>>
>> This in the DMA driver.
>> Do you want me to change the DMA driver to add the platform_id?
>> The DMA driver has already used the cpu_is_xx() macros.
>>
> The mxs-dma driver is already using platform ids!
>
>
Do you mean the mxd_dma_type[] ?
How can i distinction the imx23 and imx28 with it ?
It seems can not be used to do the work.
thanks.
Huang Shijie
> Lothar Wa?mann
next prev parent reply other threads:[~2011-03-31 9:08 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
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 [this message]
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=4D9444A6.2060109@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).