Kernel 获取结构dma_buf*dbuf的物理地址

Kernel 获取结构dma_buf*dbuf的物理地址,kernel,linux-device-driver,Kernel,Linux Device Driver,我创建了一个dma_buf*dbuf,如何获取该缓冲区的物理地址? 我需要把它传给硬件寄存器 谢谢。这里有几个例子说明如何在Linux内核中使用“struct dma_buf”。看看这个:他们把它附加到一个分散-聚集列表上。你是说'buffer->dma\u addr=sg\u dma\u address(sgl);',这是我的实际地址?谢谢,是这样的。我想说试试,看看你能得到什么物理地址。还可以在内核源代码中查找与您正在编写代码的设备类似的设备,并查看它们如何管理DMA物理地址。

我创建了一个dma_buf*dbuf,如何获取该缓冲区的物理地址? 我需要把它传给硬件寄存器


谢谢。

这里有几个例子说明如何在Linux内核中使用“struct dma_buf”。看看这个:他们把它附加到一个分散-聚集列表上。你是说'buffer->dma\u addr=sg\u dma\u address(sgl);',这是我的实际地址?谢谢,是这样的。我想说试试,看看你能得到什么物理地址。还可以在内核源代码中查找与您正在编写代码的设备类似的设备,并查看它们如何管理DMA物理地址。