[PATCH 0/4] Expose and manage PCI device reset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Amey Narkhede <ameynarkhede03@xxxxxxxxx>

PCI and PCIe devices may support a number of possible reset mechanisms
for example Function Level Reset (FLR) provided via Advanced Feature or
PCIe capabilities, Power Management reset, bus reset, or device specific reset.
Currently the PCI subsystem creates a policy prioritizing these reset methods
which provides neither visibility nor control to userspace.

Expose the reset methods available per device to userspace, via sysfs
and allow an administrative user or device owner to have ability to
manage per device reset method priorities or exclusions.
This feature aims to allow greater control of a device for use cases
as device assignment, where specific device or platform issues may
interact poorly with a given reset method, and for which device specific
quirks have not been developed.

Suggested-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reviewed-by: Raphael Norwitz <raphael.norwitz@xxxxxxxxxxx>

Amey Narkhede (4):
  PCI: Refactor pcie_flr to follow calling convention of other reset
    methods
  PCI: Add new bitmap for keeping track of supported reset mechanisms
  PCI: Remove reset_fn field from pci_dev
  PCI/sysfs: Allow userspace to query and set device reset mechanism

 Documentation/ABI/testing/sysfs-bus-pci       |  15 ++
 drivers/crypto/cavium/nitrox/nitrox_main.c    |   4 +-
 drivers/crypto/qat/qat_common/adf_aer.c       |   2 +-
 drivers/infiniband/hw/hfi1/chip.c             |   4 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt.c     |   2 +-
 .../ethernet/cavium/liquidio/lio_vf_main.c    |   4 +-
 .../ethernet/cavium/liquidio/octeon_mailbox.c |   2 +-
 drivers/net/ethernet/freescale/enetc/enetc.c  |   2 +-
 .../ethernet/freescale/enetc/enetc_pci_mdio.c |   2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |   4 +-
 drivers/pci/pci-sysfs.c                       |  68 +++++++-
 drivers/pci/pci.c                             | 160 ++++++++++--------
 drivers/pci/pci.h                             |  11 +-
 drivers/pci/pcie/aer.c                        |  12 +-
 drivers/pci/probe.c                           |   4 +-
 drivers/pci/quirks.c                          |  17 +-
 include/linux/pci.h                           |  17 +-
 17 files changed, 213 insertions(+), 117 deletions(-)

--
2.30.2



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux