VFIO updates for v3.17-rc1

- Enable support for bus reset on device release
  - Fixes for EEH support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJT64V6AAoJECObm247sIsimLkQAKL8sdGu2xwjujB/JFQrTXq0
 9jN42aNhv50fVE9p2FKoqet/6VlQmRxLUvA9By94iMIKsUb3w0Rziti1FI3iyKtb
 7lPzhCY9GWFnMD7Ero0nx+ljYrDiMlDdjeJ1ke25f1WZKMv524FJvA3cbiCvnAm0
 3CRV0buq69deiiy5j1dbJdwYfPTJU7Jepqg8/OkjgJYokKRwqng9QfUgRbNwfL5d
 FuVWaiGKvkxj4Sil0M3m4Ogf2yqqweX0am/rC3pGoO9woc9XFV560ABoEvXe3PI/
 TPq3X63eqiBtu+t0qnYdi9jAfV62NMQEOwgb1z3IrIRoR9pwCOR2UFVQSr9X+rMp
 EGrGUNkgU9cTzGeiSPmTII/ccYgsFpivy2UV+lNeDs4kraU++Q3QoJ2jwbzx8unF
 nzyEfW8BizUenBZHsLvBDrlDddn5uEgao9ivdc9yBhjtOQshA8xMUKFG1PHzqtYg
 Vis9/K2TKrZBcQTBD7nwCWWPLUg11N7stD6Ui0DEAEqJtGWxCNSqcKGTen1NvsOp
 hpFdlySYORNvPQDMMBmjMc+YkngBwcwDaITE5FFMbyDJYymKA28MtkYaDVLZp5kZ
 yYua3afxxDDaAzh7ikzUMpBlsSxbRpanAeTtEMQ0s2+ZfkzdvKztmTe9S26swQXG
 p9hb4pIJNflk014lnNt1
 =ADuE
 -----END PGP SIGNATURE-----

Merge tag 'vfio-v3.17-rc1' of git://github.com/awilliam/linux-vfio

Pull VFIO updates from Alex Williamson:
 - enable support for bus reset on device release
 - fixes for EEH support

* tag 'vfio-v3.17-rc1' of git://github.com/awilliam/linux-vfio:
  drivers/vfio: Enable VFIO if EEH is not supported
  drivers/vfio: Allow EEH to be built as module
  drivers/vfio: Fix EEH build error
  vfio-pci: Attempt bus/slot reset on release
  vfio-pci: Use mutex around open, release, and remove
  vfio-pci: Release devices with BusMaster disabled
This commit is contained in:
Linus Torvalds 2014-08-14 09:41:41 -06:00
commit cc8a44c671
6 changed files with 171 additions and 26 deletions

View file

@ -98,16 +98,16 @@ extern int vfio_external_user_iommu_id(struct vfio_group *group);
extern long vfio_external_check_extension(struct vfio_group *group,
unsigned long arg);
struct pci_dev;
#ifdef CONFIG_EEH
extern int vfio_spapr_pci_eeh_open(struct pci_dev *pdev);
extern void vfio_spapr_pci_eeh_open(struct pci_dev *pdev);
extern void vfio_spapr_pci_eeh_release(struct pci_dev *pdev);
extern long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
unsigned int cmd,
unsigned long arg);
#else
static inline int vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
static inline void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
{
return 0;
}
static inline void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)