gpt4 book ai didi

Linux DMA 操作 - 如何启动传输

转载 作者:太空狗 更新时间:2023-10-29 12:35:07 27 4
gpt4 key购买 nike

我已阅读 Linux 设备驱动程序 LDD3 , DMA-API.txt, DMA-HOWTO.txt 也查看了 drivers/dma/dmatest.c 但我不知道你是如何启动 dma 传输的。所有关于映射内存的讨论都没有关于如何启动事务的讨论。PCI 示例驱动程序具有传输功能,但它使用“特定”DMA 操作,我正试图找出一个不依赖于硬件的更通用/可移植的实现

我正在尝试做类似的东西

  1. dma_map_single()
  2. 发起一个读/写事务
  3. 中断事务已完成,使用处理程序或 wait_event_freezable_timeout
  4. dma_unmap_single()

我只是读/写我映射的内存吗?如何注册回调处理程序?

编辑:为了提供更多细节,我正在 ARM 平台上工作。

最佳答案

也许 Xilinx 的示例可以提供帮助: http://www.wiki.xilinx.com/Zynq+Linux+pl330+DMA

来自三星的驱动程序(已包含在 linux 内核中): http://lxr.free-electrons.com/source/drivers/dma/pl330.c

关于Linux DMA 操作 - 如何启动传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13700461/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com