gpt4 book ai didi

Centos 8 (Kernel 4.18) : Max. 大小为 dma_alloc_coherent

转载 作者:行者123 更新时间:2023-12-04 19:41:38 28 4
gpt4 key购买 nike

在 centos8.0.1905 (kernel 4.18) 我修改内核配置为: CONFIG_CMA=y, CONFIG_DMA_CMA=y
在内核启动参数中我添加了:cma=64M@512M

在我的设备驱动程序中,我必须为 DMA 分配一个 64MB 物理上连续的缓冲区。
我试着打电话:

dma_addr_t dma_handle;
无效 *p = dma_alloc_coherent(pDev, BUF_SIZE, &dma_handle, GFP_KERNEL)

但最大。我得到 p!=0 的 BUS_SIZE 的大小是 0x400000 (4MB)。
你能解释一下我做错了什么吗?

先感谢您,
兹维卡

最佳答案

在重新编译内核时使用 CONFIG_CMA=y, CONFIG_DMA_CMA=y
并使用 cma=512M 启动此内核

在设备驱动程序中,调用 之前dma_alloc_coherent 我调用
rc=dma_set_mask_and_coherent (pPciDev, DMA_BIT_MASK(64));
并检查 rc=0。

谢谢,
兹维卡

关于Centos 8 (Kernel 4.18) : Max. 大小为 dma_alloc_coherent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58374273/

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