aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/dwc/pci-layerscape.c
diff options
context:
space:
mode:
authorHou Zhiqiang <Zhiqiang.Hou@nxp.com>2017-08-28 06:52:55 -0400
committerBjorn Helgaas <bhelgaas@google.com>2017-08-29 16:29:26 -0400
commit5da39bf0919b6e129010f1554e639940be5bcdce (patch)
tree56e465adcaebba34aed54c33bb0ff76a79969b27 /drivers/pci/dwc/pci-layerscape.c
parent02232343349e606c8809e2555985a806d615e4ee (diff)
PCI: layerscape: Add class code and multifunction fixups for ls1021a
The current code depends on class code and multifunction fixups done by the bootloader. Perform these fixups in ls1021_pcie_host_init() to remove this dependency. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Roy Zang <tie-fei.zang@freescale.com>
Diffstat (limited to 'drivers/pci/dwc/pci-layerscape.c')
-rw-r--r--drivers/pci/dwc/pci-layerscape.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/dwc/pci-layerscape.c b/drivers/pci/dwc/pci-layerscape.c
index c16940044ed6..3aa34214643c 100644
--- a/drivers/pci/dwc/pci-layerscape.c
+++ b/drivers/pci/dwc/pci-layerscape.c
@@ -134,6 +134,11 @@ static int ls1021_pcie_host_init(struct pcie_port *pp)
134 134
135 dw_pcie_setup_rc(pp); 135 dw_pcie_setup_rc(pp);
136 136
137 iowrite32(1, pci->dbi_base + PCIE_DBI_RO_WR_EN);
138 ls_pcie_fix_class(pcie);
139 ls_pcie_clear_multifunction(pcie);
140 iowrite32(0, pci->dbi_base + PCIE_DBI_RO_WR_EN);
141
137 ls_pcie_drop_msg_tlp(pcie); 142 ls_pcie_drop_msg_tlp(pcie);
138 143
139 return 0; 144 return 0;