aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schocher <[email protected]>2012-01-19 08:05:21 +0100
committerSekhar Nori <[email protected]>2012-02-03 00:52:15 +0530
commit0b7580ba9d4ac653cf39fa754c21fa36c080e444 (patch)
tree9b8a4b963a6f133a6172f31b126cee128fd234d4
parent62aa2b537c6f5957afd98e29f96897419ed5ebab (diff)
ARM: davinci: map default_queue to edma channels
Default queue is expected to be a low-priority queue. This way, long transfers on the default queue started by the codec engine will not cause audio defects. Signed-off-by: Heiko Schocher <[email protected]> Signed-off-by: Juha Kuikka <[email protected]> Reported-by: Juha Kuikka <[email protected]> Acked-by: Rajashekhara, Sudhakar <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: Rajashekhara, Sudhakar <[email protected]> Cc: Ido Yariv <[email protected]> Cc: Sekhar Nori <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Sergei Shtylyov <[email protected]> Signed-off-by: Sekhar Nori <[email protected]>
-rw-r--r--arch/arm/mach-davinci/dma.c6
-rw-r--r--arch/arm/mach-davinci/include/mach/edma.h5
2 files changed, 6 insertions, 5 deletions
diff --git a/arch/arm/mach-davinci/dma.c b/arch/arm/mach-davinci/dma.c
index da90103a313d..fd33919c95d4 100644
--- a/arch/arm/mach-davinci/dma.c
+++ b/arch/arm/mach-davinci/dma.c
@@ -1508,12 +1508,8 @@ static int __init edma_probe(struct platform_device *pdev)
goto fail;
}
- /* Everything lives on transfer controller 1 until otherwise
- * specified. This way, long transfers on the low priority queue
- * started by the codec engine will not cause audio defects.
- */
for (i = 0; i < edma_cc[j]->num_channels; i++)
- map_dmach_queue(j, i, EVENTQ_1);
+ map_dmach_queue(j, i, info[j]->default_queue);
queue_tc_mapping = info[j]->queue_tc_mapping;
queue_priority_mapping = info[j]->queue_priority_mapping;
diff --git a/arch/arm/mach-davinci/include/mach/edma.h b/arch/arm/mach-davinci/include/mach/edma.h
index 20c77f29bf0f..7e84c906ceff 100644
--- a/arch/arm/mach-davinci/include/mach/edma.h
+++ b/arch/arm/mach-davinci/include/mach/edma.h
@@ -250,6 +250,11 @@ struct edma_soc_info {
unsigned n_slot;
unsigned n_tc;
unsigned n_cc;
+ /*
+ * Default queue is expected to be a low-priority queue.
+ * This way, long transfers on the default queue started
+ * by the codec engine will not cause audio defects.
+ */
enum dma_event_q default_queue;
/* Resource reservation for other cores */