mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: zhaoy <zhaoy@marvell.com>
To: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, nicolas.pitre@linaro.org,
	linux@arm.linux.org.uk, hzhuang1@marvell.com, cxie4@marvell.com,
	leoy@marvell.com
Cc: zhaoy <zhaoy@marvell.com>
Subject: [PATCH 01/13] DMA:define second level irq definition
Date: Tue, 28 Feb 2012 15:27:33 +0800	[thread overview]
Message-ID: <1330414065-2949-2-git-send-email-zhaoy@marvell.com> (raw)
In-Reply-To: <Y>

	1.add second level irq definition

Change-Id: I9b1d52dbf411c4f79f7dc9891168f9fd7216d18e
Signed-off-by: zhaoy <zhaoy@marvell.com>
---
 arch/arm/mach-mmp/include/mach/irqs.h     |   18 ++++++++++++++----
 arch/arm/mach-mmp/include/mach/regs-icu.h |   12 +++++++++---
 arch/arm/mach-mmp/irq-mmp2.c              |    4 ++++
 arch/arm/mach-mmp/irq-mmp3.c              |    3 +++
 4 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-mmp/include/mach/irqs.h b/arch/arm/mach-mmp/include/mach/irqs.h
index 7126450..df746f4 100644
--- a/arch/arm/mach-mmp/include/mach/irqs.h
+++ b/arch/arm/mach-mmp/include/mach/irqs.h
@@ -166,7 +166,7 @@
 #define IRQ_MMP2_NAND			45
 #define IRQ_MMP2_UART4			46
 #define IRQ_MMP2_DMA_FIQ		47
-#define IRQ_MMP2_DMA_RIQ		48
+#define IRQ_MMP2_DMA_IRQ		48
 #define IRQ_MMP2_GPIO			49
 #define IRQ_MMP2_MIPI_HSI1_MUX		51
 #define IRQ_MMP2_MMC2			52
@@ -234,8 +234,13 @@
 #define IRQ_MMP2_HSI0_CAWAKE		(IRQ_MMP2_MIPI_HSI0_BASE + 0)
 #define IRQ_MMP2_MIPI_HSI_INT0		(IRQ_MMP2_MIPI_HSI0_BASE + 1)
 
-#define IRQ_MMP2_MUX_END		(IRQ_MMP2_MIPI_HSI0_BASE + 2)
 
+#define IRQ_MMP2_DMA_BASE			128
+#define IRQ_MMP2_DMA_SECONDARY(x)		(IRQ_MMP2_DMA_BASE + (x))
+#define IRQ_MMP2_GPIO_START			(IRQ_MMP2_DMA_BASE + 32)
+#define IRQ_MMP2_DMA_NUM			32
+
+#define IRQ_MMP2_MUX_END		(IRQ_MMP2_DMA_BASE + 32)
 /*
  * Interrupt numbers for MMP3
  */
@@ -440,14 +445,19 @@
 #define IRQ_MMP3_UNIPRO_INT_0		(IRQ_MMP3_HSI0_BASE + 3)
 #define IRQ_MMP3_HSI0			(IRQ_MMP3_HSI0_BASE + 4)
 
-#define IRQ_MMP3_MUX_END		(IRQ_MMP3_HSI0_BASE + 5)
+#define IRQ_MMP3_DMA_BASE			(IRQ_MMP3_HSI0_BASE + 5)
+#define IRQ_MMP3_DMA_SECONDARY(x)		(IRQ_MMP3_DMA_BASE + (x))
+#define IRQ_MMP3_GPIO_START			(IRQ_MMP3_DMA_BASE + 32)
+#define IRQ_MMP3_DMA_NUM			32
 
+#define IRQ_MMP3_MUX_END		(IRQ_MMP3_DMA_BASE + 32)
 
 #ifdef CONFIG_CPU_MMP3
 #define IRQ_GPIO_START			IRQ_MMP3_MUX_END
 #else
-#define IRQ_GPIO_START			128
+#define IRQ_GPIO_START			IRQ_MMP2_MUX_END
 #endif
+
 #define IRQ_GPIO_NUM			192
 #define IRQ_GPIO(x)			(IRQ_GPIO_START + (x))
 
diff --git a/arch/arm/mach-mmp/include/mach/regs-icu.h b/arch/arm/mach-mmp/include/mach/regs-icu.h
index f4cff2b..759a182 100644
--- a/arch/arm/mach-mmp/include/mach/regs-icu.h
+++ b/arch/arm/mach-mmp/include/mach/regs-icu.h
@@ -69,6 +69,10 @@
 #define MMP2_ICU_PJ4_IRQ_SEL		ICU_REG(0x104)
 #define MMP2_ICU_PJ4_FIQ_SEL		ICU_REG(0x108)
 
+#define MMP2_ICU_DMA_IRQ_MASK		ICU_REG(0x11c)
+#define MMP2_ICU_DMA_FIQ_MASK		ICU_REG(0x120)
+#define MMP2_ICU_DMA_IRQ_STATUS		ICU_REG(0x128)
+
 #define MMP2_ICU_INVERT			ICU_REG(0x164)
 
 #define MMP2_ICU_INV_PMIC		(1 << 0)
@@ -107,9 +111,11 @@
 #define MMP3_ICU_GBL_IRQ0_MSK		ICU1_REG(0x10C)
 #define MMP3_ICU_GBL_IRQ1_MSK		ICU1_REG(0x110)
 #define MMP3_ICU_GBL_IRQ2_MSK		ICU1_REG(0x114)
-#define MMP3_ICU_DMA_IRQ0_MSK		ICU1_REG(0x118)
-#define MMP3_ICU_DMA_IRQ1_MSK		ICU1_REG(0x11C)
-#define MMP3_ICU_DMA_IRQ2_MSK		ICU1_REG(0x120)
+
+#define MMP3_ICU_DMA_IRQ0_MASK		ICU1_REG(0x118)
+#define MMP3_ICU_DMA_IRQ1_MASK		ICU1_REG(0x11C)
+#define MMP3_ICU_DMA_IRQ2_MASK		ICU1_REG(0x120)
+
 #define MMP3_ICU_DMA_IRQ0_STATUS	ICU1_REG(0x124)
 #define MMP3_ICU_DMA_IRQ1_STATUS	ICU1_REG(0x128)
 #define MMP3_ICU_DMA_IRQ2_STATUS	ICU1_REG(0x12C)
diff --git a/arch/arm/mach-mmp/irq-mmp2.c b/arch/arm/mach-mmp/irq-mmp2.c
index afd74f2..9daf43e 100644
--- a/arch/arm/mach-mmp/irq-mmp2.c
+++ b/arch/arm/mach-mmp/irq-mmp2.c
@@ -149,6 +149,7 @@ SECOND_IRQ_CHIP(twsi, IRQ_MMP2_TWSI_BASE, MMP2_ICU_INT17);
 SECOND_IRQ_CHIP(misc, IRQ_MMP2_MISC_BASE, MMP2_ICU_INT35);
 SECOND_IRQ_CHIP(mipi_hsi1,  IRQ_MMP2_MIPI_HSI1_BASE,  MMP2_ICU_INT51);
 SECOND_IRQ_CHIP(mipi_hsi0,  IRQ_MMP2_MIPI_HSI0_BASE,  MMP2_ICU_INT55);
+SECOND_IRQ_CHIP(dma, IRQ_MMP2_DMA_BASE, MMP2_ICU_DMA_IRQ);
 
 static void init_mux_irq(struct irq_chip *chip, int start, int num)
 {
@@ -185,6 +186,7 @@ void __init mmp2_init_icu(void)
 		case IRQ_MMP2_MIPI_HSI1_MUX:
 		case IRQ_MMP2_MIPI_HSI0_MUX:
 		case IRQ_MMP2_KEYPAD_MUX:
+		case IRQ_MMP2_DMA_IRQ:
 			break;
 		default:
 			irq_set_handler(irq, handle_level_irq);
@@ -206,6 +208,7 @@ void __init mmp2_init_icu(void)
 	init_mux_irq(&mipi_hsi1_irq_chip, IRQ_MMP2_MIPI_HSI1_BASE, 2);
 	init_mux_irq(&keypad_irq_chip, IRQ_MMP2_KEYPAD_BASE, 3);
 	init_mux_irq(&mipi_hsi0_irq_chip, IRQ_MMP2_MIPI_HSI0_BASE, 2);
+	init_mux_irq(&dma_irq_chip, IRQ_MMP2_DMA_BASE, 24);
 
 	irq_set_chained_handler(IRQ_MMP2_PMIC_MUX, pmic_irq_demux);
 	irq_set_chained_handler(IRQ_MMP2_RTC_MUX, rtc_irq_demux);
@@ -214,4 +217,5 @@ void __init mmp2_init_icu(void)
 	irq_set_chained_handler(IRQ_MMP2_MIPI_HSI1_MUX, mipi_hsi1_irq_demux);
 	irq_set_chained_handler(IRQ_MMP2_KEYPAD_MUX, keypad_irq_demux);
 	irq_set_chained_handler(IRQ_MMP2_MIPI_HSI0_MUX, mipi_hsi0_irq_demux);
+	irq_set_chained_handler(IRQ_MMP2_DMA_IRQ, dma_irq_demux);
 }
diff --git a/arch/arm/mach-mmp/irq-mmp3.c b/arch/arm/mach-mmp/irq-mmp3.c
index 829e63c..0f5bf50 100644
--- a/arch/arm/mach-mmp/irq-mmp3.c
+++ b/arch/arm/mach-mmp/irq-mmp3.c
@@ -107,6 +107,7 @@ DEFINE_ICU_MUX_IRQ(ssp,		IRQ_MMP3_SSP_BASE,	MMP3_ICU_INT_51);
 DEFINE_ICU_MUX_IRQ(hsi1,	IRQ_MMP3_HSI1_BASE,	MMP3_ICU_INT_55);
 DEFINE_ICU_MUX_IRQ(misc2,	IRQ_MMP3_SSP_BASE,	MMP3_ICU_INT_57);
 DEFINE_ICU_MUX_IRQ(hsi0,	IRQ_MMP3_SSP_BASE,	MMP3_ICU_INT_58);
+DEFINE_ICU_MUX_IRQ(dma,		IRQ_MMP3_DMA_BASE,	MMP3_ICU_DMA_IRQ1);
 
 static void init_mux_irq(struct icu_mux_irq_chip_data *chip_data,
 	int mux_irq, int mux_start, int count, irq_flow_handler_t mux_handle)
@@ -188,6 +189,8 @@ void __init mmp3_init_gic(void)
 			IRQ_MMP3_MISC2_BASE, 20, misc2_irq_demux);
 	init_mux_irq(&hsi0_icu_chip_data, IRQ_MMP3_HSI0_MUX,
 			IRQ_MMP3_HSI0_BASE, 5, hsi0_irq_demux);
+	init_mux_irq(&dma_icu_chip_data, IRQ_MMP3_DMA_RIQ,
+			IRQ_MMP3_DMA_BASE, 24, dma_irq_demux);
 
 	/*
 	 * Note: IRQ_MMP3_PMIC requires the PMIC MFPR register
-- 
1.7.0.4


  parent reply	other threads:[~2012-02-28  7:28 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Y>
2012-02-28  7:27 ` [PATCH 00/13] Enable DMA engine for mmp2 and mmp3 zhaoy
2012-02-28  8:41   ` Haojian Zhuang
2012-02-28  8:49     ` Zhao Ye
2012-02-28  7:27 ` zhaoy [this message]
2012-02-28  7:27 ` [PATCH 02/13] dmaengine:open dmac and tdma support zhaoy
2012-02-28  7:27 ` [PATCH 03/13] dmaengine: mmp: add two-channel dma driver zhaoy
2012-02-28  7:27 ` [PATCH 04/13] dmaengine:mmp add peripheral " zhaoy
2012-02-28  7:27 ` [PATCH 05/13] mmp2:register dma devices for mmp2 platform zhaoy
2012-02-28  7:27 ` [PATCH 06/13] mmp3:register dma devices for mmp3 platform zhaoy
2012-02-28  7:27 ` [PATCH 07/13] DMA:mmp:remove redundant dma drivers zhaoy
2012-02-28 12:30   ` Sergei Shtylyov
2012-02-28  7:27 ` [PATCH 08/13] DMAC:tty serial pxa use generic dma engine APIs zhaoy
2012-02-28  7:27 ` [PATCH 09/13] DMA:remove unnecessary dma configurations zhaoy
2012-02-28  7:27 ` [PATCH 10/13] dmaengine:audio:mmp audio use generic dma engine APIs zhaoy
2012-02-28  7:27 ` [PATCH 11/13] DMA:update defconfig for mmp3 zhaoy
2012-02-28  7:27 ` [PATCH 12/13] mdma:dmaengine:update mdma for tdma zhaoy
2012-02-28  7:27 ` [PATCH 13/13] DMA:update defconfig for mmp2 zhaoy
2012-02-28  7:42   ` Zhao Ye

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=1330414065-2949-2-git-send-email-zhaoy@marvell.com \
    --to=zhaoy@marvell.com \
    --cc=cxie4@marvell.com \
    --cc=hzhuang1@marvell.com \
    --cc=leoy@marvell.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=nicolas.pitre@linaro.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

all inboxes | Powered by JetHome®