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 <[email protected]> Signed-off-by: [email protected] Reported-by: [email protected] Acked-by: Rajashekhara, Sudhakar <[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]> --- - 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
