ikwzm / udmabuf

User space mappable dma buffer device driver for Linux.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cache coherency problem on ARM in u-dma-buf 4.4.0

ikwzm opened this issue · comments

Board: ZYBO-Z7
Processor: armv7l
OS: https://github.com/ikwzm/FPGA-SoC-Linux/releases/tag/v2.2.0
Application: https://github.com/ikwzm/FPGA-SoC-Linux-Example-1-ZYBO-Z7

fpga@debian-fpga:~/examples/FPGA-SoC-Linux-Example-1-ZYBO-Z7$ sudo rake install
dtbocfg.rb --install uio_irq_sample --dts uio_irq_sample.dts
[ 2316.204921] fpga_manager fpga0: writing pump_axi4.bin to Xilinx Zynq FPGA Manager
[ 2316.280673] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /amba/fpga-region0/firmware-name
[ 2316.293772] fclkcfg amba:fclk0: driver version : 1.7.2
[ 2316.298927] fclkcfg amba:fclk0: device name    : amba:fclk0
[ 2316.306894] fclkcfg amba:fclk0: clock  name    : fclk0
[ 2316.313571] fclkcfg amba:fclk0: clock  rate    : 99999999
[ 2316.318972] fclkcfg amba:fclk0: clock  enabled : 1
[ 2316.326410] fclkcfg amba:fclk0: driver installed.
[ 2316.351653] u-dma-buf udmabuf4: driver version = 4.4.0
[ 2316.356814] u-dma-buf udmabuf4: major number   = 239
[ 2316.361906] u-dma-buf udmabuf4: minor number   = 0
[ 2316.366708] u-dma-buf udmabuf4: phys address   = 0x30100000
[ 2316.372377] u-dma-buf udmabuf4: buffer size    = 1048576
[ 2316.377691] u-dma-buf udmabuf4: dma device     = amba:pump-udmabuf4
[ 2316.384010] u-dma-buf udmabuf4: dma bus        = platform
[ 2316.389407] u-dma-buf udmabuf4: dma coherent   = 1
[ 2316.394243] u-dma-buf udmabuf4: dma mask       = 0x00000000ffffffff
[ 2316.400510] u-dma-buf udmabuf4: iommu domain   = NONE
[ 2316.405611] u-dma-buf udmabuf4: quirk mmap     = 0
[ 2316.410397] u-dma-buf amba:pump-udmabuf4: driver installed.
[ 2316.431651] u-dma-buf udmabuf5: driver version = 4.4.0
[ 2316.436794] u-dma-buf udmabuf5: major number   = 239
[ 2316.441908] u-dma-buf udmabuf5: minor number   = 1
[ 2316.446699] u-dma-buf udmabuf5: phys address   = 0x30200000
[ 2316.452328] u-dma-buf udmabuf5: buffer size    = 1048576
[ 2316.457642] u-dma-buf udmabuf5: dma device     = amba:pump-udmabuf5
[ 2316.463960] u-dma-buf udmabuf5: dma bus        = platform
[ 2316.469359] u-dma-buf udmabuf5: dma coherent   = 1
[ 2316.474197] u-dma-buf udmabuf5: dma mask       = 0x00000000ffffffff
[ 2316.480462] u-dma-buf udmabuf5: iommu domain   = NONE
[ 2316.485565] u-dma-buf udmabuf5: quirk mmap     = 0
[ 2316.490358] u-dma-buf amba:pump-udmabuf5: driver installed.
fpga@debian-fpga:~/examples/FPGA-SoC-Linux-Example-1-ZYBO-Z7$ ./sample1
time = 0.005468 sec
check buffer error addr=00000001, i=01, o=00
check buffer error addr=00000002, i=02, o=00
check buffer error addr=00000003, i=03, o=00
check buffer error addr=00000004, i=04, o=00
check buffer error addr=00000005, i=05, o=00
check buffer error addr=00000006, i=06, o=00
check buffer error addr=00000007, i=07, o=00
check buffer error addr=00000008, i=08, o=00
check buffer error addr=00000009, i=09, o=00
check buffer error addr=0000000a, i=0A, o=00
check buffer error addr=0000000b, i=0B, o=00
check buffer error addr=0000000c, i=0C, o=00
check buffer error addr=0000000d, i=0D, o=00
check buffer error addr=0000000e, i=0E, o=00
check buffer error addr=0000000f, i=0F, o=00
check buffer error addr=00000010, i=10, o=00
check buffer error
fpga@debian-fpga:~/examples/FPGA-SoC-Linux-Example-1-ZYBO-Z7$ ./sample2
time = 0.005477 sec
check buffer error