renwinping
renwinping
Artix-DMA1(https://github.com/KrepakVitaly/Artix-DMA1/tree/sync-for-cpu-in-getbuf/v2_xdma) 瞄了一下代码与官网逻辑有点不太一样。有人使用过么(在内核6.6)? 评价如何?
在run_test.sh脚本中测试为“固定次数”的收发,如下命令 ./dma_streaming_test.sh $transferSize $transferCount $channelPairs 是不是不能满足长期运行测试的要求(都是指定循环次数)? 自己修改了dma_from_device.c(添加无限制循环写),对侧dma_to_device.c也作相似修改后,循环收发(读写)指定固定格式帧(为了校验)时,会存在误码问题(即几千次后的某一帧/包,会存在误码, 这个包越大出现的情况越大,小包长度2k以下好像未发现)。
//xdma/cdev_ctrl.c case XDMA_IOCINFO: if (copy_from_user((void *)&ioctl_obj, (void __user *) arg, sizeof(struct xdma_ioc_base))) { pr_err("copy_from_user failed.\n"); return -EFAULT; } if (ioctl_obj.magic != XDMA_XCL_MAGIC) { pr_err("magic 0x%x != XDMA_XCL_MAGIC (0x%x).\n", ioctl_obj.magic, XDMA_XCL_MAGIC);...
case XDMA_IOCINFO: if (copy_from_user((void *)&ioctl_obj, (void __user *) arg, sizeof(struct xdma_ioc_base))) { pr_err("copy_from_user failed.\n"); return -EFAULT; } if (ioctl_obj.magic != XDMA_XCL_MAGIC) { pr_err("magic 0x%x != XDMA_XCL_MAGIC (0x%x).\n", ioctl_obj.magic, XDMA_XCL_MAGIC); return...
#这个driver中完全没有涉及到驱动的“中断”模式的测试,究竟要如何配置驱动,如何操作寄存器空间?