Skip to content

Commit

Permalink
Blackfin: work around anomaly 05000480
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Steven Miao authored and Mike Frysinger committed May 25, 2011
1 parent 7a7a430 commit f9691bb
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions arch/blackfin/kernel/bfin_dma_5xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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];
Expand Down

0 comments on commit f9691bb

Please sign in to comment.