On 8/6/2018 11:12 AM, poza@xxxxxxxxxxxxxx wrote:
That's true. We either need to go poll every single source (AER/DPC) for
an error or rely on the DEVSTA. For ease of implementation, I suggest
DEVSTA. Something like this:
Hmm. Too quick...
Reduced set doesn't help. Surprise Link Down is also a fatal error.
That's what I was trying to exclude. We'll have to poll the error
source.
How about using pcie_port_find_service() ?
pcie_port_find_service() tells you that there is an active driver. We
could potentially use it like follows to query the register themselves.
if ((pcie_port_find_service(AER)) {
check AER registers
}
if ((pcie_port_find_service(DPC)) {
check DPC registers
}