On 13 January 2025 20:27:20 CET, Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: >On Mon, Jan 13, 2025 at 11:59:34AM +0100, Niklas Cassel wrote: >> The Root Complex specific device tree binding for pcie-dw-rockchip has the >> 'sys' interrupt marked as required. >> >> The driver requests the 'sys' IRQ unconditionally, and errors out if not >> provided. >> >> Thus, we can unconditionally set use_linkup_irq before calling >> dw_pcie_host_init(). >> >> This will skip the wait for link up (since the bus will be enumerated once >> the link up IRQ is triggered), which reduces the bootup time. >> >> Signed-off-by: Niklas Cassel <cassel@xxxxxxxxxx> > >Thanks! I was just reviewing the addition of your dll_link_up IRQ >handler, and was about to ask whether you wanted to set use_linkup_irq >to avoid the wait, but here's the patch already :) :) > >I think I'll sort out the branches so the dll_link_up IRQ handler, >this patch, and the corresponding qcom change go on the same branch as >Krishna's patch to skip waiting if pp->use_linkup_irq. That sounds like a good idea. Thank you! Kind regards, Niklas > >> --- >> drivers/pci/controller/dwc/pcie-dw-rockchip.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/controller/dwc/pcie-dw-rockchip.c >> index 1170e1107508bd793b610949b0afe98516c177a4..62034affb95fbb965aad3cebc613a83e31c90aee 100644 >> --- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c >> +++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c >> @@ -435,6 +435,7 @@ static int rockchip_pcie_configure_rc(struct rockchip_pcie *rockchip) >> >> pp = &rockchip->pci.pp; >> pp->ops = &rockchip_pcie_host_ops; >> + pp->use_linkup_irq = true; >> >> return dw_pcie_host_init(pp); >> } >> >> --- >> base-commit: 2adda4102931b152f35d054055497631ed97fe73 >> change-id: 20250113-rockchip-no-wait-403ffbc42313 >> >> Best regards, >> -- >> Niklas Cassel <cassel@xxxxxxxxxx> >>