Blackfin: work around anomaly 05000480

Anomaly 05000480 on BF537 rev 0.0, 0.1, 0.2:
Multiple Simultaneous Urgent DMA Requests May Cause DMA System Instability

Suggested Workaround:
Program the DMA Traffic Control Period to a non-zero value.  This forces
the DMA block to group accesses together rather than allow arbitration for
each piece of data placed on the internal DMA bus.

Signed-off-by: Steven Miao <realmz6@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Steven Miao 2011-05-05 14:14:48 +08:00 committed by Mike Frysinger
parent 7a7a430f74
commit f9691bb967

View File

@ -36,6 +36,11 @@ static int __init blackfin_dma_init(void)
printk(KERN_INFO "Blackfin DMA Controller\n");
#if ANOMALY_05000480
bfin_write_DMAC_TC_PER(0x0111);
#endif
for (i = 0; i < MAX_DMA_CHANNELS; i++) {
atomic_set(&dma_ch[i].chan_status, 0);
dma_ch[i].regs = dma_io_base_addr[i];