summaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2023-08-29 19:03:51 +0300
committerBjorn Helgaas <bhelgaas@google.com>2023-08-29 19:03:51 +0300
commit4b3f481c7af86e678bc5c07bb17b2d2cd2509cd4 (patch)
treef5b2594e3d4b39299f236b3d32f359889e3ab803 /drivers/pci
parent98072e31aeee1500b11b2ed6530464f8aeb69032 (diff)
parent6dac1507a654f897ae98d7ec1a12b712c3ec4d47 (diff)
downloadlinux-4b3f481c7af86e678bc5c07bb17b2d2cd2509cd4.tar.xz
Merge branch 'pci/controller/brcmstb'
- Assert PERST# when probing BCM2711 because some bootloaders don't do it (Jim Quinlan) * pci/controller/brcmstb: PCI: brcmstb: Remove stale comment PCI: brcmstb: Assert PERST# on BCM2711
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/controller/pcie-brcmstb.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
index f593a422bd63..f9dd6622fe10 100644
--- a/drivers/pci/controller/pcie-brcmstb.c
+++ b/drivers/pci/controller/pcie-brcmstb.c
@@ -439,7 +439,6 @@ static struct irq_chip brcm_msi_irq_chip = {
};
static struct msi_domain_info brcm_msi_domain_info = {
- /* Multi MSI is supported by the controller, but not by this driver */
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
MSI_FLAG_MULTI_PCI_MSI),
.chip = &brcm_msi_irq_chip,
@@ -874,6 +873,11 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie)
/* Reset the bridge */
pcie->bridge_sw_init_set(pcie, 1);
+
+ /* Ensure that PERST# is asserted; some bootloaders may deassert it. */
+ if (pcie->type == BCM2711)
+ pcie->perst_set(pcie, 1);
+
usleep_range(100, 200);
/* Take the bridge out of reset */