From: Hou Zhiqiang Date: Mon, 28 Aug 2017 10:52:55 +0000 (+0800) Subject: PCI: layerscape: Add class code and multifunction fixups for ls1021a X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=5da39bf0919b6e129010f1554e639940be5bcdce;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: Bjorn Helgaas Acked-by: Roy Zang --- 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) dw_pcie_setup_rc(pp); + iowrite32(1, pci->dbi_base + PCIE_DBI_RO_WR_EN); + ls_pcie_fix_class(pcie); + ls_pcie_clear_multifunction(pcie); + iowrite32(0, pci->dbi_base + PCIE_DBI_RO_WR_EN); + ls_pcie_drop_msg_tlp(pcie); return 0;