diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2020-02-06 14:17:38 +0000 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-02-06 14:17:38 +0000 |
commit | 9e6c535c64adf6155e4a11fe8d63b384fe3452f8 (patch) | |
tree | 883332728a374df76a7315309b66a0faa4cb49fc | |
parent | 750ce8ccd8a875ed9410fab01a3f468dab692eb4 (diff) | |
parent | 2e34673be0bd6bb0c6c496a861cbc3f7431e7ce3 (diff) | |
download | linux-9e6c535c64adf6155e4a11fe8d63b384fe3452f8.tar.bz2 |
Merge tag 'pci-v5.6-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI fixes from Bjorn Helgaas:
- Define to_pci_sysdata() always to fix build breakage when !CONFIG_PCI
(Jason A. Donenfeld)
- Use PF PASID for VFs to fix VF IOMMU bind failures (Kuppuswamy
Sathyanarayanan)
* tag 'pci-v5.6-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
PCI/ATS: Use PF PASID for VFs
x86/PCI: Define to_pci_sysdata() even when !CONFIG_PCI
-rw-r--r-- | arch/x86/include/asm/pci.h | 4 | ||||
-rw-r--r-- | drivers/pci/ats.c | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h index 40ac1330adb2..7ccb338507e3 100644 --- a/arch/x86/include/asm/pci.h +++ b/arch/x86/include/asm/pci.h @@ -33,13 +33,13 @@ extern int pci_routeirq; extern int noioapicquirk; extern int noioapicreroute; -#ifdef CONFIG_PCI - static inline struct pci_sysdata *to_pci_sysdata(const struct pci_bus *bus) { return bus->sysdata; } +#ifdef CONFIG_PCI + #ifdef CONFIG_PCI_DOMAINS static inline int pci_domain_nr(struct pci_bus *bus) { diff --git a/drivers/pci/ats.c b/drivers/pci/ats.c index dcbcf1331bb2..3ef0bb281e7c 100644 --- a/drivers/pci/ats.c +++ b/drivers/pci/ats.c @@ -426,11 +426,12 @@ void pci_restore_pasid_state(struct pci_dev *pdev) int pci_pasid_features(struct pci_dev *pdev) { u16 supported; - int pasid = pdev->pasid_cap; + int pasid; if (pdev->is_virtfn) pdev = pci_physfn(pdev); + pasid = pdev->pasid_cap; if (!pasid) return -EINVAL; @@ -453,11 +454,12 @@ int pci_pasid_features(struct pci_dev *pdev) int pci_max_pasids(struct pci_dev *pdev) { u16 supported; - int pasid = pdev->pasid_cap; + int pasid; if (pdev->is_virtfn) pdev = pci_physfn(pdev); + pasid = pdev->pasid_cap; if (!pasid) return -EINVAL; |