Thread (11 messages) 11 messages, 3 authors, 2015-03-10

Re: [PATCH 0/4] Support registering specific reset handler

From: Gavin Shan <hidden>
Date: 2015-02-16 22:37:49
Also in: linux-pci

On Mon, Feb 16, 2015 at 11:14:27AM -0200, cascardo@linux.vnet.ibm.com wrote:
On Fri, Feb 13, 2015 at 03:54:55PM +1100, Gavin Shan wrote:
quoted
VFIO PCI infrastructure depends on pci_reset_function() to do reset on
PCI devices so that they would be in clean state when host or guest grabs
them. Unfortunately, the function doesn't work (or not well) on some PCI
devices that require EEH PE reset.

The patchset extends the quirk for PCI device speicific reset methods to
allow dynamically registration. With it, we can translate reset requests
for those special PCI devcies to EEH PE reset, which is only avaialble on
64-bits PowerPC platforms.
Hi, Gavin.

I like your approach overall. That allows us to confine these quirks to
the platforms where they are relevant. I would make the quirks more
specific, though, instead of doing them for all IBM and Mellanox
devices.
Yeah, we need have more specific vendor/device IDs for PATCH[4/4]. Could
you please take a look on PATCH[4/4] and then suggest the specific devices
that requries the platform-dependent reset quirk? Especially the device IDs
for IBM/Mellanox we need put add quirks for.
I wonder if we should not have some form of domain reset, where we would
reset all the devices on the same group, and use that on vfio. Grouping
the devices would then be made platform-dependent, as well as the reset
method. On powernv, we would group by IOMMU group and issue a
fundamental reset.
I'm assuming "domain reset" is PE reset, which is the specific reset handler
tries to do on PowerNV platform. The reason why we need platform specific
reset handler is some adapters can't support function level reset methods
(except pci_dev_specific_reset()) in __pci_dev_reset().

Thanks,
Gavin
Cascardo.
quoted
Gavin Shan (4):
  PCI: Rename struct pci_dev_reset_methods
  PCI: Introduce list for device reset methods
  PCI: Allow registering reset method
  powerpc/powernv: Register PCI dev specific reset handlers

 arch/powerpc/platforms/powernv/pci.c |  61 +++++++++++++++
 drivers/pci/pci.h                    |   3 +-
 drivers/pci/quirks.c                 | 139 ++++++++++++++++++++++++++++++-----
 include/linux/pci.h                  |   9 +++
 4 files changed, 192 insertions(+), 20 deletions(-)

-- 
1.8.3.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help