* [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 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 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: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