From 1ac6fe97e548f077f2d4c1d9bccc1808435c093d Mon Sep 17 00:00:00 2001 From: Michael Hennerich Date: Sat, 17 May 2008 15:57:01 +0800 Subject: [PATCH] --- yaml --- r: 96971 b: refs/heads/master c: 5ce998cf6d1dbb28f14dea879a366ed5348f9681 h: refs/heads/master i: 96969: de1eaf5e9e00cc4f1c8d8af62c451c53673b7be7 96967: 9203b166e6b72bbe882f4645ccbc33cb2578233e v: v3 --- [refs] | 2 +- trunk/arch/blackfin/kernel/bfin_dma_5xx.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index bc1a9fd27a25..6306adbc5bcd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9cd9c616f5890c9345546e03c99ba392b7a82cdf +refs/heads/master: 5ce998cf6d1dbb28f14dea879a366ed5348f9681 diff --git a/trunk/arch/blackfin/kernel/bfin_dma_5xx.c b/trunk/arch/blackfin/kernel/bfin_dma_5xx.c index fd5448d6107c..d54f19085f37 100644 --- a/trunk/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/trunk/arch/blackfin/kernel/bfin_dma_5xx.c @@ -90,6 +90,17 @@ int request_dma(unsigned int channel, char *device_id) { pr_debug("request_dma() : BEGIN \n"); + +#if defined(CONFIG_BF561) && ANOMALY_05000182 + if (channel >= CH_IMEM_STREAM0_DEST && channel <= CH_IMEM_STREAM1_DEST) { + if (get_cclk() > 500000000) { + printk(KERN_WARNING + "Request IMDMA failed due to ANOMALY 05000182\n"); + return -EFAULT; + } + } +#endif + mutex_lock(&(dma_ch[channel].dmalock)); if ((dma_ch[channel].chan_status == DMA_CHANNEL_REQUESTED)