lkml.org 
[lkml]   [2021]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v16 0/9] PCI: Expose and manage PCI device reset
On 21/08/17 11:34PM, 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.
>

Apologies. I messed my git branch dance. I sent old 9/9 patch again.
You can find updated patches here https://lore.kernel.org/linux-pci/20210817180937.3123-1-ameynarkhede03@gmail.com/
Again apologies for the spam.

> Changes in v16:
> - Refactor acpi_pci_bridge_d3() in patch 7/9
> - Fixed consistency issues in patch 9/9
>
> Changes in v15:
> - Fix use of uninitialized variable in patch 3/9
>
> Changes in v14:
> - Remove duplicate entries from pdev->reset_methods as per
> Shanker's suggestion
>
> Changes in v13:
> - Added "PCI: Cache PCIe FLR capability"
> - Removed memcpy in pci_init_reset_methods() and reset_method_show
> - Moved reset_method sysfs attribute code from pci-sysfs.c to
> pci.c
>
> Changes in v12:
> - Corrected subject in 0/8 (cover letter).
>
> Changes in v11:
> - Alex's suggestion fallback back to other resets if the ACPI RST
> fails. Fix "s/-EINVAL/-ENOTTY/" in 7/8 patch.
>
> Changes in v10:
> - Fix build error on ppc as reported by build bot
>
> Changes in v9:
> - Renamed has_flr bitfield to has_pcie_flr and restored
> use of PCI_DEV_FLAGS_NO_FLR_RESET in quirk_no_flr()
> - Cleaned up sysfs code
>
> Changes in v8:
> - Added has_flr bitfield to struct pci_dev to cache flr
> capability
> - Updated encoding scheme used in reset_methods array as per
> Bjorn's suggestion
> - Updated Shanker's ACPI patches
>
> Changes in v7:
> - Fix the pci_dev_acpi_reset() prototype mismatch
> in case of CONFIG_ACPI=n
>
> Changes in v6:
> - Address Bjorn's and Krzysztof's review comments
> - Add Shanker's updated patches along with new
> "PCI: Setup ACPI_COMPANION early" patch
>
> Changes in v5:
> - Rebase the series over pci/reset branch of
> Bjorn's pci tree to avoid merge conflicts
> caused by recent changes in existing reset
> sysfs attribute
>
> Changes in v4:
> - Change the order or strlen and strim in reset_method_store
> function to avoid extra strlen call.
> - Use consistent terminology in new
> pci_reset_mode enum and rename the probe argument
> of reset functions.
>
> Changes in v3:
> - Dropped "PCI: merge slot and bus reset implementations" which was
> already accepted separately
> - Grammar fixes
> - Added Shanker's patches which were rebased on v2 of this series
> - Added "PCI: Change the type of probe argument in reset functions"
> and additional user input sanitization code in reset_method_store
> function per review feedback from Krzysztof
>
> 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
>
> Amey Narkhede (6):
> PCI: Cache PCIe FLR capability
> 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: Allow userspace to query and set device reset mechanism
> PCI: Change the type of probe argument in reset functions
>
> Shanker Donthineni (3):
> PCI: Define a function to set ACPI_COMPANION in pci_dev
> PCI: Setup ACPI fwnode early and at the same time with OF
> PCI: Add support for ACPI _RST reset method
>
> Documentation/ABI/testing/sysfs-bus-pci | 19 ++
> drivers/crypto/cavium/nitrox/nitrox_main.c | 4 +-
> .../ethernet/cavium/liquidio/lio_vf_main.c | 2 +-
> drivers/pci/hotplug/pciehp.h | 2 +-
> drivers/pci/hotplug/pciehp_hpc.c | 2 +-
> drivers/pci/hotplug/pnv_php.c | 4 +-
> drivers/pci/pci-acpi.c | 83 +++--
> drivers/pci/pci-sysfs.c | 3 +-
> drivers/pci/pci.c | 287 +++++++++++++-----
> drivers/pci/pci.h | 24 +-
> drivers/pci/pcie/aer.c | 12 +-
> drivers/pci/probe.c | 16 +-
> drivers/pci/quirks.c | 25 +-
> drivers/pci/remove.c | 1 -
> include/linux/pci.h | 14 +-
> include/linux/pci_hotplug.h | 2 +-
> 16 files changed, 351 insertions(+), 149 deletions(-)
>
> --
> 2.32.0

\
 
 \ /
  Last update: 2021-08-17 20:13    [W:0.050 / U:0.844 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site