HomeFreeBSD

Implement resets for PCI buses and PCIe bridges.

Description

Implement resets for PCI buses and PCIe bridges.

For PCI device (i.e. child of a PCI bus), reset tries FLR if
implemented and worked, and falls to power reset otherwise.

For PCIe bus (child of a PCIe bridge or root port), reset
disables PCIe link and then re-trains it, performing what is known as
link-level reset.

Reviewed by: imp (previous version), jhb (previous version)
Sponsored by: Mellanox Technologies
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D19646

Details

Provenance
kibAuthored on
Reviewer
imp
Differential Revision
D19646: Add BUS_RESET() and devctl reset.
Parents
rS345962: fusefs: implement VOP_ACCESS
Branches
Unknown
Tags
Unknown