Comments (3)
Hi Brandon,
I Added more info for you.
- I have verified OK in bare metal, but fail in Linux.
- Linux dmesg , log and source code as below,
Please help me to check
Thank you very much
Stanley
Linux dmesg and log.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.0-xilinx-v2017.2 (hsiang@Linux) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 SMP PREEMPT Fri Dec 15 18:32:39 CST 2017
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt:Machine model: xlnx,zynq-7000
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] cma: Reserved 28 MiB at 0x1e400000
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] On node 0 totalpages: 131072
[ 0.000000] free_area_init_node: node 0, pgdat c0a32c00, node_mem_map ddfe9000
[ 0.000000] Normal zone: 1024 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 131072 pages, LIFO batch:31
[ 0.000000] percpu: Embedded 14 pages/cpu @ddfc1000 s25932 r8192 d23220 u57344
[ 0.000000] pcpu-alloc: s25932 r8192 d23220 u57344 alloc=14*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
[ 0.000000] Kernel command line: console=ttyPS0,115200 earlyprintk uio_pdrv_genirq.of_id=generic-uio cma=25M
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 475560K/524288K available (6144K kernel code, 206K rwdata, 1500K rodata, 1024K init, 233K bss, 20056K reserved, 28672K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xe0800000 - 0xff800000 ( 496 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0700000 (7136 kB)
[ 0.000000] .init : 0xc0900000 - 0xc0a00000 (1024 kB)
[ 0.000000] .data : 0xc0a00000 - 0xc0a33800 ( 206 kB)
[ 0.000000] .bss : 0xc0a33800 - 0xc0a6df18 ( 234 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] efuse mapped to e0800000
[ 0.000000] slcr mapped to e0802000
[ 0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
[ 0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
[ 0.000000] L2C-310 erratum 769419 enabled
[ 0.000000] L2C-310 enabling early BRESP for Cortex-A9
[ 0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[ 0.000000] L2C-310 ID prefetch enabled, offset 1 lines
[ 0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[ 0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[ 0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
[ 0.000000] zynq_clock_init: clkc starts at e0802100
[ 0.000000] Zynq clock init
[ 0.000010] sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
[ 0.007860] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
[ 0.018876] Switching to timer-based delay loop, resolution 3ns
[ 0.024877] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
[ 0.033927] timer #0 at e080a000, irq=17
[ 0.038296] Console: colour dummy device 80x30
[ 0.042621] Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
[ 0.053104] pid_max: default: 32768 minimum: 301
[ 0.057878] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.064386] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.072079] CPU: Testing write buffer coherency: ok
[ 0.076994] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.082559] Setting up static identity map for 0x100000 - 0x100058
[ 0.275271] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.275363] Brought up 2 CPUs
[ 0.283895] SMP: Total of 2 processors activated (1333.33 BogoMIPS).
[ 0.290265] CPU: All CPU(s) started in SVC mode.
[ 0.295695] devtmpfs: initialized
[ 0.302819] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[ 0.310573] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.321720] pinctrl core: initialized pinctrl subsystem
[ 0.328023] NET: Registered protocol family 16
[ 0.334228] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.365327] cpuidle: using governor menu
[ 0.383370] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 0.391272] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.397197] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xe0840000
[ 0.404060] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
[ 0.428847] vgaarb: loaded
[ 0.431785] SCSI subsystem initialized
[ 0.435738] usbcore: registered new interface driver usbfs
[ 0.441198] usbcore: registered new interface driver hub
[ 0.446510] usbcore: registered new device driver usb
[ 0.452489] media: Linux media interface: v0.10
[ 0.456954] Linux video capture interface: v2.00
[ 0.461633] pps_core: LinuxPPS API ver. 1 registered
[ 0.466523] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[ 0.475690] PTP clock support registered
[ 0.479679] EDAC MC: Ver: 3.0.0
[ 0.488427] FPGA manager framework
[ 0.491970] fpga-region fpga-full: FPGA Region probed
[ 0.497062] Advanced Linux Sound Architecture Driver Initialized.
[ 0.504017] clocksource: Switched to clocksource arm_global_timer
[ 0.521038] NET: Registered protocol family 2
[ 0.526062] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.533013] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.539525] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.545851] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.551638] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.558086] NET: Registered protocol family 1
[ 0.562704] RPC: Registered named UNIX socket transport module.
[ 0.568520] RPC: Registered udp transport module.
[ 0.573213] RPC: Registered tcp transport module.
[ 0.577961] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.584419] PCI: CLS 0 bytes, default 64
[ 0.584629] Trying to unpack rootfs image as initramfs...
[ 1.061337] Freeing initrd memory: 5616K (c7a84000 - c8000000)
[ 1.067445] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[ 1.076728] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 1.083428] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[ 1.090464] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 1.098096] io scheduler noop registered
[ 1.101899] io scheduler deadline registered
[ 1.106236] io scheduler cfq registered (default)
[ 1.113697] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
[ 1.120361] dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[ 1.129204] xilinx-vdma 40400000.dma: Xilinx AXI VDMA Engine Driver Probed!!
[ 1.137169] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 144, base_baud = 3125000) is a xuartps
[ 1.146293] console [ttyPS0] enabled
[ 1.153344] bootconsole [earlycon0] disabled
[ 1.162680] xdevcfg f8007000.devcfg: ioremap 0xf8007000 to e0828000
[ 1.169627] [drm] Initialized
[ 1.185453] brd: module loaded
[ 1.195580] loop: module loaded
[ 1.201498] m25p80 spi0.0: found s25fl256s1, expected m25p80
[ 1.207201] m25p80 spi0.0: s25fl256s1 (32768 Kbytes)
[ 1.212113] 4 ofpart partitions found on MTD device spi0.0
[ 1.217574] Creating 4 MTD partitions on "spi0.0":
[ 1.222327] 0x000000000000-0x000000500000 : "boot"
[ 1.228517] 0x000000500000-0x000000520000 : "bootenv"
[ 1.234849] 0x000000520000-0x000000fa0000 : "kernel"
[ 1.241017] 0x000000fa0000-0x000002000000 : "spare"
[ 1.247605] libphy: Fixed MDIO Bus: probed
[ 1.253862] CAN device driver interface
[ 1.259170] libphy: MACB_mii_bus: probed
[ 1.364235] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 146 (00:0a:35:00:1e:53)
[ 1.374105] Marvell 88E1510 e000b000.etherne:00: attached PHY driver [Marvell 88E1510] (mii_bus:phy_addr=e000b000.etherne:00, irq=-1)
[ 1.386363] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 1.392112] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 1.399011] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.405489] ehci-pci: EHCI PCI platform driver
[ 1.410046] usbcore: registered new interface driver usb-storage
[ 1.417472] mousedev: PS/2 mouse device common for all mice
[ 1.423360] i2c /dev entries driver
[ 1.427049] cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 141
[ 1.436106] EDAC MC: ECC not enabled
[ 1.439832] Xilinx Zynq CpuIdle Driver started
[ 1.444941] sdhci: Secure Digital Host Controller Interface driver
[ 1.451032] sdhci: Copyright(c) Pierre Ossman
[ 1.455488] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.514076] mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using DMA
[ 1.523780] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.530210] usbcore: registered new interface driver usbhid
[ 1.535735] usbhid: USB HID core driver
[ 1.550613] NET: Registered protocol family 10
[ 1.556079] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.562698] NET: Registered protocol family 17
[ 1.567104] can: controller area network core (rev 20120528 abi 9)
[ 1.573272] NET: Registered protocol family 29
[ 1.577673] can: raw protocol (rev 20120528)
[ 1.581902] can: broadcast manager protocol (rev 20161123 t)
[ 1.587591] can: netlink gateway (rev 20130117) max_hops=1
[ 1.593314] Registering SWP/SWPB emulation handler
[ 1.602814] hctosys: unable to open rtc device (rtc0)
[ 1.607844] of_cfs_init
[ 1.610314] mmc0: new high speed SDHC card at address 0007
[ 1.610326] of_cfs_init: OK
[ 1.610589] ALSA device list:
[ 1.610592] No soundcards found.
[ 1.628308] Freeing unused kernel memory: 1024K (c0900000 - c0a00000)
[ 1.635750] mmcblk0: mmc0:0007 DDINC 3.71 GiB
[ 1.643984] mmcblk0: p1
[ 1.919123] udevd[737]: starting version 3.2
[ 1.924244] random: udevd: uninitialized urandom read (16 bytes read)
[ 1.930819] random: udevd: uninitialized urandom read (16 bytes read)
[ 1.937354] random: udevd: uninitialized urandom read (16 bytes read)
[ 1.953365] udevd[738]: starting eudev-3.2
[ 2.028175] random: udevd: uninitialized urandom read (16 bytes read)
[ 2.251585] random: fast init done
[ 3.321488] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 139.899575] xilinx_axidma: loading out-of-tree module taints kernel.
[ 139.908052] axidma: axidma_dma.c: axidma_dma_init: 706: Stanley DMA: Found 0 transmit channels and 1 receive channels.
[ 139.918731] axidma: axidma_dma.c: axidma_dma_init: 708: VDMA: Found 0 transmit channels and 0 receive channels.`
root@dylan_linux:~# axidma-benchmark &
[1] 1064
axidma_benchmark: rx_size=8294400
libaxidma: mmap size=8294400
[ 156.348704] axidma: axidma_chrdev.c: axidma_mmap: 269: vma->vm_end=0xb6e49000, vma->vm_start=0xb6660000, dma_alloc->size=1651076143
root@dylan_linux:~# [ 156.387196] axidma: axidma_chrdev.c: axidma_mmap: 297: remap address de500000 to userspace address b6660000, size 8294400.
channel 0 size: 1 Buffer size:8294400
Start Receive
root@dylan_linux:~# adc_ctrl.sh
Start ADC Ctrl
devmem 0x43c10000 32 0x1c
devmem 0x43c10000 32 0x60
devmem 0x43c10004 32 0x4268
devmem 0x43c1000c 32 0x0
devmem 0x43c10000 32 0x4000000
devmem 0x43c10000 32 0x400
devmem 0x43c10000 32 0x1000
devmem 0x43c10008 32 0x6400
devmem 0x43c10000 32 0x1
devmem 0x43c10000 32 0x2000
[ 181.067560] xilinx-vdma 40400000.dma: Channel ddab7c10 has errors 40, cdr 0 tdr 0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
devmem 0x43c10000 32 0x1000
devmem 0x43c10008 32 0x13880
devmem 0x43c10000 32 0x4000
devmem 0x43c10000 32 0x400
devmem 0x43c10000 32 0x1
ADC Ctrl End
[1]+ Done axidma-benchmark
root@dylan_linux:~#
root@dylan_linux:~# cat /proc/iomem
00000000-1fffffff : Syste`m RAM
00008000-008fffff : Kernel code
00a00000-00a6df17 : Kernel data
40400000-4040ffff : /amba_pl/dma@40400000
e0001000-e0001fff : xuartps
e0004000-e0004fff : /amba/i2c@e0004000
e000a000-e000afff : /amba/gpio@e000a000
e000b000-e000bfff : /amba/ethernet@e000b000
e000d000-e000dfff : /amba/spi@e000d000
e0100000-e0100fff : /amba/sdhci@e0100000
f8003000-f8003fff : /amba/dmac@f8003000
f8003000-f8003fff : /amba/dmac@f8003000
f8005000-f8005fff : /amba/watchdog@f8005000
f8007000-f80070ff : /amba/devcfg@f8007000
f8007100-f800711f : /amba/adc@f8007100
f800c000-f800cfff : /amba/ocmc@f800c000
fffc0000-ffffffff : f800c000.ocmc
root@dylan_linux:~# cat /sys/kernel/
config/ debug/ fscaps irq/ mm/ notes rcu_expedited rcu_normal uevent_helper uevent_seqnum
root@dylan_linux:~# cat /sys/kernel/debug/
asoc/ dma_buf/ gpio kernel_page_tables pinctrl/ regmap/ suspend_stats
bdi/ dri/ hid/ memblock/ pm_qos/ regulator/ usb/
clk/ fault_around_bytes iio/ mmc0/ ras/ sleep_time wakeup_sources
root@dylan_linux:~# cat /sys/kernel/debug/kernel_page_tables
---[ Modules ]---
0xbf000000-0xbf001000 4K RW x SHD MEM/CACHED/WBWA
0xbf004000-0xbf009000 20K RW x SHD MEM/CACHED/WBWA
---[ Kernel Mapping ]---
0xc0000000-0xc0100000 1M RW NX SHD
0xc0100000-0xc0700000 6M ro x SHD
0xc0700000-0xc0900000 2M ro NX SHD
0xc0900000-0xde400000 475M RW NX SHD
0xde400000-0xde444000 272K RW NX SHD MEM/BUFFERABLE/WC
0xde444000-0xde448000 16K RW NX SHD MEM/CACHED/WBWA
0xde448000-0xde450000 32K RW NX SHD MEM/BUFFERABLE/WC
0xde450000-0xe0000000 28352K RW NX SHD MEM/CACHED/WBWA
---[ vmalloc() Area ]---
0xe0800000-0xe08010`00 4K RW NX SHD DEV/SHARED
0xe0802000-0xe0803000 4K RW NX SHD DEV/SHARED
0xe0804000-0xe0805000 4K RW NX SHD DEV/SHARED
0xe0806000-0xe0807000 4K RW NX SHD DEV/SHARED
0xe0808000-0xe0809000 4K RW NX SHD DEV/SHARED
0xe080a000-0xe080b000 4K RW NX SHD DEV/SHARED
0xe0810000-0xe0811000 4K RW NX SHD MEM/CACHED/WBWA
0xe0814000-0xe0815000 4K RW NX SHD DEV/SHARED
0xe0818000-0xe0819000 4K RW NX SHD DEV/SHARED
0xe081a000-0xe0825000 44K RW NX SHD MEM/CACHED/WBWA
0xe0826000-0xe0827000 4K RW NX SHD DEV/SHARED
0xe0828000-0xe0829000 4K RW NX SHD DEV/SHARED
0xe083c000-0xe083d000 4K RW NX SHD DEV/SHARED
0xe083e000-0xe083f000 4K RW NX SHD DEV/SHARED
0xe0840000-0xe0880000 256K RW NX SHD DEV/SHARED
0xe0881000-0xe08c3000 264K RW NX SHD MEM/CACHED/WBWA
0xe08cd000-0xe08ce000 4K RW NX SHD DEV/SHARED
0xe08d0000-0xe08e0000 64K RW NX SHD DEV/SHARED
0xe0956000-0xe0957000 4K RW NX SHD DEV/SHARED
0xe095a000-0xe095b000 4K RW NX SHD DEV/SHARED
0xe095c000-0xe095d000 4K RW NX SHD DEV/SHARED
0xe095e000-0xe095f000 4K RW NX SHD DEV/SHARED
0xe0960000-0xe0961000 4K RW x SHD MEM/CACHED/WBWA
0xe0997000-0xe099a000 12K RW NX SHD MEM/CACHED/WBWA
0xe099b000-0xe099e000 12K RW NX SHD MEM/CACHED/WBWA
0xf0801000-0xf0802000 4K RW NX SHD DEV/SHARED
0xf8f00000-0xf8f01000 4K RW NX SHD DEV/SHARED
0xff7e4000-0xff7ed000 36K RW NX SHD MEM/CACHED/WBWA
0xff7f2000-0xff7fb000 36K RW NX SHD MEM/CACHED/WBWA
---[ vmalloc() End ]---
---[ Fixmap Area ]---
---[ Vectors ]---
0xffff0000-0xffff1000 4K USR ro x SHD MEM/CACHED/WBWA
0xffff1000-0xffff2000 4K ro x SHD MEM/CACHED/WBWA
---[ Vectors End ]---
root@dylan_linux:~# devmem 0x40400048
0x1E500000
root@dylan_linux:~# devmem 0x40400058
0x00001000
root@dylan_linux:~# devmem 0x40400034
0x00000041
App source code
#define BUFFER_SIZE (1920 * 1080 * 4)
#define TRANSFER_LEN 16
void dma_int_handler(int channel_id, void *data)
{
if(channel_id != MYCHAN)
printf("ERROR: unexpected channel id %d\n", channel_id);
(*(int*)data) = 1; // done
}
int array_contains(int target, int *array, int length)
{
int i;
for (i=0; i<length; i++)
if ( array[i] == target ) return 1;
return 0;
}
void display_result(char *buffer)
{
int i, *p = (int*)buffer;
for(i=0; i<TRANSFER_LEN; i++) {
printf("%08x ", *(p++));
if (i % 8 == 7)
printf("\n");
}
}
void main()
{
int rc;
int rx_channel;
axidma_dev_t axidma_dev;
const array_t *rx_chans;
char *rx_buf;
// Initialize the AXI DMA device
axidma_dev = axidma_init();
if (axidma_dev == NULL) {
fprintf(stderr, "Failed to initialize the AXI DMA device.\n");
rc = 1;
}
printf("axidma_benchmark: rx_size=%zu\n", BUFFER_SIZE);
rx_buf = axidma_malloc(axidma_dev, BUFFER_SIZE);
if (rx_buf == NULL) {
perror("Unable to allocate receive buffer from the AXI DMA device");
rc = -1;
goto exit;
}
rx_chans = axidma_get_dma_rx(axidma_dev);
if (rx_chans->len < 1) {
fprintf(stderr, "Error: No receive channels were found.\n");
rc = -ENODEV;
goto free_rx_buf;
}
printf("channel %d size: %d Buffer size:%d\r\n", rx_chans->data[0],rx_chans->len,BUFFER_SIZE);
rx_channel = rx_chans->data[0];
volatile int done = 0;
axidma_set_callback(axidma_dev, rx_channel, dma_int_handler, (void*)&done);
printf("Start Receive\n");
int ret = axidma_oneway_transfer(axidma_dev, rx_channel, rx_buf, BUFFER_SIZE, false);
while (!done) {
;
// axidma_stop_transfer(hdma, MYCHAN, enum axidma_dir dir);
}
display_result(rx_buf);
free_rx_buf:
axidma_free(axidma_dev, rx_buf, BUFFER_SIZE);
exit:
axidma_destroy(axidma_dev);
}
from xilinx_axidma.
This is a perplexing issue. So the problem, as you know, is a DMA decode error, which means that the AXI DMA IP is receiving an invalid physical address when it is trying to perform the receive transfer. However, this (theoretically) should be impossible, because the driver explicitly checks that the address you specify was previously allocated by a call to axidma_malloc
. On top of that, your app is pretty straightforward, and doesn't violate any of the rules.
So for some reason, the DMA address being used is invalid, but I've never seen this issue before. Is there anything new in the kernel log after you run your application? If so, can you post it? I'll need to look into this issue more.
from xilinx_axidma.
Closing this issue due to inactivity.
from xilinx_axidma.
Related Issues (20)
- Driver asserting (or expecting in the case for Rx channel) Tlast twice ? Is this expected behavior and this is what it was intended ? HOT 1
- When to start oneway transfer in PS? HOT 1
- Can't build driver on petalinux 2020.2 HOT 2
- No tx_channel and rx_channel devices in /dev. Petalinux 2020.2 HOT 2
- problem about "axidma_oneway_transfer "
- Does the driver support single channel DMA? HOT 8
- 一个小bug及解决办法,应用层程序多次调用问题 HOT 13
- Question about asynchronous transfer return value
- Howto setup continuous DMA transfers? HOT 1
- Using xilinx_axidma driver in Petalinux 2022 and Linux Kernel Version 5.15.19 HOT 1
- One-way transfer from PL to PS
- One-way transfer from PL to PS HOT 2
- axidma: axidma_chrdev.c: axidma_mmap: 294: Unable to allocate contiguous DMA memory region of size 8294400. HOT 3
- axidma_oneway_transfer() transfer issue HOT 5
- Petalinux wont build - Error at axidma_chrdev node in system-user.dtsi HOT 2
- segmentation fault on insmod HOT 2
- how can i use the dma with the interrupt HOT 1
- Unable to handle kernel NULL pointer dereference at virtual address 00000000 HOT 4
- Can axidma_video_transfer work? Kernel stack is corrupted in: axidma_prep_transfer+0x2b8/0x308 HOT 2
- the axidma_transfer.c can't recieve data HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xilinx_axidma.