I am creating a driver for a FPGA connecting by PCI. I want to alloc a dma memory using dma_alloc_coherent and pci_alloc_consistent. However I got the next error:
pci 0002:01:00.0: dma_direct_alloc_coherent: No suitable zone for pfn 0x7f000
I am using kernel 4.1 (SDK 2.0). In the previous version worked properly. Any idea how to solve it?
BR
Look at the following pages about DMA for PCI bus using:
http://lwn.net/2001/0712/a/dma-interface.php3
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
When I boot up the system, I can see the following logs:
Found FSL PCI host bridge at 0x0000000ffe270000. Firmware bus number: 0->1
PCI host bridge /pcie@ffe270000 ranges:
MEM 0x0000000c80000000..0x0000000cffffffff -> 0x0000000080000000
IO 0x0000000ff8030000..0x0000000ff803ffff -> 0x0000000000000000
/pcie@ffe270000: PCICSRBAR @ 0x7f000007
setup_pci_atmu: end of DRAM 100000000
/pcie@ffe270000: Setup 64-bit PCI DMA window
/pcie@ffe270000: DMA window size is 0x7f000007
Is anything to do with the error I have got in my driver?
Any idea how to solve this problem?
Hi manolo ruiz,
Have you solved this problem?
I have the same problem when I use the kernel linux-4.1.15_2.0.0ga .When use this kernel, I just able to request 256KB dma memery by dma API pci_alloc_consistent.
Could you shared your solution if you have solved this isuue?