HomeFreeBSD

cxgbe(4): Perform Conventional Reset instead of FLR on the device.

Description

cxgbe(4): Perform Conventional Reset instead of FLR on the device.

The driver uses bus_reset_child on its parent to reset itself but that
performs an FLR whereas the hardware needs a Conventional Reset[1] for
full re-initialization. Add routines that perform conventional hot
reset and use them instead. The available reset mechanisms are:

  • PCIe secondary bus reset (default)
  • PCIe link bounce

hw.cxgbe.reset_method can be used to override the default. The internal
PL_RST is also available but is for testing only.

[1] 6.6.1 in PCI Express® Base Specification 5.0 version 1.0

MFC after: 1 month
Sponsored by: Chelsio Communications

Details

Provenance
npAuthored on Dec 7 2024, 8:00 AM
Parents
rG2bc9d7a3ac8d: bsd-family-tree: add FreeBSD 13.5
Branches
Unknown
Tags
Unknown