summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2020-02-06 14:17:38 +0000
committerLinus Torvalds <torvalds@linux-foundation.org>2020-02-06 14:17:38 +0000
commit9e6c535c64adf6155e4a11fe8d63b384fe3452f8 (patch)
tree883332728a374df76a7315309b66a0faa4cb49fc
parent750ce8ccd8a875ed9410fab01a3f468dab692eb4 (diff)
parent2e34673be0bd6bb0c6c496a861cbc3f7431e7ce3 (diff)
downloadlinux-stable-9e6c535c64adf6155e4a11fe8d63b384fe3452f8.tar.gz
linux-stable-9e6c535c64adf6155e4a11fe8d63b384fe3452f8.tar.bz2
linux-stable-9e6c535c64adf6155e4a11fe8d63b384fe3452f8.zip
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.h4
-rw-r--r--drivers/pci/ats.c6
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;