pl330 dma bug fix
authorfang <fang@fang-desktop.(none)>
Thu, 4 Nov 2010 06:17:28 +0000 (14:17 +0800)
committerfang <fang@fang-desktop.(none)>
Thu, 4 Nov 2010 06:17:28 +0000 (14:17 +0800)
arch/arm/common/pl330.c
arch/arm/mach-rk29/dma.c
arch/arm/mach-rk29/include/mach/rk29-dma-pl330.h

index 5ebbab6242a78ccb1c23d649cb9a4ee608e2ed3c..49a7b1df13016d8941451eab537a6da0d7636c23 100644 (file)
 
 #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))
index 6b2b667577d4a3cb308cec70b83f64dedaba34ef..ac547403498790d07706b9c26d1b0d1f7ba4f324 100644 (file)
@@ -6,12 +6,12 @@
 
 #include <mach/rk29-dma-pl330.h>
 
-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,
        },
 };
index 1fbf972934167b60ffa065f32d46d7ddd9b5846f..84195588dfb527bd8cfae69358fcf166e81ea836 100644 (file)
@@ -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 <mach/dma.h>