On Mon, 15 Mar 2021 14:52:26 +0100 Pali Rohár <pali@xxxxxxxxxx> wrote: > On Monday 15 March 2021 19:13:23 Amey Narkhede wrote: > > slot reset (pci_dev_reset_slot_function) and secondary bus > > reset(pci_parent_bus_reset) which I think are hot reset and > > warm reset respectively. > > No. PCI secondary bus reset = PCIe Hot Reset. Slot reset is just another > type of reset, which is currently implemented only for PCIe hot plug > bridges and for PowerPC PowerNV platform and it just call PCI secondary > bus reset with some other hook. PCIe Warm Reset does not have API in > kernel and therefore drivers do not export this type of reset via any > kernel function (yet). Warm reset is beyond the scope of this series, but could be implemented in a compatible way to fit within the pci_reset_fn_methods[] array defined here. Note that with this series the resets available through pci_reset_function() and the per device reset attribute is sysfs remain exactly the same as they are currently. The bus and slot reset methods used here are limited to devices where only a single function is affected by the reset, therefore it is not like the patch you proposed which performed a reset irrespective of the downstream devices. This series only enables selection of the existing methods. Thanks, Alex