drivers: pcie-brcmstb: add best-effort workaround for QoS bug on bcm2712
If a set of read requests are issued by an endpoint, they are streamed
into a resynchronisation FIFO prior to exiting the RC. This FIFO has an
edge case where it can drop QoS for a request to 0 if there's a single
outstanding read request in the FIFO, and another is pushed when the
FIFO is popped. Requests with a QoS of 0 can take hundreds of
microseconds to complete.
By adding an experimentally-determined amount of backpressure on the pop
side, the critical level transition can largely be avoided.
Signed-off-by:
Jonathan Bell <jonathan@raspberrypi.com>
Loading
Please register or sign in to comment