diff options
author | Heiko Schocher <hs@denx.de> | 2012-01-19 02:05:21 -0500 |
---|---|---|
committer | Sekhar Nori <nsekhar@ti.com> | 2012-02-02 14:22:15 -0500 |
commit | 0b7580ba9d4ac653cf39fa754c21fa36c080e444 (patch) | |
tree | 9b8a4b963a6f133a6172f31b126cee128fd234d4 /arch/arm | |
parent | 62aa2b537c6f5957afd98e29f96897419ed5ebab (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 <hs@denx.de>
Signed-off-by: Juha Kuikka <juha.kuikka@gmail.com>
Reported-by: Juha Kuikka <juha.kuikka@gmail.com>
Acked-by: Rajashekhara, Sudhakar <sudhakar.raj@ti.com>
Cc: linux-mmc@vger.kernel.org
Cc: davinci-linux-open-source@linux.davincidsp.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: Rajashekhara, Sudhakar <sudhakar.raj@ti.com>
Cc: Ido Yariv <ido@wizery.com>
Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Sergei Shtylyov <sshtylyov@mvista.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-davinci/dma.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-davinci/include/mach/edma.h | 5 |
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) | |||
1508 | goto fail; | 1508 | goto fail; |
1509 | } | 1509 | } |
1510 | 1510 | ||
1511 | /* Everything lives on transfer controller 1 until otherwise | ||
1512 | * specified. This way, long transfers on the low priority queue | ||
1513 | * started by the codec engine will not cause audio defects. | ||
1514 | */ | ||
1515 | for (i = 0; i < edma_cc[j]->num_channels; i++) | 1511 | for (i = 0; i < edma_cc[j]->num_channels; i++) |
1516 | map_dmach_queue(j, i, EVENTQ_1); | 1512 | map_dmach_queue(j, i, info[j]->default_queue); |
1517 | 1513 | ||
1518 | queue_tc_mapping = info[j]->queue_tc_mapping; | 1514 | queue_tc_mapping = info[j]->queue_tc_mapping; |
1519 | queue_priority_mapping = info[j]->queue_priority_mapping; | 1515 | 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 { | |||
250 | unsigned n_slot; | 250 | unsigned n_slot; |
251 | unsigned n_tc; | 251 | unsigned n_tc; |
252 | unsigned n_cc; | 252 | unsigned n_cc; |
253 | /* | ||
254 | * Default queue is expected to be a low-priority queue. | ||
255 | * This way, long transfers on the default queue started | ||
256 | * by the codec engine will not cause audio defects. | ||
257 | */ | ||
253 | enum dma_event_q default_queue; | 258 | enum dma_event_q default_queue; |
254 | 259 | ||
255 | /* Resource reservation for other cores */ | 260 | /* Resource reservation for other cores */ |