Commit efaaaacf authored by Richard Henderson's avatar Richard Henderson

[ALPHA] Corrected testing for peer PCI bus root.

From Jay Estabrook <Jay.Estabrook@compaq.com>.
parent 24b06c5c
...@@ -524,7 +524,7 @@ mk_conf_addr(struct pci_bus *pbus, unsigned int devfn, int where) ...@@ -524,7 +524,7 @@ mk_conf_addr(struct pci_bus *pbus, unsigned int devfn, int where)
if (!io7_port->enabled) if (!io7_port->enabled)
return addr; return addr;
if (hose->bus == pbus) { if (!pbus->parent) { /* No parent means peer PCI bus. */
/* Don't support idsel > 20 on primary bus. */ /* Don't support idsel > 20 on primary bus. */
if (devfn >= PCI_DEVFN(21, 0)) if (devfn >= PCI_DEVFN(21, 0))
return addr; return addr;
......
...@@ -185,7 +185,7 @@ mk_conf_addr(struct pci_bus *pbus, unsigned int devfn, int where, ...@@ -185,7 +185,7 @@ mk_conf_addr(struct pci_bus *pbus, unsigned int devfn, int where,
/* Type 1 configuration cycle for *ALL* busses. */ /* Type 1 configuration cycle for *ALL* busses. */
*type1 = 1; *type1 = 1;
if (hose->bus == pbus) if (!pbus->parent) /* No parent means peer PCI bus. */
bus = 0; bus = 0;
addr = (bus << 16) | (devfn << 8) | (where); addr = (bus << 16) | (devfn << 8) | (where);
addr <<= 5; /* swizzle for SPARSE */ addr <<= 5; /* swizzle for SPARSE */
......
...@@ -43,7 +43,6 @@ struct ...@@ -43,7 +43,6 @@ struct
* BIOS32-style PCI interface: * BIOS32-style PCI interface:
*/ */
#define DEBUG_MCHECK 0 /* 0 = minimum, 1 = debug, 2 = dump+dump */
#define DEBUG_CONFIG 0 #define DEBUG_CONFIG 0
#if DEBUG_CONFIG #if DEBUG_CONFIG
...@@ -123,7 +122,7 @@ mk_conf_addr(struct pci_bus *pbus, unsigned int device_fn, int where, ...@@ -123,7 +122,7 @@ mk_conf_addr(struct pci_bus *pbus, unsigned int device_fn, int where,
"pci_addr=0x%p, type1=0x%p)\n", "pci_addr=0x%p, type1=0x%p)\n",
bus, device_fn, where, pci_addr, type1)); bus, device_fn, where, pci_addr, type1));
if (hose->bus == pbus) if (!pbus->parent) /* No parent means peer PCI bus. */
bus = 0; bus = 0;
*type1 = (bus != 0); *type1 = (bus != 0);
......
...@@ -45,7 +45,6 @@ struct ...@@ -45,7 +45,6 @@ struct
* BIOS32-style PCI interface: * BIOS32-style PCI interface:
*/ */
#define DEBUG_MCHECK 0 /* 0 = minimal, 1 = debug, 2 = debug+dump. */
#define DEBUG_CONFIG 0 #define DEBUG_CONFIG 0
#if DEBUG_CONFIG #if DEBUG_CONFIG
...@@ -100,8 +99,8 @@ mk_conf_addr(struct pci_bus *pbus, unsigned int device_fn, int where, ...@@ -100,8 +99,8 @@ mk_conf_addr(struct pci_bus *pbus, unsigned int device_fn, int where,
DBG_CFG(("mk_conf_addr(bus=%d ,device_fn=0x%x, where=0x%x, " DBG_CFG(("mk_conf_addr(bus=%d ,device_fn=0x%x, where=0x%x, "
"pci_addr=0x%p, type1=0x%p)\n", "pci_addr=0x%p, type1=0x%p)\n",
bus, device_fn, where, pci_addr, type1)); bus, device_fn, where, pci_addr, type1));
if (hose->bus == pbus) if (!pbus->parent) /* No parent means peer PCI bus. */
bus = 0; bus = 0;
*type1 = (bus != 0); *type1 = (bus != 0);
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
#include "proto.h" #include "proto.h"
#include "pci_impl.h" #include "pci_impl.h"
#define DEBUG_MCHECK 0 /* 0 = minimal, 1 = debug, 2 = debug+dump. */
#define DEBUG_CONFIG 0 #define DEBUG_CONFIG 0
#define DEBUG_DUMP_REGS 0 #define DEBUG_DUMP_REGS 0
#define DEBUG_DUMP_CONFIG 1 #define DEBUG_DUMP_CONFIG 1
...@@ -367,7 +366,7 @@ mk_conf_addr(struct pci_bus *pbus, unsigned int device_fn, int where, ...@@ -367,7 +366,7 @@ mk_conf_addr(struct pci_bus *pbus, unsigned int device_fn, int where,
"pci_addr=0x%p, type1=0x%p)\n", "pci_addr=0x%p, type1=0x%p)\n",
bus, device_fn, where, pci_addr, type1)); bus, device_fn, where, pci_addr, type1));
if (hose->bus == pbus) if (!pbus->parent) /* No parent means peer PCI bus. */
bus = 0; bus = 0;
*type1 = (bus != 0); *type1 = (bus != 0);
......
...@@ -463,7 +463,7 @@ monet_swizzle(struct pci_dev *dev, u8 *pinp) ...@@ -463,7 +463,7 @@ monet_swizzle(struct pci_dev *dev, u8 *pinp)
struct pci_controller *hose = dev->sysdata; struct pci_controller *hose = dev->sysdata;
int slot, pin = *pinp; int slot, pin = *pinp;
if (hose->bus == dev->bus) { if (!dev->bus->parent) {
slot = PCI_SLOT(dev->devfn); slot = PCI_SLOT(dev->devfn);
} }
/* Check for the built-in bridge on hose 1. */ /* Check for the built-in bridge on hose 1. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment