This series (and v5, it looks like) lost the cover letter, which had a nice diffstat overview :) On Fri, Oct 19, 2018 at 02:11:21AM +0000, Sinan Kaya wrote: > We need a contract between the reset API users and the PCI core about the > types of reset that a user needs vs. what PCI core can do internally. > If a platform supports hotplug, we need to do hotplug reset as an example. Somewhere this needs a description of a bug that's being fixed or some other justification, e.g., code simplification. The above is a little too abstract for me to grasp it. > Expose the reset types to the drivers and try different reset types based > on the new reset_type parameter. > > Most users are expected to use PCI_RESET_ANY, PCI_RESET_FUNC or > PCI_RESET_LINK parameters. There are fewer than a dozen callers of all these functions and the complication of these interfaces doesn't seem commensurate with the problem. With six different interfaces and five independent bit flags, the possibilities are way more than necessary. It seems like there are only three main cases (possibly extended by locked/unlocked versions): - a generic reset, used by ipc, genwqe, qlcnic, sfc, liquidio, mwifiex, xen - something special for VFIO that is affected by the set of devices owned by the user - a link reset for places like these where a device needs help to train the link correctly: cik_pcie_gen3_enable() # amdgpu, radeon si_pcie_gen3_enable() # amdgpu, radeon do_pcie_gen3_transition() # infiniband/hfi1 The interface for the generic case should be simple and made to be the obvious choice for drivers, i.e., requires only the pci_dev and no magic flags. The link reset case is different enough that it might deserve its own special interface. > Link: https://www.spinics.net/lists/linux-pci/msg75828.html Can you switch to using https://lore.kernel.org/linux-pci/<Message-ID> URLs so we don't depend on 3rd-party archives like spinics? See https://www.kernel.org/lore.html . I usually silently convert to the lore URLs, but I guess doing it silently only makes more work for myself. Bjorn