aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2014-12-11 01:00:58 -0500
committerMichael Ellerman <mpe@ellerman.id.au>2015-01-22 22:02:54 -0500
commita113de373bcb7651196e29a49483c8e24e1e6aa9 (patch)
tree88efddef7e37397b3380aa0296c6167ab4a98189
parent1b28f170d99170a1fdd22818a9610a73196b391d (diff)
powerpc/powernv: Remove pnv_pci_probe_mode()
The callback (ppc_md.pci_probe_mode()) is used to determine if the child PCI devices of the indicated PCI bus should be probed from device-tree or hardware. On PowerNV platform, we always expect probing PCI devices from hardware, which is PowerPC PCI core's default behaviour. Also, the callback had some delay implemented based on PHB's device node property "reset-clear-timestamp", which wasn't exported from skiboot. So we don't need this function and it's safe to remove it. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/platforms/powernv/pci.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c
index 4945e87f12dc..e69142f4af08 100644
--- a/arch/powerpc/platforms/powernv/pci.c
+++ b/arch/powerpc/platforms/powernv/pci.c
@@ -781,35 +781,6 @@ static void pnv_p7ioc_rc_quirk(struct pci_dev *dev)
781} 781}
782DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_IBM, 0x3b9, pnv_p7ioc_rc_quirk); 782DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_IBM, 0x3b9, pnv_p7ioc_rc_quirk);
783 783
784static int pnv_pci_probe_mode(struct pci_bus *bus)
785{
786 struct pci_controller *hose = pci_bus_to_host(bus);
787 const __be64 *tstamp;
788 u64 now, target;
789
790
791 /* We hijack this as a way to ensure we have waited long
792 * enough since the reset was lifted on the PCI bus
793 */
794 if (bus != hose->bus)
795 return PCI_PROBE_NORMAL;
796 tstamp = of_get_property(hose->dn, "reset-clear-timestamp", NULL);
797 if (!tstamp || !*tstamp)
798 return PCI_PROBE_NORMAL;
799
800 now = mftb() / tb_ticks_per_usec;
801 target = (be64_to_cpup(tstamp) / tb_ticks_per_usec)
802 + PCI_RESET_DELAY_US;
803
804 pr_devel("pci %04d: Reset target: 0x%llx now: 0x%llx\n",
805 hose->global_number, target, now);
806
807 if (now < target)
808 msleep((target - now + 999) / 1000);
809
810 return PCI_PROBE_NORMAL;
811}
812
813void __init pnv_pci_init(void) 784void __init pnv_pci_init(void)
814{ 785{
815 struct device_node *np; 786 struct device_node *np;
@@ -856,7 +827,6 @@ void __init pnv_pci_init(void)
856 ppc_md.tce_build_rm = pnv_tce_build_rm; 827 ppc_md.tce_build_rm = pnv_tce_build_rm;
857 ppc_md.tce_free_rm = pnv_tce_free_rm; 828 ppc_md.tce_free_rm = pnv_tce_free_rm;
858 ppc_md.tce_get = pnv_tce_get; 829 ppc_md.tce_get = pnv_tce_get;
859 ppc_md.pci_probe_mode = pnv_pci_probe_mode;
860 set_pci_dma_ops(&dma_iommu_ops); 830 set_pci_dma_ops(&dma_iommu_ops);
861 831
862 /* Configure MSIs */ 832 /* Configure MSIs */