Is it usually a software, i.e. device driver, responsibility to set up FC credits on PCIe bus? Where could I get familiar with relevant linux API?
Asked
Active
Viewed 2,195 times
2 Answers
1
PCIe 3.0 Specification clearly mentions about Credit Consumed , Credit Limit variables implemented as Counters for each enabled Virtual Channel for Flow Control mechanism.
However you can enable or disable a particular VC through software(Writing to dedicated register in configuration Space). So Flow control mechanism is totally handled by dedicated hardware in PCIe.

Gaurang Pandey
- 55
- 4
0
The credit based flow control is build in hardware.

Paebbels
- 15,573
- 13
- 70
- 139
-
I don't argue this, but what provides the relevant settings for credit based FC? Is it a software, or the hardware determines it? – Mark Sep 13 '15 at 12:15
-
1The credits are calculated based on FIFO sizes. A transmitter knows the space in the receiver. If he sends a packet, he must decrement the credit score. When the receiver processed the packet and the FIFO is emptied, the receicer sends a flow control packet to update/increment the credits again. All calculation algorithms are defined in the PCIe standard. I don't know any changeable parameters for a software API. If I remember correctly, there is an initial credit exchange after link initialization. – Paebbels Sep 13 '15 at 12:36