Re: [Xen-devel] [PATCH V2] Xen/pciback: Implement PCI slot or bus reset with 'do_flr' SysFS attribute

From: Govinda Tatti
Date: Thu Nov 30 2017 - 09:16:28 EST




On 11/30/2017 2:27 AM, Jan Beulich wrote:
On 29.11.17 at 18:38, <govinda.tatti@xxxxxxxxxx> wrote:
In the case of bus or slot reset, our goal is to reset connected PCIe
fabric/card/endpoint.
The connected card/endpoint can be multi-function device. So, same
walk-through and checking
is needed irrespective of type of reset being used.
I don't follow: The scope of other devices/functions possibly
affected by a reset depends on the type of reset, doesn't it?
For PCIe platforms, both slot and bus reset endup resetting all connected
device/functions on thesecondary bus (behind the root-port or
downstream-port).
According to my understanding this contradicts the comment
ahead of pci_reset_slot(), which talks of multiple slots per bus.
In such a setup, I can't see why resetting on slot would affect
other slots on the same bus. At the same time the comment
says that the slot reset may resolve to a bus one when there's
just a single slot on the bus.
For legacy PCI/PCI-X, we can have multiple slots per bus but not with PCI-Express
(each link will be on a separate bus). In anycase, we need to walk-through other
device/functions on the same bus/slot and check their status before using slot/bus
reset.

Cheers
GOVINDA