On Mon, Dec 30, 2024 at 01:19:08PM -0600, Bjorn Helgaas wrote: > On Wed, Nov 27, 2024 at 03:50:42PM +0100, Niklas Cassel wrote: > > Most boards using the pcie-dw-rockchip PCIe controller lack standard > > hotplug support. > > > > Thus, when an endpoint is attached to the SoC, users have to rescan the bus > > manually to enumerate the device. This can be avoided by using the > > 'dll_link_up' interrupt in the combined system interrupt 'sys'. > > > > Once the 'dll_link_up' irq is received, the bus underneath the host bridge > > is scanned to enumerate PCIe endpoint devices. > > > > This commit implements the same functionality that was implemented in the > > DWC based pcie-qcom driver in commit 4581403f6792 ("PCI: qcom: Enumerate > > endpoints based on Link up event in 'global_irq' interrupt"). > > > > The Root Complex specific device tree binding for pcie-dw-rockchip already > > has the 'sys' interrupt marked as required, so there is no need to update > > the device tree binding. This also means that we can request the 'sys' IRQ > > unconditionally. > > Thanks for doing this! > > > @@ -436,7 +481,16 @@ static int rockchip_pcie_configure_rc(struct rockchip_pcie *rockchip) > > pp = &rockchip->pci.pp; > > pp->ops = &rockchip_pcie_host_ops; > > > > - return dw_pcie_host_init(pp); > > + ret = dw_pcie_host_init(pp); > > + if (ret) { > > + dev_err(dev, "failed to initialize host\n"); > > + return ret; > > + } > > + > > + /* unmask DLL up/down indicator */ > > + rockchip_pcie_writel_apb(rockchip, 0x20000, PCIE_CLIENT_INTR_MASK_MISC); > > I know we already had a bare 0x60000 in rockchip_pcie_configure_ep(), > but can we add #defines for both of these PCIE_CLIENT_INTR_MASK_MISC > bits? Sure, I will send a follow-up patch. Kind regards, Niklas