On Fri, Nov 29, 2019 at 8:38 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > On Fri, Nov 29, 2019 at 06:10:51PM +0200, Ranran wrote: > > On Fri, Nov 29, 2019 at 4:58 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > > On Fri, Nov 29, 2019 at 06:59:48AM +0000, bugzilla-daemon@xxxxxxxxxxxxxxxxxxx wrote: > > > > https://bugzilla.kernel.org/show_bug.cgi?id=205701 > > > > ... > > > > > > > > Using Intel Xeon computer with linux kernel 4.18.0 centos8. > > > > Trying to access RAM (with DMA) using FPGA fails in this computer. > > > > > > > > 1. I tried to add intel_iommu=off - it did not help. > > > > > > > > 2. Installing windows on same PC - FPGA can access RAM using DMA without > > > > issues. > > > > > > > > 3. using another PC (Intel Duo) with same linux and OS - FPGA access works. > > > > > > > > FPGA access the RAM using a physical address provided by a kernel module which > > > > allocates physical continuous memory in PC. (the module works perfectly with > > > > Intel Duo on exactly same OS and kernel). > > > > > > Hi, thanks for the report! Can you please attach the complete dmesg > > > and "sudo lspci -vv" output for the working and non-working v4.18 > > > kernels to the bugzilla? > > > > > > Then please try to reproduce the problem on the current v5.4 kernel > > > and attach the v5.4 dmesg log. If v5.4 fails, we'll have to debug it. > > > If v5.4 works, figure out what fixed it (by comparing dmesg logs or by > > > bisection) and backport it to v4.18. > > > > > > Bjorn > > > > Hi, > > I've attached 2 files: > > 1. dmesg.log - is the dmesg you've requested. > > 2. dmesg_intel_iommu_off.log - dmesg when I added intel_iommu=off > > kernel parameter. > > Thanks, I attached these to the bugzilla. I think the linux-pci > mailing list rejected your mail since it wasn't plain-text. > > Please also attach the "sudo lspci -vv" output to the bugzilla and > indicate which device is your FPGA. I guess it might be 0000:20:00.0, > since it looks like it's being claimed by an out-of-tree module in > your dmesg_intel_iommu_off.log (but not dmesg.log). > > Please also attach the driver source so we can see how it is obtaining > and using the DMA buffer address. > I've added the module in bugzilla, I will try to fetch the other information you requested and update in bugzilla. Thank you > > I might try the new kernel, yet since we are required to use the > > installation of centos8 (centos8 was just published about 2 month ago > > and it comes with kernel 4.18.0), updating kernel might be > > problematic. > > Even if you can't use the v5.4 kernel for your project, if you can > establish that it works, then you have a clear path to finding the > fix. If v5.4 still *doesn't* work, then we'll be much more interested > in helping to fix that. > > > I would please like to ask if there is some workaround you can think of ? > > For example, might it help if I disable iommu (VT-d) in BIOS ? > > Usually when an IOMMU blocks a DMA, it seems like there's a note in > dmesg. I don't see that in either of your logs, but I'm not an IOMMU > expert, so it does seem reasonable to try disabling the IOMMU. > > Bjorn