powerpc/85xx: mpc85xx ADS: remove pci exclude
authorDaniel Walker <danielwa@cisco.com>
Fri, 6 Nov 2015 00:31:21 +0000 (16:31 -0800)
committerScott Wood <scottwood@freescale.com>
Wed, 23 Dec 2015 00:23:21 +0000 (18:23 -0600)
This code was reworked in commit,

905e75c46dba5f3061049277e4eb7110beedba43

This change removed the fsl_add_bridge() which originally was above
the addition of the pci_exclude_device function. I think the assumption was that
the pci_exclude_device would prevent changes to the bridge PCI config after
it's been added. It seems it wasn't fully tested on MPC85xx ADS because
if you move the fsl_add_bridge() the pci_exclude_device is set in the machine
description then you can never update the PCI Config since the exclude
prevents it. This disrupts things like DMA.

This issue was extensively debugged by David Beazley.

Cc: xe-kernel@external.cisco.com
Cc: dbeazley@cisco.com
Cc: dwalker@fifo99.com
Signed-off-by: Daniel Walker <danielwa@cisco.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
arch/powerpc/platforms/85xx/mpc85xx_ads.c

index 7d12a19aa7eecddddb58cff630478faa8f87893d..de72a5f464b1e50ea1d277934385eef89d634a83 100644 (file)
 
 #include "mpc85xx.h"
 
-#ifdef CONFIG_PCI
-static int mpc85xx_exclude_device(struct pci_controller *hose,
-                                  u_char bus, u_char devfn)
-{
-       if (bus == 0 && PCI_SLOT(devfn) == 0)
-               return PCIBIOS_DEVICE_NOT_FOUND;
-       else
-               return PCIBIOS_SUCCESSFUL;
-}
-#endif /* CONFIG_PCI */
-
 static void __init mpc85xx_ads_pic_init(void)
 {
        struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN,
@@ -145,10 +134,6 @@ static void __init mpc85xx_ads_setup_arch(void)
        init_ioports();
 #endif
 
-#ifdef CONFIG_PCI
-       ppc_md.pci_exclude_device = mpc85xx_exclude_device;
-#endif
-
        fsl_pci_assign_primary();
 }