]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
PCI: dwc: designware: Test PCIE_ATU_ENABLE bit specifically
authorJisheng Zhang <jszhang@marvell.com>
Tue, 18 Jul 2017 06:48:21 +0000 (14:48 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 2 Aug 2017 21:51:24 +0000 (16:51 -0500)
The ATU CTRL2 register is 32 bits, and bits other than the enable bit may
be set.  To check whether the ATU is enabled or not, we should test the
enable bit specifically.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Joao Pinto <jpinto@synopsys.com>
Acked-by: Jingoo Han <jingoohan1@gmail.com>
drivers/pci/dwc/pcie-designware.c

index ebcdce219acb1c760be457dfcfb4ad4f4baaca0f..50cef47fc25d1cc3db1509668c3d2f48c1906972 100644 (file)
@@ -178,7 +178,7 @@ void dw_pcie_prog_outbound_atu(struct dw_pcie *pci, int index, int type,
         */
        for (retries = 0; retries < LINK_WAIT_MAX_IATU_RETRIES; retries++) {
                val = dw_pcie_readl_dbi(pci, PCIE_ATU_CR2);
-               if (val == PCIE_ATU_ENABLE)
+               if (val & PCIE_ATU_ENABLE)
                        return;
 
                usleep_range(LINK_WAIT_IATU_MIN, LINK_WAIT_IATU_MAX);