Skip to content

Commit 1d3e170

Browse files
paliLorenzo Pieralisi
authored andcommitted
PCI: aardvark: Add support for DEVCAP2, DEVCTL2, LNKCAP2 and LNKCTL2 registers on emulated bridge
PCI aardvark hardware supports access to DEVCAP2, DEVCTL2, LNKCAP2 and LNKCTL2 configuration registers of PCIe core via PCIE_CORE_PCIEXP_CAP. Export them via emulated software root bridge. Link: https://lore.kernel.org/r/20211130172913.9727-4-kabel@kernel.org Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Marek Behún <kabel@kernel.org> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
1 parent 8ea673a commit 1d3e170

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

drivers/pci/controller/pci-aardvark.c

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -884,8 +884,13 @@ advk_pci_bridge_emul_pcie_conf_read(struct pci_bridge_emul *bridge,
884884
case PCI_CAP_LIST_ID:
885885
case PCI_EXP_DEVCAP:
886886
case PCI_EXP_DEVCTL:
887+
case PCI_EXP_DEVCAP2:
888+
case PCI_EXP_DEVCTL2:
889+
case PCI_EXP_LNKCAP2:
890+
case PCI_EXP_LNKCTL2:
887891
*value = advk_readl(pcie, PCIE_CORE_PCIEXP_CAP + reg);
888892
return PCI_BRIDGE_EMUL_HANDLED;
893+
889894
default:
890895
return PCI_BRIDGE_EMUL_NOT_HANDLED;
891896
}
@@ -899,10 +904,6 @@ advk_pci_bridge_emul_pcie_conf_write(struct pci_bridge_emul *bridge,
899904
struct advk_pcie *pcie = bridge->data;
900905

901906
switch (reg) {
902-
case PCI_EXP_DEVCTL:
903-
advk_writel(pcie, new, PCIE_CORE_PCIEXP_CAP + reg);
904-
break;
905-
906907
case PCI_EXP_LNKCTL:
907908
advk_writel(pcie, new, PCIE_CORE_PCIEXP_CAP + reg);
908909
if (new & PCI_EXP_LNKCTL_RL)
@@ -924,6 +925,12 @@ advk_pci_bridge_emul_pcie_conf_write(struct pci_bridge_emul *bridge,
924925
advk_writel(pcie, new, PCIE_ISR0_REG);
925926
break;
926927

928+
case PCI_EXP_DEVCTL:
929+
case PCI_EXP_DEVCTL2:
930+
case PCI_EXP_LNKCTL2:
931+
advk_writel(pcie, new, PCIE_CORE_PCIEXP_CAP + reg);
932+
break;
933+
927934
default:
928935
break;
929936
}

0 commit comments

Comments
 (0)