diff options
Diffstat (limited to 'arch/blackfin/kernel/bfin_dma_5xx.c')
-rw-r--r-- | arch/blackfin/kernel/bfin_dma_5xx.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index fd5448d6107c..d54f19085f37 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c | |||
@@ -90,6 +90,17 @@ int request_dma(unsigned int channel, char *device_id) | |||
90 | { | 90 | { |
91 | 91 | ||
92 | pr_debug("request_dma() : BEGIN \n"); | 92 | pr_debug("request_dma() : BEGIN \n"); |
93 | |||
94 | #if defined(CONFIG_BF561) && ANOMALY_05000182 | ||
95 | if (channel >= CH_IMEM_STREAM0_DEST && channel <= CH_IMEM_STREAM1_DEST) { | ||
96 | if (get_cclk() > 500000000) { | ||
97 | printk(KERN_WARNING | ||
98 | "Request IMDMA failed due to ANOMALY 05000182\n"); | ||
99 | return -EFAULT; | ||
100 | } | ||
101 | } | ||
102 | #endif | ||
103 | |||
93 | mutex_lock(&(dma_ch[channel].dmalock)); | 104 | mutex_lock(&(dma_ch[channel].dmalock)); |
94 | 105 | ||
95 | if ((dma_ch[channel].chan_status == DMA_CHANNEL_REQUESTED) | 106 | if ((dma_ch[channel].chan_status == DMA_CHANNEL_REQUESTED) |