1 2===============Following are obsolete content================= 3 4Currently used driver xilinx_dma-orig.c is based on 552d3f11e374ca0d435aa93a571507819eabdda2 of https://github.com/Xilinx/linux-xlnx ) 5 6instruction to generate our customized xilinx dma driver: 7 8./make_xilinx_dma.sh 9 10instruction to generate our customized xilinx dma test program: 11 12./make_xilinx_dma_test.sh 13 14test dma driver on board: login to zc706, then: 15 16 rm axidmatest.ko 17 wget ftp://192.168.10.1/driver/xilinx_dma/axidmatest.ko 18 rm ddc.ko 19 wget ftp://192.168.10.1/driver/ddc/ddc.ko 20 rm xilinx_dma.ko 21 wget ftp://192.168.10.1/driver/xilinx_dma/xilinx_dma.ko 22 rmmod axidmatest 23 rmmod ddc 24 rmmod xilinx_dma 25 insmod xilinx_dma.ko 26 insmod ddc.ko 27 insmod axidmatest.ko 28 dmesg -c 29 30dmesg will show test result printed by "insmod axidmatest.ko". Like this: 31 32 root@analog:~# dmesg -c 33 xilinx_dmatest: dropped channel dma5chan0 34 xilinx_dmatest: dropped channel dma5chan1 35 36 sdr,ddc dev_remove base_addr 0xf14e0000 37 sdr,ddc dev_remove ddc_driver_api_inst 0xbf032284 38 sdr,ddc dev_remove ddc_api 0xbf032284 39 sdr,ddc dev_remove succeed! 40 xilinx-vdma 43000000.axivdma: Xilinx AXI VDMA Engine Driver Probed!! 41 xilinx-vdma 80400000.dma: Xilinx AXI DMA Engine Driver Probed!! 42 xilinx-vdma 80410000.dma: Xilinx AXI DMA Engine Driver Probed!! 43 44 sdr,ddc dev_probe match! 45 sdr,ddc dev_probe io start 0x83c20000 end 0x83c2ffff name /fpga-axi@0/rx_intf@83c20000 flags 0x00000200 desc 0x00000000 46 sdr,ddc dev_probe base_addr 0xf18e0000 47 sdr,ddc dev_probe ddc_driver_api_inst 0xbf0e1284 48 sdr,ddc dev_probe ddc_api 0xbf0e1284 49 sdr,ddc dev_probe reset tsf timer 50 sdr,ddc dev_probe tsf timer runtime read 1 33007 100015us 51 sdr,ddc dev_probe succeed! 52 sdr,ddc hw_init mode 0 53 sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 54 sdr,ddc hw_init err 0 55 dmatest: Started 1 threads using dma5chan0 dma5chan1 56 align 3 57 sdr,ddc hw_init mode 0 58 sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 59 sdr,ddc hw_init err 0 60 tx_tmo 99 status 0 len 6448 DMA_COMPLETE 0 61 dma5chan0-dma5c: verifying source buffer... 62 dma5chan0-dma5c: verifying dest buffer... 63 dma5chan0-dma5c: #0: No errors with 64 src_off=0x448 dst_off=0x568 len=0x1930 65 align 3 66 sdr,ddc hw_init mode 0 67 sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 68 sdr,ddc hw_init err 0 69 tx_tmo 100 status 0 len 3248 DMA_COMPLETE 0 70 dma5chan0-dma5c: verifying source buffer... 71 dma5chan0-dma5c: verifying dest buffer... 72 dma5chan0-dma5c: #1: No errors with 73 src_off=0x458 dst_off=0xf08 len=0xcb0 74 align 3 75 sdr,ddc hw_init mode 0 76 sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 77 sdr,ddc hw_init err 0 78 tx_tmo 100 status 0 len 8112 DMA_COMPLETE 0 79 dma5chan0-dma5c: verifying source buffer... 80 dma5chan0-dma5c: verifying dest buffer... 81 dma5chan0-dma5c: #2: No errors with 82 src_off=0x10 dst_off=0x20 len=0x1fb0 83 align 3 84 sdr,ddc hw_init mode 0 85 sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 86 sdr,ddc hw_init err 0 87 tx_tmo 100 status 0 len 840 DMA_COMPLETE 0 88 dma5chan0-dma5c: verifying source buffer... 89 dma5chan0-dma5c: verifying dest buffer... 90 dma5chan0-dma5c: #3: No errors with 91 src_off=0x1890 dst_off=0x1268 len=0x348 92 align 3 93 sdr,ddc hw_init mode 0 94 sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 95 sdr,ddc hw_init err 0 96 tx_tmo 100 status 0 len 7816 DMA_COMPLETE 0 97 dma5chan0-dma5c: verifying source buffer... 98 dma5chan0-dma5c: verifying dest buffer... 99 dma5chan0-dma5c: #4: No errors with 100 src_off=0x80 dst_off=0x168 len=0x1e88 101 dma5chan0-dma5c: terminating after 5 tests, 0 failures (status 0) 102 103