summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-07-29 21:42:46 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-29 20:59:55 -0700
commit355540f3338e1408dac98413f05d612a76d4f5e3 (patch)
tree4e9c208dca35a078a4e5900ee38543108feefa07
parentd2105b10fe0f460c388fe4e09226313f519d8c00 (diff)
downloadop-kernel-dev-355540f3338e1408dac98413f05d612a76d4f5e3.zip
op-kernel-dev-355540f3338e1408dac98413f05d612a76d4f5e3.tar.gz
[PATCH] x86_64: Revert k8-bus.c northbridge access change
As Travis Betak points out it accesses the wrong northbridge subfunction now. Switch back to the old code. Cc: "Travis Betak" <betak@mpdtxmail.amd.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/x86_64/pci/k8-bus.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86_64/pci/k8-bus.c b/arch/x86_64/pci/k8-bus.c
index b50a7c7..3acf60d 100644
--- a/arch/x86_64/pci/k8-bus.c
+++ b/arch/x86_64/pci/k8-bus.c
@@ -2,7 +2,6 @@
#include <linux/pci.h>
#include <asm/mpspec.h>
#include <linux/cpumask.h>
-#include <asm/k8.h>
/*
* This discovers the pcibus <-> node mapping on AMD K8.
@@ -19,6 +18,7 @@
#define NR_LDT_BUS_NUMBER_REGISTERS 3
#define SECONDARY_LDT_BUS_NUMBER(dword) ((dword >> 8) & 0xFF)
#define SUBORDINATE_LDT_BUS_NUMBER(dword) ((dword >> 16) & 0xFF)
+#define PCI_DEVICE_ID_K8HTCONFIG 0x1100
/**
* fill_mp_bus_to_cpumask()
@@ -28,7 +28,8 @@
__init static int
fill_mp_bus_to_cpumask(void)
{
- int i, j, k;
+ struct pci_dev *nb_dev = NULL;
+ int i, j;
u32 ldtbus, nid;
static int lbnr[3] = {
LDT_BUS_NUMBER_REGISTER_0,
@@ -36,9 +37,8 @@ fill_mp_bus_to_cpumask(void)
LDT_BUS_NUMBER_REGISTER_2
};
- cache_k8_northbridges();
- for (k = 0; k < num_k8_northbridges; k++) {
- struct pci_dev *nb_dev = k8_northbridges[k];
+ while ((nb_dev = pci_get_device(PCI_VENDOR_ID_AMD,
+ PCI_DEVICE_ID_K8HTCONFIG, nb_dev))) {
pci_read_config_dword(nb_dev, NODE_ID_REGISTER, &nid);
for (i = 0; i < NR_LDT_BUS_NUMBER_REGISTERS; i++) {
OpenPOWER on IntegriCloud