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