IMX6Q: Multicore/Preempt PCIe access

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6Q: Multicore/Preempt PCIe access

666 Views
etim
Contributor II

Howdy-

I have a FPGA connected to an IMX6Q via PCIe that provides some registers. My questions center around multi-core FPGA register access. Admittedly I have not dug into the docs - I was hoping to leverage someone else's knowledge.

  1. Can two cores access 2 different registers of the FPGA simultaneously using mmap'd memory (Program IO)?
    1. What guarantees exclusive access? I'm guessing it's the NIC-301...
  2. Can a DMA operation to the registers occur simultaneously with a normal PIO without SW guaranteeing exclusivity?
  3. (Probably the same question as (1)) What happens when a thread that is actively doing a register read (PIO) is preempted/interrupted by another thread/ISR that also issues a PIO register read?

Thanks!

Tim

Labels (1)
0 Kudos
3 Replies

552 Views
b36401
NXP Employee
NXP Employee

Actually it is OK if different cores are using some external (outside of the core) unit like PCI.
Of course the software need to make sure that in one exact moment only one thread uses it.
However it does not matter on which core it run.
And in case of Linux it manages it fine on multicore processor like i.MX6Q.

Have a great day,
Victor

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

552 Views
etim
Contributor II

Thanks for your reply!

So there is no HW arbitration between two threads accessing the FPGA (PCIe)?

If 2 threads mmap the region of FPGA registers, nothing in HW protects against a single u32 access/read (like the AXI)? It's a purely up to SW to arbitrate?

Thinking about PCIe like a memory, I don't believe I've seen protection around every time I read from RAM... unless there is a difference with-respect-to how the core/MMU views accesses between RAM and PCIe device.

Thanks!

0 Kudos

552 Views
b36401
NXP Employee
NXP Employee

Yuri answered the question in another thread:
https://community.nxp.com/thread/502868

0 Kudos