Re: [PATCH v2 1/2] PCI: dwc: Perform host_init() before registering msi

From: Rob Herring
Date: Mon Aug 23 2021 - 13:46:49 EST


On Mon, Aug 23, 2021 at 08:49:57AM -0700, Bjorn Andersson wrote:
> On the Qualcomm sc8180x platform the bootloader does something related
> to PCI that leaves a pending "msi" interrupt, which with the current
> ordering often fires before init has a chance to enable the clocks that
> are necessary for the interrupt handler to access the hardware.
>
> Move the host_init() call before the registration of the "msi" interrupt
> handler to ensure the host driver has a chance to enable the clocks.
>
> The assignment of the bridge's ops and child_ops is moved along, because
> at least the TI Keystone driver overwrites these in its host_init
> callback.
>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> ---
>
> Changes since v1:
> - New patch, instead of enabling resources in the qcom driver before jumping to
> dw_pcie_host_init(), per Rob Herring's suggestion.
>
> .../pci/controller/dwc/pcie-designware-host.c | 19 ++++++++++---------
> 1 file changed, 10 insertions(+), 9 deletions(-)

Reviewed-by: Rob Herring <robh@xxxxxxxxxx>