Re: [PATCH v2 0/5] Expose and manage PCI device reset

From: Amey Narkhede
Date: Fri Apr 30 2021 - 11:34:17 EST


On 21/04/10 12:53AM, Amey Narkhede wrote:
> 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.
>
> Changes in v2:
> - Use byte array instead of bitmap to keep track of
> ordering of reset methods
> - Fix incorrect use of reset_fn field in octeon driver
> - Allow writing comma separated list of names of supported reset
> methods to reset_method sysfs attribute
> - Writing empty string instead of "none" to reset_method attribute
> disables ability of reset the device
>
> Sending Raphael's patch again as this series depends on it.
>
> Amey Narkhede (4):
> PCI: Add pcie_reset_flr to follow calling convention of other reset
> methods
> PCI: Add new array for keeping track of ordering of reset methods
> PCI: Remove reset_fn field from pci_dev
> PCI/sysfs: Allow userspace to query and set device reset mechanism
>
> Raphael Norwitz (1):
> PCI: merge slot and bus reset implementations
>
> Documentation/ABI/testing/sysfs-bus-pci | 16 ++
> drivers/crypto/cavium/nitrox/nitrox_main.c | 4 +-
> .../ethernet/cavium/liquidio/lio_vf_main.c | 2 +-
> drivers/pci/pci-sysfs.c | 93 ++++++++-
> drivers/pci/pci.c | 176 ++++++++++--------
> drivers/pci/pci.h | 10 +-
> drivers/pci/pcie/aer.c | 12 +-
> drivers/pci/probe.c | 4 +-
> drivers/pci/quirks.c | 11 +-
> include/linux/pci.h | 11 +-
> 10 files changed, 236 insertions(+), 103 deletions(-)
>
> --
> 2.31.1

A gentle ping ;)

Thanks,
Amey