02 Feb, 2006
1 commit
-
Build break: Building PCI hotplug on PowerPC results in
a build break, due to failure to export symbols.Reported today by Dave Jones :
drivers/pci/hotplug/rpaphp.ko needs unknown symbol pcibios_add_pci_devicesThis patch fixes same problem in drivers/pci tree
Previous patch fixes the break in the arch/powerpc tree.Signed-off-by: Linas Vepstas
Signed-off-by: Linus Torvalds
01 Feb, 2006
17 commits
-
Error checking is scattered through various layers of the dlpar code,
leading to a somewhat opaque code structure. This patch consolidates
error checking in one routine, simplifying the code a tad. There's
also some whitespace cleanup here too.Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
Minor cleanup. Move structure initializer to bottom of file,
this allows elimination of eyeball-strain-inducing forward
declarations.Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
Minor cleanup. Add the prefix rpaphp_* to several generic-sounding routines.
Remove rpaphp_remove_slot(), which is a one-liner.Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
Remove general baroqueness. The function rpaphp_enable_pci_slot()
has a fairly simple logic structure, once all of the debug printk's
are removed. Its called from only one place, and that place also
has a very simple structure once he printk's are removed. Merge
the two together.Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
Remove general baroqueness. The function rpaphp_unconfig_pci_adapter()
is really just three lines of code, once all the dbg printks are removed.
And its called in only one place. So replace the call by the thre lines.
Also, provide proper semaphore locking in the affected function
disable_slot()Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
The function rpaphp_eeh_remove_bus_device() is a dupe of
eeh_remove_bus_device(). Remove it.Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
Remove general baroqueness. The function rpaphp_config_pci_adapter()
is really just one line of code, once all the dbg printks are removed.
And its called in only one place. So replace the call by the one line.Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
The function rpaphp_fixup_new_pci_devices() has been migrated to
pcibios_fixup_new_pci_devices() in
arch/powerpc/platforms/pseries/pci_dlpar.c
This patch removes the old version.Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
The function rpaphp_find_pci_bus() has been migrated to
pcibios_find_pci_bus() in arch/powerpc/platforms/pseries/pci_dlpar.c
This patch removes the old version.Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
This patch fixes the AMD POGO errata on the hotplug controller where the
platform will lock up or reboot if PERR/SERR generation is enabled and a
slot is sent an enable command. This fix disables PERR/SERR generation
before a slot is sent the enable command by first saving related
registers, turning off SERR/PERR generation, enabling the slot, then
restoring the registers.Signed-off-by: David Keck
Cc: Kristen Accardi
Signed-off-by: Greg Kroah-Hartman -
Removing and then adding a PCI slot to a running partition results in
a kernel panic. The current code attempts to add iospace for an entire
root bus, which is inappropriate, and silently fails. When a pci device
tries to use the iospace, a page fault is taken, as the iospace had not
been mapped, and of course the page fault cannot be resolved.This only occurs for PCI adapters using pio, which may be why it hadn't
been seen earlier (this seems to have been broken for a while).
This patch has survived testing of dozens of slot add and removes.Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
The RPAPHP hoplug driver will not build as a module, because it calls
on pci_claim_resource(), which is not exported. This exports the symbol.
Problem reported by Olaf HeringA grep indicates that building drivers/parisc/lba_pci.c
would have trouble building as a module for the same reason.Signed-off-by: Linas Vepstas
Signed-off-by: Greg Kroah-Hartman -
Remove reference to pcihpfs that no longer exists.
Signed-off-by: Pavel Machek
-
Signed-off-by: Pavel Machek
Signed-off-by: Greg Kroah-Hartman -
I missed this usage in drivers/pci/msi.h:
#ifdef CONFIG_SMP
#define set_msi_irq_affinity set_msi_affinity
#else
#define set_msi_irq_affinity NULL
#endifset_msi_affinity() is declared and exclusively used in msi.c.
Here's a better way so (hopefully) history doesn't repeat itself.Signed-off-by: Grant Grundler
Signed-off-by: Greg Kroah-Hartman -
This patch #if 0's the unused global function pci_find_ext_capability().
Signed-off-by: Adrian Bunk
Signed-off-by: Greg Kroah-Hartman -
The lock validator caught another one: drivers/pci/msi.c is accessing
&irq_desc[i].lock with interrupts enabled (!).The fix is to disable interrupts properly.
Signed-off-by: Ingo Molnar
Signed-off-by: Linus Torvalds
18 Jan, 2006
1 commit
-
Signed-off-by: Jason Gaston
Signed-off-by: Jeff Garzik
14 Jan, 2006
1 commit
-
Move the PCI bus device probe/remove methods to the bus_type
structure. We leave the shutdown method alone since there
are compatibility issues with that.Signed-off-by: Russell King
Signed-off-by: Greg Kroah-Hartman
10 Jan, 2006
20 commits
-
This patch converts the inode semaphore to a mutex. I have tested it on
XFS and compiled as much as one can consider on an ia64. Anyway your
luck with it might be different.Modified-by: Ingo Molnar
(finished the conversion)
Signed-off-by: Jes Sorensen
Signed-off-by: Ingo Molnar -
This patch contains the following cleanups:
- hotplug/pciehp_core.c: make the needlessly global hpdriver_context
static
- #if 0 the following unused functions:
- pci.c: pci_bus_max_busnr()
- pci.c: pci_max_busnr()
- proc.c: pci_proc_attach_bus()
- remove.c: pci_remove_device_safeSigned-off-by: Adrian Bunk
Signed-off-by: Greg Kroah-Hartman -
Only size the bus that has been added.
Signed-off-by: Kristen Carlson Accardi
Signed-off-by: Greg Kroah-Hartman -
The Compaq PCI Hotplug driver was creating 2 sysfs files that contained
nothing but debug information, and had way more than "one value" in
them. This patch converts the code to use debugfs for these files
instead.Compile tested only.
Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
Here's a small patch to reduce the nr. of pointer dereferences in
drivers/pci/hotplug/pciehp_core.cBenefits:
- micro speed optimization due to fewer pointer derefs
- generated code is slightly smaller
- small line length cleanup
- better readabilitySigned-off-by: Jesper Juhl
Signed-off-by: Greg Kroah-Hartman -
Here's a small patch to reduce the nr. of pointer dereferences in
drivers/pci/hotplug/pciehprm_acpi.cBenefits:
- micro speed optimization due to fewer pointer derefs
- generated code is slightly smaller
- better readabilitySigned-off-by: Jesper Juhl
Signed-off-by: Greg Kroah-Hartman -
Here's a small patch to reduce the nr. of pointer dereferences in
drivers/pci/hotplug/rpaphp_pci.cBenefits:
- micro speed optimization due to fewer pointer derefs
- generated code should be slightly smaller
- better readabilitynote: due to lack of both hardware and cross-compile tools this patch is,
unfortunately, completely untested.Signed-off-by: Jesper Juhl
Signed-off-by: Greg Kroah-Hartman -
Here's a small patch to reduce the nr of pointer dereferences in
drivers/pci/hotplug/cpqphp_core.cBenefits of this patch:
- micro speed optimization due to fewer pointer derefs
- generated code is slightly smaller
- tiny line length and whitespace cleanup
- better readabilitySigned-off-by: Jesper Juhl
Signed-off-by: Greg Kroah-Hartman -
The powerpc PCI code sets up the PCI tree without doing config space
accesses in most cases, from the firmware tree. However, it still wants
to call pci_cfg_space_size() under some conditions, thus it needs to
be made non-static (though I don't see a point to export it to modules).Signed-off-by: Benjamin Herrenschmidt
Signed-off-by: Greg Kroah-Hartman -
Add a warning if a child bus may be inaccessible because the
parent bridge has wrong secondary or subordinate bus numbers.
Note that this may or may not happen on "transparent" bridges,
as can be seen in bug #5557.Also, if we do not fix up the assignment of bus numbers, try to
make use of the bus number space available.Signed-off-by: Dominik Brodowski
Signed-off-by: Greg Kroah-Hartman -
This patch fixes bugs in the pciehp driver that prevent hot-add
of a card with PCI bridges on it.Signed-off-by: Rajesh Shah
Signed-off-by: Greg Kroah-Hartman -
This patch disables power fault, MRL sensor and presence detection
interrupts when a PCIe slot is powered-off and enables those
interrupts when it is powered-on again. This is necessary to prevent
the associated events from causing an endless cycle of interrupts
due to the power-fault bit, which stays set till power is restored
to the slot.Signed-off-by: Thomas Schaefer
Signed-off-by: Rajesh Shah
Signed-off-by: Greg Kroah-Hartman -
I've implemented a quirk to take advantage of the 1KB I/O space
granularity option on the Intel P64H2 PCI Bridge. I had to change
probe.c because it sets the resource start and end to be aligned on 4k
boundaries (after the quirk sets them to 1k boundaries). I've tested
this patch on a Unisys ES7000-600 both with and without the 1KB option
enabled. I also tested this on a 2 processor Dell box that doesn't have
a P64H2 to make sure there were no negative affects there.Signed-off-by: Dan Yeisley
Signed-off-by: Greg Kroah-Hartman -
The following patch implements .get_address callback of
hotplug_slot_ops for SHPCHP driver. With this patch, we
can see bus address of hotplug slots as follows:$ cat address
0000:0b:01Signed-off-by: Kenji Kaneshige
Signed-off-by: Greg Kroah-Hartman -
The RPAPHP code contains two routines that appear to be gratuitous copies
of very similar pci code. In particular,rpaphp_claim_resource ~~ pci_claim_resource
(there is a minor, non-functional difference)rpadlpar_claim_one_bus == pcibios_claim_one_bus
(the code is identical)This patch removes the rpaphp versions of the code.
Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
The RPAPHP code contains a routine that duplicates some existing code.
This patch removes the rpaphp version of the code.Signed-off-by: Linas Vepstas
Acked-by: John Rose
Signed-off-by: Greg Kroah-Hartman -
Current SHPCHP driver uses msleep_interruptible() function to wait for
a command completion event. But I think this would cause an unnecessary
long wait until timeout, if command completion interrupt came before
task state was changed to TASK_INTERRUPTIBLE. This patch fixes this
issue. With this patch, command completion becomes faster as follows:o Without this patch
# time echo 1 > power
real 0m4.708s
user 0m0.000s
sys 0m0.524so With this patch
# time echo 1 > power
real 0m2.221s
user 0m0.000s
sys 0m0.532sSigned-off-by: Kenji Kaneshige
Signed-off-by: Greg Kroah-Hartman -
Current SHPCHP driver writes a '0' to the Command Completion Detect
bit to clear the Command Complete Interrupt Pending. But according to
the SHPC spec (See 4.7.3.1 System Interrupts), SHPCHP driver must
write '1'. This patch fixes this bug.Signed-off-by: Kenji Kaneshige
Signed-off-by: Greg Kroah-Hartman -
Current SHPCHP driver seems not to map MMIO region properly. This
patch fixes this bug. This patch also cleanup the code.Signed-off-by: Kenji Kaneshige
Signed-off-by: Greg Kroah-Hartman