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