[PATCH V4 05/14] ARM: SAMSUNG: Update to use PL330-DMA driver
Vinod Koul
vkoul at infradead.org
Mon Jul 25 06:52:59 EDT 2011
On Mon, 2011-07-25 at 10:28 +0900, Boojin Kim wrote:
> This patch adds to support PL330-DMA driver on DMADEVICE for S5P SoCs.
>
> Signed-off-by: Boojin Kim <boojin.kim at samsung.com>
> Signed-off-by: Kukjin Kim <kgene.kim at samsung.com>
> ---
> arch/arm/mach-exynos4/include/mach/dma.h | 4 +-
> arch/arm/mach-s5p64x0/include/mach/dma.h | 2 +-
> arch/arm/mach-s5pc100/include/mach/dma.h | 2 +-
> arch/arm/mach-s5pv210/include/mach/dma.h | 2 +-
> arch/arm/plat-samsung/Kconfig | 8 +++++++
> .../include/plat/{s3c-dma-pl330.h => dma-pl330.h} | 21 +++++++++++++------
> .../plat-samsung/include/plat/s3c-pl330-pdata.h | 2 +-
> 7 files changed, 28 insertions(+), 13 deletions(-)
> rename arch/arm/plat-samsung/include/plat/{s3c-dma-pl330.h => dma-pl330.h} (84%)
>
> diff --git a/arch/arm/mach-exynos4/include/mach/dma.h b/arch/arm/mach-exynos4/include/mach/dma.h
> index 81209eb..201842a 100644
> --- a/arch/arm/mach-exynos4/include/mach/dma.h
> +++ b/arch/arm/mach-exynos4/include/mach/dma.h
> @@ -20,7 +20,7 @@
> #ifndef __MACH_DMA_H
> #define __MACH_DMA_H
>
> -/* This platform uses the common S3C DMA API driver for PL330 */
> -#include <plat/s3c-dma-pl330.h>
> +/* This platform uses the common DMA API driver for PL330 */
> +#include <plat/dma-pl330.h>
>
> #endif /* __MACH_DMA_H */
> diff --git a/arch/arm/mach-s5p64x0/include/mach/dma.h b/arch/arm/mach-s5p64x0/include/mach/dma.h
> index 81209eb..1beae2c 100644
> --- a/arch/arm/mach-s5p64x0/include/mach/dma.h
> +++ b/arch/arm/mach-s5p64x0/include/mach/dma.h
> @@ -21,6 +21,6 @@
> #define __MACH_DMA_H
>
> /* This platform uses the common S3C DMA API driver for PL330 */
> -#include <plat/s3c-dma-pl330.h>
> +#include <plat/dma-pl330.h>
>
> #endif /* __MACH_DMA_H */
> diff --git a/arch/arm/mach-s5pc100/include/mach/dma.h b/arch/arm/mach-s5pc100/include/mach/dma.h
> index 81209eb..1beae2c 100644
> --- a/arch/arm/mach-s5pc100/include/mach/dma.h
> +++ b/arch/arm/mach-s5pc100/include/mach/dma.h
> @@ -21,6 +21,6 @@
> #define __MACH_DMA_H
>
> /* This platform uses the common S3C DMA API driver for PL330 */
> -#include <plat/s3c-dma-pl330.h>
> +#include <plat/dma-pl330.h>
>
> #endif /* __MACH_DMA_H */
> diff --git a/arch/arm/mach-s5pv210/include/mach/dma.h b/arch/arm/mach-s5pv210/include/mach/dma.h
> index 81209eb..1beae2c 100644
> --- a/arch/arm/mach-s5pv210/include/mach/dma.h
> +++ b/arch/arm/mach-s5pv210/include/mach/dma.h
> @@ -21,6 +21,6 @@
> #define __MACH_DMA_H
>
> /* This platform uses the common S3C DMA API driver for PL330 */
> -#include <plat/s3c-dma-pl330.h>
> +#include <plat/dma-pl330.h>
>
> #endif /* __MACH_DMA_H */
> diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
> index 4d79519..cb170a6 100644
> --- a/arch/arm/plat-samsung/Kconfig
> +++ b/arch/arm/plat-samsung/Kconfig
> @@ -300,6 +300,14 @@ config S3C_PL330_DMA
> help
> S3C DMA API Driver for PL330 DMAC.
>
> +config DMADEV_PL330
> + bool
> + select DMADEVICES
> + select PL330_DMA
> + select ARM_AMBA
> + help
> + Use DMA device engine for PL330 DMAC.
> +
> comment "Power management"
>
> config SAMSUNG_PM_DEBUG
> diff --git a/arch/arm/plat-samsung/include/plat/s3c-dma-pl330.h b/arch/arm/plat-samsung/include/plat/dma-pl330.h
> similarity index 84%
> rename from arch/arm/plat-samsung/include/plat/s3c-dma-pl330.h
> rename to arch/arm/plat-samsung/include/plat/dma-pl330.h
> index 8107442..c402719 100644
> --- a/arch/arm/plat-samsung/include/plat/s3c-dma-pl330.h
> +++ b/arch/arm/plat-samsung/include/plat/dma-pl330.h
> @@ -8,19 +8,18 @@
> * (at your option) any later version.
> */
>
> -#ifndef __S3C_DMA_PL330_H_
> -#define __S3C_DMA_PL330_H_
> -
> -#define S3C2410_DMAF_AUTOSTART (1 << 0)
> -#define S3C2410_DMAF_CIRCULAR (1 << 1)
> +#ifndef __DMA_PL330_H_
> +#define __DMA_PL330_H_ __FILE__
>
> +#define S3C2410_DMAF_AUTOSTART (1 << 0)
> +#define S3C2410_DMAF_CIRCULAR (1 << 1)
this looks like bogus diff and can be avoided
> /*
> * PL330 can assign any channel to communicate with
> * any of the peripherals attched to the DMAC.
> * For the sake of consistency across client drivers,
> * We keep the channel names unchanged and only add
> * missing peripherals are added.
> - * Order is not important since S3C PL330 API driver
> + * Order is not important since DMA PL330 API driver
> * use these just as IDs.
> */
> enum dma_ch {
> @@ -84,6 +83,14 @@ enum dma_ch {
> DMACH_SLIMBUS4_TX,
> DMACH_SLIMBUS5_RX,
> DMACH_SLIMBUS5_TX,
> + DMACH_MTOM_0,
> + DMACH_MTOM_1,
> + DMACH_MTOM_2,
> + DMACH_MTOM_3,
> + DMACH_MTOM_4,
> + DMACH_MTOM_5,
> + DMACH_MTOM_6,
> + DMACH_MTOM_7,
> /* END Marker, also used to denote a reserved channel */
> DMACH_MAX,
> };
> @@ -95,4 +102,4 @@ static inline bool s3c_dma_has_circular(void)
>
> #include <plat/dma.h>
>
> -#endif /* __S3C_DMA_PL330_H_ */
> +#endif /* __DMA_PL330_H_ */
> diff --git a/arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h b/arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h
> index bf5e2a9..64fdf66 100644
> --- a/arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h
> +++ b/arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h
> @@ -12,7 +12,7 @@
> #ifndef __S3C_PL330_PDATA_H
> #define __S3C_PL330_PDATA_H
>
> -#include <plat/s3c-dma-pl330.h>
> +#include <plat/dma-pl330.h>
>
> /*
> * Every PL330 DMAC has max 32 peripheral interfaces,
--
~Vinod Koul
Intel Corp.
More information about the linux-arm-kernel
mailing list