1*c6ad17acSJiao Xianjun 2*c6ad17acSJiao Xianjun===============Following are obsolete content================= 3*c6ad17acSJiao Xianjun 42ee67178SXianjun JiaoCurrently used driver xilinx_dma-orig.c is based on 552d3f11e374ca0d435aa93a571507819eabdda2 of https://github.com/Xilinx/linux-xlnx ) 52ee67178SXianjun Jiao 62ee67178SXianjun Jiaoinstruction to generate our customized xilinx dma driver: 72ee67178SXianjun Jiao 82ee67178SXianjun Jiao./make_xilinx_dma.sh 92ee67178SXianjun Jiao 102ee67178SXianjun Jiaoinstruction to generate our customized xilinx dma test program: 112ee67178SXianjun Jiao 122ee67178SXianjun Jiao./make_xilinx_dma_test.sh 132ee67178SXianjun Jiao 142ee67178SXianjun Jiaotest dma driver on board: login to zc706, then: 152ee67178SXianjun Jiao 162ee67178SXianjun Jiao rm axidmatest.ko 172ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/xilinx_dma/axidmatest.ko 182ee67178SXianjun Jiao rm ddc.ko 192ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/ddc/ddc.ko 202ee67178SXianjun Jiao rm xilinx_dma.ko 212ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/xilinx_dma/xilinx_dma.ko 222ee67178SXianjun Jiao rmmod axidmatest 232ee67178SXianjun Jiao rmmod ddc 242ee67178SXianjun Jiao rmmod xilinx_dma 252ee67178SXianjun Jiao insmod xilinx_dma.ko 262ee67178SXianjun Jiao insmod ddc.ko 272ee67178SXianjun Jiao insmod axidmatest.ko 282ee67178SXianjun Jiao dmesg -c 292ee67178SXianjun Jiao 302ee67178SXianjun Jiaodmesg will show test result printed by "insmod axidmatest.ko". Like this: 312ee67178SXianjun Jiao 322ee67178SXianjun Jiao root@analog:~# dmesg -c 332ee67178SXianjun Jiao xilinx_dmatest: dropped channel dma5chan0 342ee67178SXianjun Jiao xilinx_dmatest: dropped channel dma5chan1 352ee67178SXianjun Jiao 362ee67178SXianjun Jiao sdr,ddc dev_remove base_addr 0xf14e0000 372ee67178SXianjun Jiao sdr,ddc dev_remove ddc_driver_api_inst 0xbf032284 382ee67178SXianjun Jiao sdr,ddc dev_remove ddc_api 0xbf032284 392ee67178SXianjun Jiao sdr,ddc dev_remove succeed! 402ee67178SXianjun Jiao xilinx-vdma 43000000.axivdma: Xilinx AXI VDMA Engine Driver Probed!! 412ee67178SXianjun Jiao xilinx-vdma 80400000.dma: Xilinx AXI DMA Engine Driver Probed!! 422ee67178SXianjun Jiao xilinx-vdma 80410000.dma: Xilinx AXI DMA Engine Driver Probed!! 432ee67178SXianjun Jiao 442ee67178SXianjun Jiao sdr,ddc dev_probe match! 452ee67178SXianjun Jiao sdr,ddc dev_probe io start 0x83c20000 end 0x83c2ffff name /fpga-axi@0/rx_intf@83c20000 flags 0x00000200 desc 0x00000000 462ee67178SXianjun Jiao sdr,ddc dev_probe base_addr 0xf18e0000 472ee67178SXianjun Jiao sdr,ddc dev_probe ddc_driver_api_inst 0xbf0e1284 482ee67178SXianjun Jiao sdr,ddc dev_probe ddc_api 0xbf0e1284 492ee67178SXianjun Jiao sdr,ddc dev_probe reset tsf timer 502ee67178SXianjun Jiao sdr,ddc dev_probe tsf timer runtime read 1 33007 100015us 512ee67178SXianjun Jiao sdr,ddc dev_probe succeed! 522ee67178SXianjun Jiao sdr,ddc hw_init mode 0 532ee67178SXianjun Jiao sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 542ee67178SXianjun Jiao sdr,ddc hw_init err 0 552ee67178SXianjun Jiao dmatest: Started 1 threads using dma5chan0 dma5chan1 562ee67178SXianjun Jiao align 3 572ee67178SXianjun Jiao sdr,ddc hw_init mode 0 582ee67178SXianjun Jiao sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 592ee67178SXianjun Jiao sdr,ddc hw_init err 0 602ee67178SXianjun Jiao tx_tmo 99 status 0 len 6448 DMA_COMPLETE 0 612ee67178SXianjun Jiao dma5chan0-dma5c: verifying source buffer... 622ee67178SXianjun Jiao dma5chan0-dma5c: verifying dest buffer... 632ee67178SXianjun Jiao dma5chan0-dma5c: #0: No errors with 642ee67178SXianjun Jiao src_off=0x448 dst_off=0x568 len=0x1930 652ee67178SXianjun Jiao align 3 662ee67178SXianjun Jiao sdr,ddc hw_init mode 0 672ee67178SXianjun Jiao sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 682ee67178SXianjun Jiao sdr,ddc hw_init err 0 692ee67178SXianjun Jiao tx_tmo 100 status 0 len 3248 DMA_COMPLETE 0 702ee67178SXianjun Jiao dma5chan0-dma5c: verifying source buffer... 712ee67178SXianjun Jiao dma5chan0-dma5c: verifying dest buffer... 722ee67178SXianjun Jiao dma5chan0-dma5c: #1: No errors with 732ee67178SXianjun Jiao src_off=0x458 dst_off=0xf08 len=0xcb0 742ee67178SXianjun Jiao align 3 752ee67178SXianjun Jiao sdr,ddc hw_init mode 0 762ee67178SXianjun Jiao sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 772ee67178SXianjun Jiao sdr,ddc hw_init err 0 782ee67178SXianjun Jiao tx_tmo 100 status 0 len 8112 DMA_COMPLETE 0 792ee67178SXianjun Jiao dma5chan0-dma5c: verifying source buffer... 802ee67178SXianjun Jiao dma5chan0-dma5c: verifying dest buffer... 812ee67178SXianjun Jiao dma5chan0-dma5c: #2: No errors with 822ee67178SXianjun Jiao src_off=0x10 dst_off=0x20 len=0x1fb0 832ee67178SXianjun Jiao align 3 842ee67178SXianjun Jiao sdr,ddc hw_init mode 0 852ee67178SXianjun Jiao sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 862ee67178SXianjun Jiao sdr,ddc hw_init err 0 872ee67178SXianjun Jiao tx_tmo 100 status 0 len 840 DMA_COMPLETE 0 882ee67178SXianjun Jiao dma5chan0-dma5c: verifying source buffer... 892ee67178SXianjun Jiao dma5chan0-dma5c: verifying dest buffer... 902ee67178SXianjun Jiao dma5chan0-dma5c: #3: No errors with 912ee67178SXianjun Jiao src_off=0x1890 dst_off=0x1268 len=0x348 922ee67178SXianjun Jiao align 3 932ee67178SXianjun Jiao sdr,ddc hw_init mode 0 942ee67178SXianjun Jiao sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK 952ee67178SXianjun Jiao sdr,ddc hw_init err 0 962ee67178SXianjun Jiao tx_tmo 100 status 0 len 7816 DMA_COMPLETE 0 972ee67178SXianjun Jiao dma5chan0-dma5c: verifying source buffer... 982ee67178SXianjun Jiao dma5chan0-dma5c: verifying dest buffer... 992ee67178SXianjun Jiao dma5chan0-dma5c: #4: No errors with 1002ee67178SXianjun Jiao src_off=0x80 dst_off=0x168 len=0x1e88 1012ee67178SXianjun Jiao dma5chan0-dma5c: terminating after 5 tests, 0 failures (status 0) 1022ee67178SXianjun Jiao 103