public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BK PATCH] PCI update for 2.6.3
@ 2004-02-20 19:04 Greg KH
  2004-02-20 19:06 ` [PATCH] " Greg KH
  0 siblings, 1 reply; 8+ messages in thread
From: Greg KH @ 2004-02-20 19:04 UTC (permalink / raw)
  To: torvalds, akpm; +Cc: linux-kernel, pcihpd-discuss

Hi,

Here are some PCI and PCI hotplug patches for 2.6.3.
The majority of these changes are 3 new pci hotplug drivers:
	- ppc64 dynamic partition driver
	- PCI Express hotplug driver
	- SHPC hotplug driver (the "standard" pci hotplug driver.)
	  Should work just fine on most x86-64 boxes too.

There are some other minor bug fixes in here, and the moving of the
CONFIG_HOTPLUG declaration so that all archs can now use it.

Please pull from:
	bk://kernel.bkbits.net/gregkh/linux/pci-2.6

thanks,

greg k-h

p.s. I'll send these as patches in response to this email to lkml for
those who want to see them.


 Documentation/MSI-HOWTO.txt            |   19 
 arch/alpha/Kconfig                     |   18 
 arch/arm/Kconfig                       |   36 
 arch/arm26/Kconfig                     |   18 
 arch/i386/Kconfig                      |   36 
 arch/ia64/Kconfig                      |   36 
 arch/m68knommu/Kconfig                 |   18 
 arch/mips/Kconfig                      |   18 
 arch/mips/pci/pci-cobalt.c             |    2 
 arch/ppc/Kconfig                       |   18 
 arch/ppc64/Kconfig                     |   18 
 arch/sh/Kconfig                        |   18 
 arch/sparc64/Kconfig                   |   18 
 arch/v850/Kconfig                      |   18 
 arch/x86_64/Kconfig                    |   36 
 drivers/net/gt96100eth.c               |    6 
 drivers/parisc/Kconfig                 |   18 
 drivers/pci/hotplug/Kconfig            |   90 
 drivers/pci/hotplug/Makefile           |   40 
 drivers/pci/hotplug/cpqphp_sysfs.c     |    4 
 drivers/pci/hotplug/pci_hotplug.h      |   21 
 drivers/pci/hotplug/pci_hotplug_core.c |    1 
 drivers/pci/hotplug/pciehp.h           |  386 ++++
 drivers/pci/hotplug/pciehp_core.c      |  707 +++++++
 drivers/pci/hotplug/pciehp_ctrl.c      | 2622 ++++++++++++++++++++++++++++
 drivers/pci/hotplug/pciehp_hpc.c       | 1436 +++++++++++++++
 drivers/pci/hotplug/pciehp_pci.c       |  834 +++++++++
 drivers/pci/hotplug/pciehp_sysfs.c     |  147 +
 drivers/pci/hotplug/pciehprm.h         |   53 
 drivers/pci/hotplug/pciehprm_acpi.c    | 1689 ++++++++++++++++++
 drivers/pci/hotplug/pciehprm_nonacpi.c |  498 +++++
 drivers/pci/hotplug/pciehprm_nonacpi.h |   56 
 drivers/pci/hotplug/rpadlpar.h         |   24 
 drivers/pci/hotplug/rpadlpar_core.c    |  343 +++
 drivers/pci/hotplug/rpadlpar_sysfs.c   |  151 +
 drivers/pci/hotplug/rpaphp.h           |  101 +
 drivers/pci/hotplug/rpaphp_core.c      |  948 ++++++++++
 drivers/pci/hotplug/rpaphp_pci.c       |   75 
 drivers/pci/hotplug/shpchp.h           |  467 +++++
 drivers/pci/hotplug/shpchp_core.c      |  704 +++++++
 drivers/pci/hotplug/shpchp_ctrl.c      | 3055 +++++++++++++++++++++++++++++++++
 drivers/pci/hotplug/shpchp_hpc.c       | 1608 +++++++++++++++++
 drivers/pci/hotplug/shpchp_pci.c       |  821 ++++++++
 drivers/pci/hotplug/shpchp_sysfs.c     |  147 +
 drivers/pci/hotplug/shpchprm.h         |   56 
 drivers/pci/hotplug/shpchprm_acpi.c    | 1694 ++++++++++++++++++
 drivers/pci/hotplug/shpchprm_legacy.c  |  474 +++++
 drivers/pci/hotplug/shpchprm_legacy.h  |  113 +
 drivers/pci/hotplug/shpchprm_nonacpi.c |  431 ++++
 drivers/pci/hotplug/shpchprm_nonacpi.h |   56 
 drivers/pci/msi.c                      |    6 
 drivers/pci/msi.h                      |    4 
 drivers/pci/pci.c                      |   94 -
 drivers/pci/quirks.c                   |    9 
 drivers/s390/Kconfig                   |   22 
 include/linux/pci.h                    |    2 
 include/linux/pci_ids.h                |   26 
 init/Kconfig                           |   19 
 58 files changed, 19946 insertions(+), 439 deletions(-)
-----


<lxiep:linux.ibm.com>:
  o PCI Hotplug: Add PPC64 PCI Hotplug Driver for RPA

<martine.silbermann:hp.com>:
  o PCI: update MSI Documentation

<tlnguyen:snoqualmie.dp.intel.com>:
  o PCI: add copyright for files msi.c and msi.h

Adam Belay:
  o PCI: remove unused defines in pci.h

Bartlomiej Zolnierkiewicz:
  o move CONFIG_HOTPLUG to init/Kconfig

Dely Sy:
  o PCI Hotplug: Add SHPC and PCI Express hot-plug drivers

Greg Kroah-Hartman:
  o PCI Hotplug: fix build warnings on 64 bit processors
  o PCI: fix pci quirk for P4B533-V, fixes bug 1720

John Rose:
  o PCI Hotplug : add DLPAR driver for PPC64 PCI Hotplug slots

Mark A. Greer:
  o PCI: Changing 'GALILEO' to 'MARVELL'

Matthew Wilcox:
  o PCI: Fix pci_bus_find_capability()


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

* [PATCH] PCI update for 2.6.3
  2004-02-20 19:04 [BK PATCH] PCI update for 2.6.3 Greg KH
@ 2004-02-20 19:06 ` Greg KH
  2004-02-20 19:06   ` Greg KH
  2004-02-20 19:41   ` Dave Jones
  0 siblings, 2 replies; 8+ messages in thread
From: Greg KH @ 2004-02-20 19:06 UTC (permalink / raw)
  To: linux-kernel, pcihpd-discuss

ChangeSet 1.1557.58.1, 2004/02/18 11:15:56-08:00, mgreer@mvista.com

[PATCH] PCI: Changing 'GALILEO' to 'MARVELL'

I'm working with some Marvell components (formerly Galileo Technologies)
and noticed that the entries in include/linux/pci_ids.h have become
dated.  I have attached a patch that changes 'GALILEO' to 'MARVELL',
adds some more devices, and updates the uses of the macros in the code.
Please note that the newer marvell parts start with 'MV' instead of 'GT'
to represent the new name.  Also, I didn't change all uses of galileo to
marvell, only the macro in pci_ids.h.


 arch/mips/pci/pci-cobalt.c |    2 +-
 drivers/net/gt96100eth.c   |    6 +++---
 include/linux/pci_ids.h    |   13 ++++++++-----
 3 files changed, 12 insertions(+), 9 deletions(-)


diff -Nru a/arch/mips/pci/pci-cobalt.c b/arch/mips/pci/pci-cobalt.c
--- a/arch/mips/pci/pci-cobalt.c	Fri Feb 20 10:45:28 2004
+++ b/arch/mips/pci/pci-cobalt.c	Fri Feb 20 10:45:28 2004
@@ -258,7 +258,7 @@
 	 qube_raq_via_bmIDE_fixup},
 	{PCI_FIXUP_HEADER, PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21142,
 	 qube_raq_tulip_fixup},
-	{PCI_FIXUP_HEADER, PCI_VENDOR_ID_GALILEO, PCI_ANY_ID,
+	{PCI_FIXUP_HEADER, PCI_VENDOR_ID_MARVELL, PCI_ANY_ID,
 	 qube_raq_galileo_fixup},
 	{PCI_FIXUP_HEADER, PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C860,
 	 qube_raq_scsi_fixup},
diff -Nru a/drivers/net/gt96100eth.c b/drivers/net/gt96100eth.c
--- a/drivers/net/gt96100eth.c	Fri Feb 20 10:45:28 2004
+++ b/drivers/net/gt96100eth.c	Fri Feb 20 10:45:28 2004
@@ -661,9 +661,9 @@
 	pcibios_read_config_word(0, 0, PCI_VENDOR_ID, &vendor_id);
 	pcibios_read_config_word(0, 0, PCI_DEVICE_ID, &device_id);
     
-	if (vendor_id != PCI_VENDOR_ID_GALILEO ||
-	    (device_id != PCI_DEVICE_ID_GALILEO_GT96100 &&
-	     device_id != PCI_DEVICE_ID_GALILEO_GT96100A)) {
+	if (vendor_id != PCI_VENDOR_ID_MARVELL ||
+	    (device_id != PCI_DEVICE_ID_MARVELL_GT96100 &&
+	     device_id != PCI_DEVICE_ID_MARVELL_GT96100A)) {
 		printk(KERN_ERR __FILE__ ": GT96100 not found!\n");
 		return -ENODEV;
 	}
diff -Nru a/include/linux/pci_ids.h b/include/linux/pci_ids.h
--- a/include/linux/pci_ids.h	Fri Feb 20 10:45:28 2004
+++ b/include/linux/pci_ids.h	Fri Feb 20 10:45:28 2004
@@ -1422,11 +1422,14 @@
 #define PCI_SUBVENDOR_ID_KEYSPAN	0x11a9
 #define PCI_SUBDEVICE_ID_KEYSPAN_SX2	0x5334
 
-#define PCI_VENDOR_ID_GALILEO		0x11ab
-#define PCI_DEVICE_ID_GALILEO_GT64011	0x4146
-#define PCI_DEVICE_ID_GALILEO_GT64111	0x4146
-#define PCI_DEVICE_ID_GALILEO_GT96100	0x9652
-#define PCI_DEVICE_ID_GALILEO_GT96100A	0x9653
+#define PCI_VENDOR_ID_MARVELL		0x11ab
+#define PCI_DEVICE_ID_MARVELL_GT64011	0x4146
+#define PCI_DEVICE_ID_MARVELL_GT64111	0x4146
+#define PCI_DEVICE_ID_MARVELL_GT64260	0x6430
+#define PCI_DEVICE_ID_MARVELL_MV64360	0x6460
+#define PCI_DEVICE_ID_MARVELL_MV64460	0x6480
+#define PCI_DEVICE_ID_MARVELL_GT96100	0x9652
+#define PCI_DEVICE_ID_MARVELL_GT96100A	0x9653
 
 #define PCI_VENDOR_ID_LITEON		0x11ad
 #define PCI_DEVICE_ID_LITEON_LNE100TX	0x0002


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

* Re: [PATCH] PCI update for 2.6.3
  2004-02-20 19:06 ` [PATCH] " Greg KH
@ 2004-02-20 19:06   ` Greg KH
  2004-02-20 19:06     ` Greg KH
  2004-02-20 19:19     ` Christoph Hellwig
  2004-02-20 19:41   ` Dave Jones
  1 sibling, 2 replies; 8+ messages in thread
From: Greg KH @ 2004-02-20 19:06 UTC (permalink / raw)
  To: linux-kernel, pcihpd-discuss

ChangeSet 1.1557.58.2, 2004/02/18 11:16:10-08:00, tlnguyen@snoqualmie.dp.intel.com

[PATCH] PCI: add copyright for files msi.c and msi.h

First I would like to say sorry for not responding immediately after receiving
your email mentioning Copyright. I have contacted Intel Legal for proper text
upon receiving this email; but have not received any response. As a result of
team discussion, the attached patch, based on Linux kernel 2.6.3-rc2, includes
the Intel Copyright for files: msi.h and msi.c.


 drivers/pci/msi.c |    6 +++++-
 drivers/pci/msi.h |    4 +++-
 2 files changed, 8 insertions(+), 2 deletions(-)


diff -Nru a/drivers/pci/msi.c b/drivers/pci/msi.c
--- a/drivers/pci/msi.c	Fri Feb 20 10:45:21 2004
+++ b/drivers/pci/msi.c	Fri Feb 20 10:45:21 2004
@@ -1,5 +1,9 @@
 /*
- * linux/drivers/pci/msi.c
+ * File:	msi.c
+ * Purpose:	PCI Message Signaled Interrupt (MSI)
+ *
+ * Copyright (C) 2003-2004 Intel
+ * Copyright (C) Tom Long Nguyen (tom.l.nguyen@intel.com)
  */
 
 #include <linux/mm.h>
diff -Nru a/drivers/pci/msi.h b/drivers/pci/msi.h
--- a/drivers/pci/msi.h	Fri Feb 20 10:45:21 2004
+++ b/drivers/pci/msi.h	Fri Feb 20 10:45:21 2004
@@ -1,6 +1,8 @@
 /*
- *	msi.h
+ * File:	msi.h
  *
+ * Copyright (C) 2003-2004 Intel
+ * Copyright (C) Tom Long Nguyen (tom.l.nguyen@intel.com)
  */
 
 #ifndef MSI_H


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

* Re: [PATCH] PCI update for 2.6.3
  2004-02-20 19:06     ` Greg KH
@ 2004-02-20 19:06       ` Greg KH
  0 siblings, 0 replies; 8+ messages in thread
From: Greg KH @ 2004-02-20 19:06 UTC (permalink / raw)
  To: linux-kernel, pcihpd-discuss

ChangeSet 1.1557.58.4, 2004/02/18 11:40:45-08:00, ambx1@neo.rr.com

[PATCH] PCI: remove unused defines in pci.h

It occured to me that we also have the following related code in pci.h:
Perhaps this should be removed as well?


 include/linux/pci.h |    2 --
 1 files changed, 2 deletions(-)


diff -Nru a/include/linux/pci.h b/include/linux/pci.h
--- a/include/linux/pci.h	Fri Feb 20 10:45:09 2004
+++ b/include/linux/pci.h	Fri Feb 20 10:45:09 2004
@@ -362,8 +362,6 @@
 #define PCI_DMA_NONE		3
 
 #define DEVICE_COUNT_COMPATIBLE	4
-#define DEVICE_COUNT_IRQ	2
-#define DEVICE_COUNT_DMA	2
 #define DEVICE_COUNT_RESOURCE	12
 
 /*


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

* Re: [PATCH] PCI update for 2.6.3
  2004-02-20 19:06   ` Greg KH
@ 2004-02-20 19:06     ` Greg KH
  2004-02-20 19:06       ` Greg KH
  2004-02-20 19:19     ` Christoph Hellwig
  1 sibling, 1 reply; 8+ messages in thread
From: Greg KH @ 2004-02-20 19:06 UTC (permalink / raw)
  To: linux-kernel, pcihpd-discuss

ChangeSet 1.1557.58.3, 2004/02/18 11:16:24-08:00, willy@debian.org

[PATCH] PCI: Fix pci_bus_find_capability()

pci_bus_find_capability() is currently broken.  It checks the wrong
device's hdr_type for being a cardbus bridge or not.  This patch pulls
the guts of pci_bus_find_capability() and pci_find_capability() into a
new function __pci_bus_find_cap() and changes these two functions to
call it.


 drivers/pci/pci.c |   94 +++++++++++++++++++++---------------------------------
 1 files changed, 38 insertions(+), 56 deletions(-)


diff -Nru a/drivers/pci/pci.c b/drivers/pci/pci.c
--- a/drivers/pci/pci.c	Fri Feb 20 10:45:15 2004
+++ b/drivers/pci/pci.c	Fri Feb 20 10:45:15 2004
@@ -67,6 +67,39 @@
 	return max;
 }
 
+static int __pci_bus_find_cap(struct pci_bus *bus, unsigned int devfn, u8 hdr_type, int cap)
+{
+	u16 status;
+	u8 pos, id;
+	int ttl = 48;
+
+	pci_bus_read_config_word(bus, devfn, PCI_STATUS, &status);
+	if (!(status & PCI_STATUS_CAP_LIST))
+		return 0;
+
+	switch (hdr_type) {
+	case PCI_HEADER_TYPE_NORMAL:
+	case PCI_HEADER_TYPE_BRIDGE:
+		pci_bus_read_config_byte(bus, devfn, PCI_CAPABILITY_LIST, &pos);
+		break;
+	case PCI_HEADER_TYPE_CARDBUS:
+		pci_bus_read_config_byte(bus, devfn, PCI_CB_CAPABILITY_LIST, &pos);
+		break;
+	default:
+		return 0;
+	}
+	while (ttl-- && pos >= 0x40) {
+		pos &= ~3;
+		pci_bus_read_config_byte(bus, devfn, pos + PCI_CAP_LIST_ID, &id);
+		if (id == 0xff)
+			break;
+		if (id == cap)
+			return pos;
+		pci_bus_read_config_byte(bus, devfn, pos + PCI_CAP_LIST_NEXT, &pos);
+	}
+	return 0;
+}
+
 /**
  * pci_find_capability - query for devices' capabilities 
  * @dev: PCI device to query
@@ -94,34 +127,7 @@
 int
 pci_find_capability(struct pci_dev *dev, int cap)
 {
-	u16 status;
-	u8 pos, id;
-	int ttl = 48;
-
-	pci_read_config_word(dev, PCI_STATUS, &status);
-	if (!(status & PCI_STATUS_CAP_LIST))
-		return 0;
-	switch (dev->hdr_type) {
-	case PCI_HEADER_TYPE_NORMAL:
-	case PCI_HEADER_TYPE_BRIDGE:
-		pci_read_config_byte(dev, PCI_CAPABILITY_LIST, &pos);
-		break;
-	case PCI_HEADER_TYPE_CARDBUS:
-		pci_read_config_byte(dev, PCI_CB_CAPABILITY_LIST, &pos);
-		break;
-	default:
-		return 0;
-	}
-	while (ttl-- && pos >= 0x40) {
-		pos &= ~3;
-		pci_read_config_byte(dev, pos + PCI_CAP_LIST_ID, &id);
-		if (id == 0xff)
-			break;
-		if (id == cap)
-			return pos;
-		pci_read_config_byte(dev, pos + PCI_CAP_LIST_NEXT, &pos);
-	}
-	return 0;
+	return __pci_bus_find_cap(dev->bus, dev->devfn, dev->hdr_type, cap);
 }
 
 /**
@@ -139,35 +145,11 @@
  */
 int pci_bus_find_capability(struct pci_bus *bus, unsigned int devfn, int cap)
 {
-	u16 status;
-	u8 pos, id;
-	int ttl = 48;
-	struct pci_dev *dev = bus->self;
+	u8 hdr_type;
 
-	pci_bus_read_config_word(bus, devfn, PCI_STATUS, &status);
-	if (!(status & PCI_STATUS_CAP_LIST))
-		return 0;
-	switch (dev->hdr_type) {
-	case PCI_HEADER_TYPE_NORMAL:
-	case PCI_HEADER_TYPE_BRIDGE:
-		pci_bus_read_config_byte(bus, devfn, PCI_CAPABILITY_LIST, &pos);
-		break;
-	case PCI_HEADER_TYPE_CARDBUS:
-		pci_bus_read_config_byte(bus, devfn, PCI_CB_CAPABILITY_LIST, &pos);
-		break;
-	default:
-		return 0;
-	}
-	while (ttl-- && pos >= 0x40) {
-		pos &= ~3;
-		pci_bus_read_config_byte(bus, devfn, pos + PCI_CAP_LIST_ID, &id);
-		if (id == 0xff)
-			break;
-		if (id == cap)
-			return pos;
-		pci_bus_read_config_byte(bus, devfn, pos + PCI_CAP_LIST_NEXT, &pos);
-	}
-	return 0;
+	pci_bus_read_config_byte(bus, devfn, PCI_HEADER_TYPE, &hdr_type);
+
+	return __pci_bus_find_cap(bus, devfn, hdr_type & 0x7f, cap);
 }
 
 /**


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

* Re: [PATCH] PCI update for 2.6.3
  2004-02-20 19:06   ` Greg KH
  2004-02-20 19:06     ` Greg KH
@ 2004-02-20 19:19     ` Christoph Hellwig
  1 sibling, 0 replies; 8+ messages in thread
From: Christoph Hellwig @ 2004-02-20 19:19 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-kernel, pcihpd-discuss

On Fri, Feb 20, 2004 at 11:06:18AM -0800, Greg KH wrote:
> @@ -1,5 +1,9 @@
>  /*
> - * linux/drivers/pci/msi.c
> + * File:	msi.c

Please kill these silly comments.  Everyone opening that file should
better know what he's looking at..


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

* Re: [PATCH] PCI update for 2.6.3
  2004-02-20 19:06 ` [PATCH] " Greg KH
  2004-02-20 19:06   ` Greg KH
@ 2004-02-20 19:41   ` Dave Jones
  2004-02-20 19:53     ` Greg KH
  1 sibling, 1 reply; 8+ messages in thread
From: Dave Jones @ 2004-02-20 19:41 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-kernel, pcihpd-discuss

On Fri, Feb 20, 2004 at 11:06:17AM -0800, Greg KH wrote:
 > ChangeSet 1.1557.58.1, 2004/02/18 11:15:56-08:00, mgreer@mvista.com
 > 
 > [PATCH] PCI: Changing 'GALILEO' to 'MARVELL'
 > 
 > I'm working with some Marvell components (formerly Galileo Technologies)
 > and noticed that the entries in include/linux/pci_ids.h have become
 > dated

I just changed this at pciids.sf.net too, so the pci.ids in the kernel
will get updated in the next update.

		Dave

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

* Re: [PATCH] PCI update for 2.6.3
  2004-02-20 19:41   ` Dave Jones
@ 2004-02-20 19:53     ` Greg KH
  0 siblings, 0 replies; 8+ messages in thread
From: Greg KH @ 2004-02-20 19:53 UTC (permalink / raw)
  To: Dave Jones, linux-kernel, pcihpd-discuss

On Fri, Feb 20, 2004 at 07:41:30PM +0000, Dave Jones wrote:
> On Fri, Feb 20, 2004 at 11:06:17AM -0800, Greg KH wrote:
>  > ChangeSet 1.1557.58.1, 2004/02/18 11:15:56-08:00, mgreer@mvista.com
>  > 
>  > [PATCH] PCI: Changing 'GALILEO' to 'MARVELL'
>  > 
>  > I'm working with some Marvell components (formerly Galileo Technologies)
>  > and noticed that the entries in include/linux/pci_ids.h have become
>  > dated
> 
> I just changed this at pciids.sf.net too, so the pci.ids in the kernel
> will get updated in the next update.

Nice, thanks for doing this.

greg k-h

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

end of thread, other threads:[~2004-02-20 20:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-20 19:04 [BK PATCH] PCI update for 2.6.3 Greg KH
2004-02-20 19:06 ` [PATCH] " Greg KH
2004-02-20 19:06   ` Greg KH
2004-02-20 19:06     ` Greg KH
2004-02-20 19:06       ` Greg KH
2004-02-20 19:19     ` Christoph Hellwig
2004-02-20 19:41   ` Dave Jones
2004-02-20 19:53     ` Greg KH

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