PCI: dwc: Skip PCIE_MSI_INTR0* programming if MSI is disabled
authorJisheng Zhang <Jisheng.Zhang@synaptics.com>
Fri, 9 Oct 2020 07:54:36 +0000 (15:54 +0800)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tue, 13 Oct 2020 08:52:49 +0000 (09:52 +0100)
If MSI is disabled, there's no need to program PCIE_MSI_INTR0_MASK
and PCIE_MSI_INTR0_ENABLE registers.

Link: https://lore.kernel.org/r/20201009155436.27e67238@xhacker.debian
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
drivers/pci/controller/dwc/pcie-designware-host.c

index 317ff51..d3e9ea1 100644 (file)
@@ -528,7 +528,7 @@ void dw_pcie_setup_rc(struct pcie_port *pp)
 
        dw_pcie_setup(pci);
 
-       if (!pp->ops->msi_host_init) {
+       if (pci_msi_enabled() && !pp->ops->msi_host_init) {
                num_ctrls = pp->num_vectors / MAX_MSI_IRQS_PER_CTRL;
 
                /* Initialize IRQ Status array */