The device must capture the destination address from the first config transaction it receives and store it for use in outgoing transactions. Since PCIe is actually point-to-point, not a bus, a device only receives config transactions that are intended for it.
Means when RP send the configuration first read or write transaction to endpoint, the endpoint save the bdf set in config read/write transaction and use it later.
Forum Discussion
How can the user logic obtain the bus number and device number from the Agilex R-tile AVST PCIe IP?
- 3 years ago
Hi Jeff,
In P-tile, the bdf is available in tlp config, but not in R-tile.
the RTL is encrypted, Hence not much information I can obtain from that.
What I get from the official release document for R-tile AVST will be.
https://www.intel.com/content/www/us/en/docs/programmable/683501/22-3-7-0-0/about-the-r-tile-streaming-fpga-ip-for.htmlbus#, device# are discovered by RP during enumeration process, only the RP host side can read the bus#, device#
Detail, you may refer to B. Root Port Enumeration
Hope this answer your question.
Regards,
Wincent_Intel
Hi, Wincent,
What I want to know is how to get the bus and device number is the FPGA user logic, from the IP interfaces of AVST for R-tile PCIe. In PCIe TLP, these numbers are needed. I'm not asking how to get them with linux command.
Hi Jeff,
The device must capture the destination address from the first config transaction it receives and store it for use in outgoing transactions. Since PCIe is actually point-to-point, not a bus, a device only receives config transactions that are intended for it.
Means when RP send the configuration first read or write transaction to endpoint, the endpoint save the bdf set in config read/write transaction and use it later.
In P-tile, the bdf is available in tlp config, but not in R-tile.
the RTL is encrypted, Hence not much information I can obtain from that.
What I get from the official release document for R-tile AVST will be.
https://www.intel.com/content/www/us/en/docs/programmable/683501/22-3-7-0-0/about-the-r-tile-streaming-fpga-ip-for.html
bus#, device# are discovered by RP during enumeration process, only the RP host side can read the bus#, device#
Detail, you may refer to B. Root Port Enumeration
Hope this answer your question.
Regards,
Wincent_Intel
- jeff_zhu3 years ago
New Contributor
Hi, Wincent,
Thanks for the reply. Please close this ticket.
Best regards,
Jeff