mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [patch] PCI configuration fix for NUMA-Q
@ 2002-08-08 22:07 Matthew Dobson
  2002-08-08 23:41 ` Alan Cox
  0 siblings, 1 reply; 2+ messages in thread
From: Matthew Dobson @ 2002-08-08 22:07 UTC (permalink / raw)
  To: Linus Torvalds, linux-kernel; +Cc: Martin Bligh, Michael Hohnbaum

[-- Attachment #1: Type: text/plain, Size: 213 bytes --]

Linus,
	The PCI code for NUMA-Q machines has been broken for a while...  The kernel 
currently can't find PCI busses on quad's other than the first.  This patch 
fixes that problem.  Please apply.

Cheers!

-Matt

[-- Attachment #2: numaq_pci_fix-2530.patch --]
[-- Type: text/plain, Size: 2142 bytes --]

diff -Nur linux-2.5.15-vanilla/arch/i386/pci/direct.c linux-2.5.15-patched/arch/i386/pci/direct.c
--- linux-2.5.15-vanilla/arch/i386/pci/direct.c	Thu May  9 15:22:49 2002
+++ linux-2.5.15-patched/arch/i386/pci/direct.c	Thu Aug  8 10:27:11 2002
@@ -6,6 +6,10 @@
 #include <linux/init.h>
 #include "pci.h"
 
+/* Ensure the correct pci_conf1_{read|write} functions are compiled in */
+#ifndef CONFIG_MULTIQUAD
+
+
 /*
  * Functions for accessing PCI configuration space with type 1 accesses
  */
@@ -72,6 +76,11 @@
 
 #undef PCI_CONF1_ADDRESS
 
+#else /* CONFIG_MULTIQUAD */
+extern int pci_conf1_read (int seg, int bus, int dev, int fn, int reg, int len, u32 *value);
+extern int pci_conf1_write (int seg, int bus, int dev, int fn, int reg, int len, u32 value);
+#endif /* !CONFIG_MULTIQUAD */
+
 static int pci_conf1_read_config_byte(struct pci_dev *dev, int where, u8 *value)
 {
 	int result; 
diff -Nur linux-2.5.15-vanilla/arch/i386/pci/numa.c linux-2.5.15-patched/arch/i386/pci/numa.c
--- linux-2.5.15-vanilla/arch/i386/pci/numa.c	Thu May  9 15:22:46 2002
+++ linux-2.5.15-patched/arch/i386/pci/numa.c	Thu Aug  8 10:52:24 2002
@@ -1,19 +1,23 @@
 /*
  * numa.c - Low-level PCI access for NUMA-Q machines
  */
+
 #include <linux/pci.h>
 #include <linux/init.h>
-
 #include "pci.h"
 
 #define BUS2QUAD(global) (mp_bus_id_to_node[global])
 #define BUS2LOCAL(global) (mp_bus_id_to_local[global])
 #define QUADLOCAL2BUS(quad,local) (quad_local_to_mp_bus_id[quad][local])
 
+/*
+ * Functions for accessing PCI configuration space with type 1 accesses on NUMA-Q
+ */
+
 #define PCI_CONF1_ADDRESS(bus, dev, fn, reg) \
 	(0x80000000 | (BUS2LOCAL(bus) << 16) | (dev << 11) | (fn << 8) | (reg & ~3))
 
-static int pci_conf1_read (int seg, int bus, int dev, int fn, int reg, int len, u32 *value)
+int pci_conf1_read (int seg, int bus, int dev, int fn, int reg, int len, u32 *value)
 {
 	unsigned long flags;
 
@@ -41,7 +45,7 @@
 	return 0;
 }
 
-static int pci_conf1_write (int seg, int bus, int dev, int fn, int reg, int len, u32 value)
+int pci_conf1_write (int seg, int bus, int dev, int fn, int reg, int len, u32 value)
 {
 	unsigned long flags;
 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-08-08 22:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-08 22:07 [patch] PCI configuration fix for NUMA-Q Matthew Dobson
2002-08-08 23:41 ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®