The MMC driver allocates channels with EVENTQ_DEFAULT, they get put into EVENTQ_1, which the second EDMA controller does not have and hence transfers stall. This is fixed in commit f23fe857bbea393b4b94fe2218c98d934bd3d4cf "ARM: davinci: Explicitly set channel controllers' default queues" from Ido Yariv. This patch sets immediately in edma_probe() the proper default_queue, so this patch does not really fix something, it is more a cosmetic change. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: juha.kuikka@xxxxxxxxx Reported-by: juha.kuikka@xxxxxxxxx Acked-by: Rajashekhara, Sudhakar <sudhakar.raj@xxxxxx> Cc: linux-mmc@xxxxxxxxxxxxxxx Cc: davinci-linux-open-source@xxxxxxxxxxxxxxxxxxxx Cc: Rajashekhara, Sudhakar <sudhakar.raj@xxxxxx> Cc: Ido Yariv <ido@xxxxxxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Cc: Wolfgang Denk <wd@xxxxxxx> Cc: Sergei Shtylyov <sshtylyov@xxxxxxxxxx> --- - changes for v2: - add comment from Sergei Shtylyov add in commit message the commit's summary in parens. - add comment from Ido Yariv: changed comment and commit message - added Acked-by from Rajashekhara, Sudhakar arch/arm/mach-davinci/dma.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-davinci/dma.c b/arch/arm/mach-davinci/dma.c index da90103..a0cabc7 100644 --- a/arch/arm/mach-davinci/dma.c +++ b/arch/arm/mach-davinci/dma.c @@ -1508,12 +1508,14 @@ 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. + /* + * Everything lives on transfer controller 1, except on the + * da850 MMC2 controller, so pass info[j]->default_queue. + * 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; -- 1.7.6.4 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html