linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] S3C24XX: Enable DMA on S3C2416 by sharing S3C2443-DMA
@ 2012-03-04 17:42 Heiko Stübner
  2012-03-04 17:43 ` [PATCH 1/3] ARM: S3C24XX: Fix indentation of dma-s3c2443 Heiko Stübner
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Heiko Stübner @ 2012-03-04 17:42 UTC (permalink / raw)
  To: linux-arm-kernel

The S3C2416/2450 contains the same DMA register layout as the S3C2443.
Therefore it can simply share this dma selection definition.

As we use the S3C2443_DMA the S3C2416_DMA is no longer necessary. The
third patch removes this remnant of the S3C24XX merge.

The whole series was made on top of the recent S3C24XX merge.

Heiko Stuebner (3):
  ARM: S3C24XX: Fix indentation of dma-s3c2443
  ARM: S3C24XX: Reuse S3C2443 dma for S3C2416
  ARM: S3C24XX: remove obsolete S3C2416_DMA option

 arch/arm/Kconfig                              |    1 -
 arch/arm/mach-s3c2416/Kconfig                 |   14 -----------
 arch/arm/mach-s3c2416/Makefile                |   12 ----------
 arch/arm/mach-s3c24xx/Kconfig                 |   10 ++++----
 arch/arm/mach-s3c24xx/Makefile                |    2 +-
 arch/arm/mach-s3c24xx/dma-s3c2443.c           |   30 ++++++++++++++++++++-----
 arch/arm/plat-samsung/include/plat/regs-dma.h |    2 +-
 7 files changed, 31 insertions(+), 40 deletions(-)
 delete mode 100644 arch/arm/mach-s3c2416/Kconfig
 delete mode 100644 arch/arm/mach-s3c2416/Makefile

-- 
1.7.2.3

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/3] ARM: S3C24XX: Fix indentation of dma-s3c2443
  2012-03-04 17:42 [PATCH 0/3] S3C24XX: Enable DMA on S3C2416 by sharing S3C2443-DMA Heiko Stübner
@ 2012-03-04 17:43 ` Heiko Stübner
  2012-03-04 17:44 ` [PATCH 2/3] ARM: S3C24XX: Reuse S3C2443 dma for S3C2416 Heiko Stübner
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Heiko Stübner @ 2012-03-04 17:43 UTC (permalink / raw)
  To: linux-arm-kernel

Spaces seem to have slipped in at some point in the past.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
 arch/arm/mach-s3c24xx/dma-s3c2443.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-s3c24xx/dma-s3c2443.c b/arch/arm/mach-s3c24xx/dma-s3c2443.c
index 1422451..d9e1b3b 100644
--- a/arch/arm/mach-s3c24xx/dma-s3c2443.c
+++ b/arch/arm/mach-s3c24xx/dma-s3c2443.c
@@ -71,11 +71,11 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
 		.name		= "uart1",
 		.channels	= MAP(S3C2443_DMAREQSEL_UART1_0),
 	},
-      	[DMACH_UART2] = {
+	[DMACH_UART2] = {
 		.name		= "uart2",
 		.channels	= MAP(S3C2443_DMAREQSEL_UART2_0),
 	},
-      	[DMACH_UART3] = {
+	[DMACH_UART3] = {
 		.name		= "uart3",
 		.channels	= MAP(S3C2443_DMAREQSEL_UART3_0),
 	},
@@ -87,11 +87,11 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
 		.name		= "uart1",
 		.channels	= MAP(S3C2443_DMAREQSEL_UART1_1),
 	},
-      	[DMACH_UART2_SRC2] = {
+	[DMACH_UART2_SRC2] = {
 		.name		= "uart2",
 		.channels	= MAP(S3C2443_DMAREQSEL_UART2_1),
 	},
-      	[DMACH_UART3_SRC2] = {
+	[DMACH_UART3_SRC2] = {
 		.name		= "uart3",
 		.channels	= MAP(S3C2443_DMAREQSEL_UART3_1),
 	},
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] ARM: S3C24XX: Reuse S3C2443 dma for S3C2416
  2012-03-04 17:42 [PATCH 0/3] S3C24XX: Enable DMA on S3C2416 by sharing S3C2443-DMA Heiko Stübner
  2012-03-04 17:43 ` [PATCH 1/3] ARM: S3C24XX: Fix indentation of dma-s3c2443 Heiko Stübner
@ 2012-03-04 17:44 ` Heiko Stübner
  2012-03-04 17:45 ` [PATCH 3/3] ARM: S3C24XX: remove obsolete S3C2416_DMA option Heiko Stübner
  2012-03-07 11:18 ` [PATCH 0/3] S3C24XX: Enable DMA on S3C2416 by sharing S3C2443-DMA Kukjin Kim
  3 siblings, 0 replies; 5+ messages in thread
From: Heiko Stübner @ 2012-03-04 17:44 UTC (permalink / raw)
  To: linux-arm-kernel

The dma controller is similar in S3C2443 and S3C2416 and has also
the same register layout with the same REQSEL-bits in the source
select.

The only small difference is the SIO channel of the S3C2443 for the
non-hsmmc controller which is not present on S3C2416/2450 and
second spi channel which is not present on the S3C2416.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
 arch/arm/mach-s3c24xx/Kconfig                 |   10 +++++-----
 arch/arm/mach-s3c24xx/Makefile                |    2 +-
 arch/arm/mach-s3c24xx/dma-s3c2443.c           |   22 ++++++++++++++++++++--
 arch/arm/plat-samsung/include/plat/regs-dma.h |    2 +-
 4 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index 48af6fc..5ebd150 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -42,7 +42,7 @@ config CPU_S3C2416
 	select CPU_LLSERIAL_S3C2440
 	select SAMSUNG_CLKSRC
 	select S3C2443_COMMON
-	select S3C2416_DMA if S3C24XX_DMA
+	select S3C2443_DMA if S3C24XX_DMA
 	select S3C2416_PM if PM
 	help
 	  Support for the S3C2416 SoC from the S3C24XX line
@@ -479,15 +479,15 @@ config S3C2443_COMMON
 	  Common code for the S3C2443 and similar processors, which includes
 	  the S3C2416 and S3C2450.
 
-endif	# CPU_S3C2443 || CPU_S3C2416
-
-if CPU_S3C2443
-
 config S3C2443_DMA
 	bool
 	help
 	  Internal config node for S3C2443 DMA support
 
+endif	# CPU_S3C2443 || CPU_S3C2416
+
+if CPU_S3C2443
+
 comment "S3C2443 Boards"
 
 config MACH_SMDK2443
diff --git a/arch/arm/mach-s3c24xx/Makefile b/arch/arm/mach-s3c24xx/Makefile
index 876e5e5..1909d66 100644
--- a/arch/arm/mach-s3c24xx/Makefile
+++ b/arch/arm/mach-s3c24xx/Makefile
@@ -32,11 +32,11 @@ obj-$(CONFIG_CPU_S3C244X)	+= s3c244x.o irq-s3c244x.o clock-s3c244x.o
 obj-$(CONFIG_S3C2440_DMA)	+= dma-s3c2440.o
 
 obj-$(CONFIG_CPU_S3C2443)	+= s3c2443.o irq-s3c2443.o clock-s3c2443.o
-obj-$(CONFIG_S3C2443_DMA)	+= dma-s3c2443.o
 
 # common code
 
 obj-$(CONFIG_S3C2443_COMMON)	+= common-s3c2443.o
+obj-$(CONFIG_S3C2443_DMA)	+= dma-s3c2443.o
 
 #
 # machine support
diff --git a/arch/arm/mach-s3c24xx/dma-s3c2443.c b/arch/arm/mach-s3c24xx/dma-s3c2443.c
index d9e1b3b..e227c47 100644
--- a/arch/arm/mach-s3c24xx/dma-s3c2443.c
+++ b/arch/arm/mach-s3c24xx/dma-s3c2443.c
@@ -51,7 +51,7 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
 		.name		= "xdreq1",
 		.channels	= MAP(S3C2443_DMAREQSEL_XDREQ1),
 	},
-	[DMACH_SDI] = {
+	[DMACH_SDI] = { /* only on S3C2443 */
 		.name		= "sdi",
 		.channels	= MAP(S3C2443_DMAREQSEL_SDI),
 	},
@@ -59,7 +59,7 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
 		.name		= "spi0",
 		.channels	= MAP(S3C2443_DMAREQSEL_SPI0TX),
 	},
-	[DMACH_SPI1] = {
+	[DMACH_SPI1] = { /* only on S3C2443/S3C2450 */
 		.name		= "spi1",
 		.channels	= MAP(S3C2443_DMAREQSEL_SPI1TX),
 	},
@@ -142,6 +142,23 @@ static int __init s3c2443_dma_add(struct device *dev,
 	return s3c24xx_dma_init_map(&s3c2443_dma_sel);
 }
 
+#ifdef CONFIG_CPU_S3C2416
+/* S3C2416 DMA contains the same selection table as the S3C2443 */
+static struct subsys_interface s3c2416_dma_interface = {
+	.name		= "s3c2416_dma",
+	.subsys		= &s3c2416_subsys,
+	.add_dev	= s3c2443_dma_add,
+};
+
+static int __init s3c2416_dma_init(void)
+{
+	return subsys_interface_register(&s3c2416_dma_interface);
+}
+
+arch_initcall(s3c2416_dma_init);
+#endif
+
+#ifdef CONFIG_CPU_S3C2443
 static struct subsys_interface s3c2443_dma_interface = {
 	.name		= "s3c2443_dma",
 	.subsys		= &s3c2443_subsys,
@@ -154,3 +171,4 @@ static int __init s3c2443_dma_init(void)
 }
 
 arch_initcall(s3c2443_dma_init);
+#endif
diff --git a/arch/arm/plat-samsung/include/plat/regs-dma.h b/arch/arm/plat-samsung/include/plat/regs-dma.h
index 178bccb..a7d622e 100644
--- a/arch/arm/plat-samsung/include/plat/regs-dma.h
+++ b/arch/arm/plat-samsung/include/plat/regs-dma.h
@@ -119,7 +119,7 @@
 #define S3C2412_DMAREQSEL_UART2_1	S3C2412_DMAREQSEL_SRC(24)
 #endif /* CONFIG_CPU_S3C2412 */
 
-#ifdef CONFIG_CPU_S3C2443
+#if defined(CONFIG_CPU_S3C2416) || defined(CONFIG_CPU_S3C2443)
 
 #define S3C2443_DMAREQSEL_SRC(x)	((x) << 1)
 
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] ARM: S3C24XX: remove obsolete S3C2416_DMA option
  2012-03-04 17:42 [PATCH 0/3] S3C24XX: Enable DMA on S3C2416 by sharing S3C2443-DMA Heiko Stübner
  2012-03-04 17:43 ` [PATCH 1/3] ARM: S3C24XX: Fix indentation of dma-s3c2443 Heiko Stübner
  2012-03-04 17:44 ` [PATCH 2/3] ARM: S3C24XX: Reuse S3C2443 dma for S3C2416 Heiko Stübner
@ 2012-03-04 17:45 ` Heiko Stübner
  2012-03-07 11:18 ` [PATCH 0/3] S3C24XX: Enable DMA on S3C2416 by sharing S3C2443-DMA Kukjin Kim
  3 siblings, 0 replies; 5+ messages in thread
From: Heiko Stübner @ 2012-03-04 17:45 UTC (permalink / raw)
  To: linux-arm-kernel

The S3C2416 now reuses the dma selection of the S3C2443.
Therefore it is not necessary to keep the S3C2416_DMA option around.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
 arch/arm/Kconfig               |    1 -
 arch/arm/mach-s3c2416/Kconfig  |   14 --------------
 arch/arm/mach-s3c2416/Makefile |   12 ------------
 3 files changed, 0 insertions(+), 27 deletions(-)
 delete mode 100644 arch/arm/mach-s3c2416/Kconfig
 delete mode 100644 arch/arm/mach-s3c2416/Makefile

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index c0a87d0..86d0acf 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1068,7 +1068,6 @@ source "arch/arm/plat-spear/Kconfig"
 source "arch/arm/mach-s3c24xx/Kconfig"
 if ARCH_S3C24XX
 source "arch/arm/mach-s3c2412/Kconfig"
-source "arch/arm/mach-s3c2416/Kconfig"
 source "arch/arm/mach-s3c2440/Kconfig"
 endif
 
diff --git a/arch/arm/mach-s3c2416/Kconfig b/arch/arm/mach-s3c2416/Kconfig
deleted file mode 100644
index faaa289..0000000
--- a/arch/arm/mach-s3c2416/Kconfig
+++ /dev/null
@@ -1,14 +0,0 @@
-# arch/arm/mach-s3c2416/Kconfig
-#
-# Copyright 2009 Yauhen Kharuzhy <jekhor@gmail.com>
-#
-# Licensed under GPLv2
-
-# note, this also supports the S3C2450 which is so similar it has the same
-# ID code as the S3C2416.
-
-config S3C2416_DMA
-	bool
-	depends on CPU_S3C2416
-	help
-	  Internal config node for S3C2416 DMA support
diff --git a/arch/arm/mach-s3c2416/Makefile b/arch/arm/mach-s3c2416/Makefile
deleted file mode 100644
index 3299f19..0000000
--- a/arch/arm/mach-s3c2416/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# arch/arm/mach-s3c2416/Makefile
-#
-# Copyright 2009 Yauhen Kharuzhy <jekhor@gmail.com>
-#
-# Licensed under GPLv2
-
-obj-y				:=
-obj-m				:=
-obj-n				:=
-obj-				:=
-
-#obj-$(CONFIG_S3C2416_DMA)	+= dma.o
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 0/3] S3C24XX: Enable DMA on S3C2416 by sharing S3C2443-DMA
  2012-03-04 17:42 [PATCH 0/3] S3C24XX: Enable DMA on S3C2416 by sharing S3C2443-DMA Heiko Stübner
                   ` (2 preceding siblings ...)
  2012-03-04 17:45 ` [PATCH 3/3] ARM: S3C24XX: remove obsolete S3C2416_DMA option Heiko Stübner
@ 2012-03-07 11:18 ` Kukjin Kim
  3 siblings, 0 replies; 5+ messages in thread
From: Kukjin Kim @ 2012-03-07 11:18 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/04/12 09:42, Heiko St?bner wrote:
> The S3C2416/2450 contains the same DMA register layout as the S3C2443.
> Therefore it can simply share this dma selection definition.
>
> As we use the S3C2443_DMA the S3C2416_DMA is no longer necessary. The
> third patch removes this remnant of the S3C24XX merge.
>
> The whole series was made on top of the recent S3C24XX merge.
>
Good, applied.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-03-07 11:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-04 17:42 [PATCH 0/3] S3C24XX: Enable DMA on S3C2416 by sharing S3C2443-DMA Heiko Stübner
2012-03-04 17:43 ` [PATCH 1/3] ARM: S3C24XX: Fix indentation of dma-s3c2443 Heiko Stübner
2012-03-04 17:44 ` [PATCH 2/3] ARM: S3C24XX: Reuse S3C2443 dma for S3C2416 Heiko Stübner
2012-03-04 17:45 ` [PATCH 3/3] ARM: S3C24XX: remove obsolete S3C2416_DMA option Heiko Stübner
2012-03-07 11:18 ` [PATCH 0/3] S3C24XX: Enable DMA on S3C2416 by sharing S3C2443-DMA Kukjin Kim

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).