Blackfin arch: Check for Anomaly 05000182

IMDMA does not operate to full speed for 600MHz and higher devices

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
Michael Hennerich 2008-05-17 15:57:01 +08:00 committed by Bryan Wu
parent 9cd9c616f5
commit 5ce998cf6d
1 changed files with 11 additions and 0 deletions

View File

@ -90,6 +90,17 @@ int request_dma(unsigned int channel, char *device_id)
{ {
pr_debug("request_dma() : BEGIN \n"); 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)); mutex_lock(&(dma_ch[channel].dmalock));
if ((dma_ch[channel].chan_status == DMA_CHANNEL_REQUESTED) if ((dma_ch[channel].chan_status == DMA_CHANNEL_REQUESTED)