IMX6Q: Multicore/Preempt PCIe access

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

IMX6Q: Multicore/Preempt PCIe access

2,097 次查看
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

标签 (1)
0 项奖励
回复
3 回复数

1,983 次查看
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 项奖励
回复

1,983 次查看
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 项奖励
回复

1,983 次查看
b36401
NXP Employee
NXP Employee

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

0 项奖励
回复