【问题标题】:Flush cache for memory allocated by kmalloc刷新 kmalloc 分配的内存的缓存
【发布时间】:2014-02-06 22:40:37
【问题描述】:

我在驱动程序中使用 kmalloc 分配内存,并将此地址传递给我的硬件 寄存器写入。我的问题是硬件何时完成写作(我的 驱动程序收到中断通知),我该如何刷新缓存 我的驱动程序可以看到硬件写入的内容吗?

谢谢。

【问题讨论】:

标签: linux-kernel


【解决方案1】:

当您使用流式 DMA 映射时,dma_map_* 和 dma_unmap_* 函数会在需要时负责刷新缓存。

如果您需要多次使用同一个流式 DMA 区域并在 DMA 传输之间访问数据,您可以使用 dma_sync_* 函数。

阅读Documentation/DMA-API-HOWTO.txt了解详情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多