summaryrefslogtreecommitdiff
path: root/arch/arm/plat-mxc/sdma
diff options
context:
space:
mode:
authorLily Zhang <r58066@freescale.com>2011-01-05 17:50:37 +0800
committerAlan Tull <alan.tull@freescale.com>2011-01-06 11:24:06 -0600
commitd8f5ad3aa499a9ce0504db13be29fbaad1c79080 (patch)
treebea5d2fec55c9e9aa12f8e16c7a324a10abb9815 /arch/arm/plat-mxc/sdma
parente345ab0f93a0cc9c90a83994800680a705cfc7a1 (diff)
ENGR00136007-3 SDMA: add ASRC support
Upgrade SDMA codes to support ASRC Signed-off-by: William Lai<b04597@freescale.com> Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
Diffstat (limited to 'arch/arm/plat-mxc/sdma')
-rw-r--r--arch/arm/plat-mxc/sdma/dma_sdma.c7
-rw-r--r--arch/arm/plat-mxc/sdma/sdma.c17
2 files changed, 7 insertions, 17 deletions
diff --git a/arch/arm/plat-mxc/sdma/dma_sdma.c b/arch/arm/plat-mxc/sdma/dma_sdma.c
index 9094911c1314..156127dbbaeb 100644
--- a/arch/arm/plat-mxc/sdma/dma_sdma.c
+++ b/arch/arm/plat-mxc/sdma/dma_sdma.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2004-2010 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright 2004-2011 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
@@ -345,10 +345,7 @@ int mxc_dma_config(int channel_num, mxc_dma_requestbuf_t *dma_buf,
}
request_t.destAddr = (__u8 *) dma_buf->dst_addr;
request_t.sourceAddr = (__u8 *) dma_buf->src_addr;
- if (chnl_param.peripheral_type == ASRC)
- request_t.count = dma_buf->num_of_bytes / 4;
- else
- request_t.count = dma_buf->num_of_bytes;
+ request_t.count = dma_buf->num_of_bytes;
request_t.bd_cont = 1;
ret = mxc_dma_set_config(channel_num, &request_t,
chnl_info->curr_buf);
diff --git a/arch/arm/plat-mxc/sdma/sdma.c b/arch/arm/plat-mxc/sdma/sdma.c
index 7fa3cb8582f1..8a9e8e7faf48 100644
--- a/arch/arm/plat-mxc/sdma/sdma.c
+++ b/arch/arm/plat-mxc/sdma/sdma.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2010 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2004-2011 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
@@ -357,10 +357,10 @@ static unsigned short sdma_get_pc(sdma_periphT peripheral_type,
} else if (peripheral_type == ASRC) {
switch (transfer_type) {
case per_2_emi:
- res = sdma_script_addrs.mxc_sdma_asrc_2_mcu_addr;
+ res = sdma_script_addrs.mxc_sdma_shp_2_mcu_addr;
break;
case emi_2_per:
- res = sdma_script_addrs.mxc_sdma_asrc_2_mcu_addr;
+ res = sdma_script_addrs.mxc_sdma_mcu_2_shp_addr;
break;
case per_2_per:
res = sdma_script_addrs.mxc_sdma_per_2_per_addr;
@@ -583,15 +583,8 @@ static int sdma_load_context(int channel, dma_channel_params *p)
if (p->ext)
context.wml = ep->info_bits;
/* Watermark Level */
- if (p->peripheral_type == ASRC) {
- context.wml |= sdma_asrc_set_info(p,
- &context,
- event2_greater_than_32
- |
- event1_greater_than_32);
- } else
- context.wml |= event2_greater_than_32 |
- event1_greater_than_32 | p->watermark_level;
+ context.wml |= event2_greater_than_32 |
+ event1_greater_than_32 | p->watermark_level;
/* Address */
context.shp_addr = (unsigned long)(p->per_address);