On Monday 15 March 2021 08:34:09 Alex Williamson wrote: > 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. Ok! > 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 > But with this patch series, there is still an issue with PCI secondary bus reset mechanism as exported sysfs attribute does not do that remove-reset-rescan procedure. As discussed in other thread, this reset let device in unconfigured / broken state.