PCIe memory Transaction

Comments and questions related to the "Down to the TLP" pages

PCIe memory Transaction

Postby Guest »

Hi ,
This is a very nice article. I have few doubts.In linux If i do the write transaction from Host to Endpoint device who will construct the TLPs for the write transaction. (I mean which portion of the code in Linux). Similarly the host perform the write transaction to endpoint how the end point device will be notified.

Thanks,
P.Ashok.
Guest
 

Re: PCIe memory Transaction

Postby support »

Hi,

A TLP is merely a representation of a plain bus operation. It's a result of the host writing to a physical address in its memory space that is mapped to a PCIe device. The command in the Linux kernel doing this is e.g. iowrite32() (with proper virtual memory mapping), which simply writes to the address. In theory, you could do a plain write to a pointer to generate a TLP, e.g. *addr = value (but this isn't necessarily portable).

At the endpoint it's your logic (on the FPGA). You receive the TLP through some streaming interface and need to analyze it. How to respond to it, if at all, is your call.

Eli
support
 
Posts: 802
Joined:


Return to General PCIe

cron