File tree 1 file changed +9
-2
lines changed 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change 46
46
47
47
#include "virt-dma.h"
48
48
49
+ static unsigned dma_debug ;
50
+ module_param (dma_debug , uint , 0644 );
51
+
49
52
struct bcm2835_dmadev {
50
53
struct dma_device ddev ;
51
54
spinlock_t lock ;
@@ -571,6 +574,7 @@ bcm2835_dma_prep_slave_sg(struct dma_chan *chan,
571
574
unsigned int len = sg_dma_len (sgent );
572
575
573
576
for (j = 0 ; j < len ; j += max_size ) {
577
+ u32 waits ;
574
578
struct bcm2835_dma_cb * control_block =
575
579
& d -> control_block_base [i + split_cnt ];
576
580
@@ -590,8 +594,10 @@ bcm2835_dma_prep_slave_sg(struct dma_chan *chan,
590
594
}
591
595
592
596
/* Common part */
593
- control_block -> info |=
594
- BCM2835_DMA_WAITS (BCM2835_DMA_WAIT_CYCLES );
597
+ waits = BCM2835_DMA_WAIT_CYCLES ;
598
+ if ((dma_debug >> 0 ) & 0x1f )
599
+ waits = (dma_debug >> 0 ) & 0x1f ;
600
+ control_block -> info |= BCM2835_DMA_WAITS (waits );
595
601
control_block -> info |= BCM2835_DMA_WAIT_RESP ;
596
602
597
603
/* Enable */
@@ -856,6 +862,7 @@ static int bcm2835_dma_probe(struct platform_device *pdev)
856
862
}
857
863
858
864
dev_dbg (& pdev -> dev , "Load BCM2835 DMA engine driver\n" );
865
+ dev_info (& pdev -> dev , "dma_debug:%x\n" , dma_debug );
859
866
860
867
return 0 ;
861
868
You can’t perform that action at this time.
0 commit comments