From 55b8402a927f3240cabeee3ca1717783796280ca Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 4 Nov 2010 14:17:28 +0800 Subject: [PATCH] pl330 dma bug fix --- arch/arm/common/pl330.c | 2 +- arch/arm/mach-rk29/dma.c | 14 +++++++------- arch/arm/mach-rk29/include/mach/rk29-dma-pl330.h | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/arch/arm/common/pl330.c b/arch/arm/common/pl330.c index 5ebbab6242a7..49a7b1df1301 100644 --- a/arch/arm/common/pl330.c +++ b/arch/arm/common/pl330.c @@ -144,7 +144,7 @@ #define PART 0x330 #define DESIGNER 0x41 -#define REVISION 0x0 +#define REVISION 0x1 #define INTEG_CFG 0x0 #define PERIPH_ID_VAL ((PART << 0) | (DESIGNER << 12) \ | (REVISION << 20) | (INTEG_CFG << 24)) diff --git a/arch/arm/mach-rk29/dma.c b/arch/arm/mach-rk29/dma.c index 6b2b667577d4..ac5474034987 100644 --- a/arch/arm/mach-rk29/dma.c +++ b/arch/arm/mach-rk29/dma.c @@ -6,12 +6,12 @@ #include -static u64 dma_dmamask = DMA_BIT_MASK(16); +static u64 dma_dmamask = DMA_BIT_MASK(32); static struct resource rk29_dmac0_resource[] = { [0] = { - .start = RK29_DMAC0_PHYS, - .end = RK29_DMAC0_PHYS + RK29_DMAC0_SIZE, + .start = RK29_SDMAC0_PHYS,//RK29_DMAC0_PHYS, + .end = RK29_SDMAC0_PHYS + RK29_SDMAC0_SIZE, .flags = IORESOURCE_MEM, }, [1] = { @@ -44,12 +44,12 @@ static struct rk29_pl330_platdata rk29_dmac0_pdata = { static struct platform_device rk29_device_dmac0 = { .name = "rk29-pl330", - .id = 1, + .id = 0, .num_resources = ARRAY_SIZE(rk29_dmac0_resource), .resource = rk29_dmac0_resource, .dev = { .dma_mask = &dma_dmamask, - .coherent_dma_mask = DMA_BIT_MASK(16), + .coherent_dma_mask = DMA_BIT_MASK(32), .platform_data = &rk29_dmac0_pdata, }, }; @@ -90,12 +90,12 @@ static struct rk29_pl330_platdata rk29_dmac2_pdata = { static struct platform_device rk29_device_dmac2 = { .name = "rk29-pl330", - .id = 2, + .id = 1, .num_resources = ARRAY_SIZE(rk29_dmac2_resource), .resource = rk29_dmac2_resource, .dev = { .dma_mask = &dma_dmamask, - .coherent_dma_mask = DMA_BIT_MASK(16), + .coherent_dma_mask = DMA_BIT_MASK(32), .platform_data = &rk29_dmac2_pdata, }, }; diff --git a/arch/arm/mach-rk29/include/mach/rk29-dma-pl330.h b/arch/arm/mach-rk29/include/mach/rk29-dma-pl330.h index 1fbf97293416..84195588dfb5 100644 --- a/arch/arm/mach-rk29/include/mach/rk29-dma-pl330.h +++ b/arch/arm/mach-rk29/include/mach/rk29-dma-pl330.h @@ -67,7 +67,7 @@ static inline bool rk29_dma_has_circular(void) * to the rk29 DMA API driver for PL330. */ struct rk29_pl330_platdata { - enum dma_ch peri[16]; + enum dma_ch peri[32]; }; #include -- 2.34.1