[PATCH 2/7] PCI: Introduce pcie_upstream_port()

From: Mika Westerberg
Date: Tue Sep 26 2017 - 10:17:30 EST


This helper allows to determine whether the PCI device is PCIe upstream
port.

Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
---
include/linux/pci.h | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/include/linux/pci.h b/include/linux/pci.h
index f68c58a93dd0..4397692be538 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -2042,6 +2042,17 @@ static inline int pci_pcie_type(const struct pci_dev *dev)
return (pcie_caps_reg(dev) & PCI_EXP_FLAGS_TYPE) >> 4;
}

+/**
+ * pcie_upstream_port - is the PCI device PCIe upstream port
+ * @dev: PCI device
+ */
+static inline bool pcie_upstream_port(struct pci_dev *dev)
+{
+ if (!pci_is_pcie(dev))
+ return false;
+ return pci_pcie_type(dev) == PCI_EXP_TYPE_UPSTREAM;
+}
+
static inline struct pci_dev *pcie_find_root_port(struct pci_dev *dev)
{
while (1) {
--
2.14.1