Hi,
I encounter some problem with data transfert between a iMX6 and a FPGA connected via the pcie.
Let me explain :
We use linux 3.0.35 (from the corresponding BSP) with the provided pcie driver (forcing GEN1 of pcie - no choice)
and we've develop a driver to access to the FPGA data via the function "ioremap_nocache" but with this function the transfert speed is too slow for our application (~12.5MBytes/s).
I found a "workaround" to increase the speed (~45MBytes/s) by using the function "ioremap_cached" which is perfect for our application but...
With this workaround, I often read "bad data" and after analysis the "bad data" correspond to the previous read data at the same location
The "bad data" is always a block of 32Bytes, and I don't have any clue to solve this problem
Anyone ?
Thanks in advance
WeeDo
He Wee
this seems as kernel bug so one can try patched 3.0.35
with arm errata L3.0.101_4.1.1_IM6QDLS_BUNDLE or
better latest L3.14.28_1.0.0_iMX6QDLS_BUNDLE
also just for reference :
i.MX6Q PCIe EP/RC Validation System
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------