History log of /drivers/pci/hotplug/shpchp_hpc.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4cac2eb158c6da0c761689345c6cc5df788a6292 23-Aug-2011 Bjorn Helgaas <bhelgaas@google.com> PCI hotplug: shpchp: don't blindly claim non-AMD 0x7450 device IDs

Previously we claimed device ID 0x7450, regardless of the vendor, which is
clearly wrong. Now we'll claim that device ID only for AMD.

I suspect this was just a typo in the original code, but it's possible this
change will break shpchp on non-7450 AMD bridges. If so, we'll have to fix
them as we find them.

Reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=638863
Reported-by: Ralf Jung <ralfjung-e@gmx.de>
Cc: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/shpchp_hpc.c
e24dcbef93dbbf529fbedfc6ce8ab22d2cef35f0 18-Oct-2010 Tejun Heo <tj@kernel.org> shpchp: update workqueue usage

* Rename shpchp_wq to shpchp_ordered_wq and add non-ordered shpchp_wq
which is used instead of the system workqueue. This is to remove
the use of flush_scheduled_work() which is deprecated and scheduled
for removal.

* With cmwq in place, there's no point in creating workqueues lazily.
Create both shpchp_wq and shpchp_ordered_wq upfront.

* Include workqueue.h from shpchp.h.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/shpchp_hpc.c
3b8fdb759e6ed446433c6dfd5a226d9007925596 26-May-2010 Dan Carpenter <error27@gmail.com> PCI: hotplug/shpchp_hpc: add parenthesis in SLOT_REG_RSVDZ_MASK

The SLOT_REG_RSVDZ_MASK macro is normally used like this:
slot_reg &= ~SLOT_REG_RSVDZ_MASK;
The ~ operator has higher precedence than the | operator from inside the
macro, so it needs parenthesis.

Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/shpchp_hpc.c
3749c51ac6c1560aa1cb1520066bed84c6f8152a 13-Dec-2009 Matthew Wilcox <matthew@wil.cx> PCI: Make current and maximum bus speeds part of the PCI core

Move the max_bus_speed and cur_bus_speed into the pci_bus. Expose the
values through the PCI slot driver instead of the hotplug slot driver.
Update all the hotplug drivers to use the pci_bus instead of their own
data structures.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/shpchp_hpc.c
be7bce250a88fbbb5a67204eb148bce8b798780a 23-Oct-2008 Taku Izumi <izumi.taku@jp.fujitsu.com> PCI hotplug: shpchp: message refinement

This patch refines messages in shpchp module. The main changes are as
follows:

- remove the trailing "."
- remove __func__ as much as possible
- capitalize the first letter of messages
- show PCI device address including its domain

Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/shpchp_hpc.c
f98ca311f3a32e2adc229fecd6bf732db07fcca3 23-Oct-2008 Taku Izumi <izumi.taku@jp.fujitsu.com> PCI hotplug: shpchp: replace printk with dev_printk

This patch replaces printks within shpchp module with dev_printks.

Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/shpchp_hpc.c
ac9c052d10d8d6f46a30cb46c0d6d753997c299f 28-May-2008 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> shpchp: check firmware before taking control

Fix the following problems of shpchp driver about getting hotplug
control from firmware.

- The shpchp driver must not control the hotplug controller if it
fails to get control from the firmware. But current shpchp
controls the hotplug controller regardless the result, because it
doesn't check the return value of get_hp_hw_control_from_firmware().

- Current shpchp driver doesn't support _OSC.

The pciehp driver already have the code for evaluating _OSC and OSHP
and shpchp and pciehp can share it. So this patch move that code from
pciehp to acpi_pcihp.c.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/shpchp_hpc.c
66bef8c059015ba2b36bb5759080336feb01e680 04-Mar-2008 Harvey Harrison <harvey.harrison@gmail.com> PCI: replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
3609801ecc63e7def325752a19065980410d37ad 17-Dec-2007 Joe Perches <joe@perches.com> PCI: Spelling fixes

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
9f593e30b318719b0e3889c730cc3a2d0729a707 09-Jan-2007 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> shpchp: delete trailing whitespace

This patch deletes trailing white space in SHPCHP driver. This has no
functional change.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
1555b33da0b27f933fbe08679935ce9d83c0e9e9 09-Jan-2007 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> shpchp: remove DBG_XXX_ROUTINE

This patch removes DBG_ENTER_ROUTINE, DBG_LEAVE_ROUTINE and related
code.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
0abe68ce24973a23fcc6cbce80343f68656de7b6 17-Dec-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> shpchp: remove unnecessary struct php_ctlr

The struct php_ctlr seems to be only for complicating codes. This
patch removes struct php_ctlr and related codes.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
662a98fb8de5af4adb56e58f78753cdaa27b6459 04-Oct-2006 Amol Lad <amol@verismonetworks.com> PCI hotplug: ioremap balanced with iounmap

1. ioremap must be balanced by an iounmap and failing to do so can
result in a memory leak.
2. Handle return value correctly

Tested (compilation only) with:
- allmodconfig

Signed-off-by: Amol Lad <amol@verismonetworks.com>
Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
6aa562c248e05db993e4a5f405f899c0cfabb7f2 29-Sep-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> shpchp: remove unnecessary cmd_busy member from struct controller

This patch removes unnecessary cmd_busy member from struct
controller. Read command status register instead of using cmd_busy.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
d1729ccecd7ba9ceb6dca1c973dbfd87041d0637 29-Sep-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> shpchp: fix command completion check

This patch fixes the problem that shpchp driver could mis-detect
command failures if the system was under heavy load.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
b4a1efffcf8070dbc7734f27da10ce49fb9f2a34 22-Sep-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> shpchp: fix shpchp_wait_cmd in poll

This patch fixes the problem that issuing SHPC command in poll mode
always fails with the following message.

shpchp: Command not completed in 2000 msec

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
7d12e780e003f93433d49ce78cfedf4b4c52adc5 05-Oct-2006 David Howells <dhowells@redhat.com> IRQ: Maintain regs pointer globally rather than passing to IRQ handlers

Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
of passing regs around manually through all ~1800 interrupt handlers in the
Linux kernel.

The regs pointer is used in few places, but it potentially costs both stack
space and code to pass it around. On the FRV arch, removing the regs parameter
from all the genirq function results in a 20% speed up of the IRQ exit path
(ie: from leaving timer_interrupt() to leaving do_IRQ()).

Where appropriate, an arch may override the generic storage facility and do
something different with the variable. On FRV, for instance, the address is
maintained in GR28 at all times inside the kernel as part of general exception
handling.

Having looked over the code, it appears that the parameter may be handed down
through up to twenty or so layers of functions. Consider a USB character
device attached to a USB hub, attached to a USB controller that posts its
interrupts through a cascaded auxiliary interrupt controller. A character
device driver may want to pass regs to the sysrq handler through the input
layer which adds another few layers of parameter passing.

I've build this code with allyesconfig for x86_64 and i386. I've runtested the
main part of the code on FRV and i386, though I can't test most of the drivers.
I've also done partial conversion for powerpc and MIPS - these at least compile
with minimal configurations.

This will affect all archs. Mostly the changes should be relatively easy.
Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

struct pt_regs *old_regs = set_irq_regs(regs);

And put the old one back at the end:

set_irq_regs(old_regs);

Don't pass regs through to generic_handle_irq() or __do_IRQ().

In timer_interrupt(), this sort of change will be necessary:

- update_process_times(user_mode(regs));
- profile_tick(CPU_PROFILING, regs);
+ update_process_times(user_mode(get_irq_regs()));
+ profile_tick(CPU_PROFILING);

I'd like to move update_process_times()'s use of get_irq_regs() into itself,
except that i386, alone of the archs, uses something other than user_mode().

Some notes on the interrupt handling in the drivers:

(*) input_dev() is now gone entirely. The regs pointer is no longer stored in
the input_dev struct.

(*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
something different depending on whether it's been supplied with a regs
pointer or not.

(*) Various IRQ handler function pointers have been moved to type
irq_handler_t.

Signed-Off-By: David Howells <dhowells@redhat.com>
(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
/drivers/pci/hotplug/shpchp_hpc.c
6b4486e2e3b1044f157af44920b520f3593e3923 02-Jul-2006 Thomas Gleixner <tglx@linutronix.de> [PATCH] irq-flags: pci: Use the new IRQF_ constants

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/pci/hotplug/shpchp_hpc.c
ea83bc1dabdca9da643972b591259a7657459ff5 12-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: Remove Unused hpc_evelnt_lock

This patch removes unused hpc_event_lock. This patch has no functional
change.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
f42639572680f4d69d9522f91c65e793ebeca098 12-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: Cleanup interrupt polling timer

This patch cleans up the interrupt polling timer code in
shpchp_hpc.c. This has no functional changes.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
4085399da3c2176ba8ed64e93a2722907d41df3f 12-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: Cleanup SHPC commands

This patch cleans up the code related to issuing SHPC commands. This
patch has no functional changes.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
c4cecc1937cafd8505151452a9f7eea876a5bd9c 12-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: Cleanup interrupt handler

This patch cleans up the interrupt handler of shpchp driver. This
patch has no functional changes.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
d4fbf600666569c3921d12bdcfcfdb2cdb4fd5fb 12-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: Remove unnecessary hpc_ctlr_handle check

This patch removes unnecessary error check for hpc_ctlr_handle.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
82d5f4aaf182c306d2c2ef4d3a89d0fb8e386aa8 03-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: Create shpchpd at controller probe time

The workqueue thread of shpchp driver should be created only when SHPC
based hotplug slots are detected on the system.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
d49f2c49c39bbd0cb2069fe11c1630c709061037 03-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: Mask Global SERR and Intr at controller release time

Global SERR and Interrupt should be masked at shpchp driver unload time.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
e7138723692e43b7d43578746ad21bf194847527 02-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] SHPC: Fix SHPC Contoller SERR-INT Register bits access

Current SHPCHP driver doesn't take care of RsvdP/RsvdZ[*] bits in
controller SERR-INT register. This might cause unpredicable
results. This patch fixes this bug.

[*] RsvdP and RsvdZ are defined in SHPC spec as follows:

RsvdP - Reserved and Preserved. Register bits of this type are
reserved for future use as R/W bits. The value read is
undefined. Writes are ignored. Software must follow These rules
when accessing RsvdP bits:

- Software must ignore RsvdP bits when testing values read
from these registers.
- Software must not depend on RsvdP bit's ability to retain
information when written
- Software must always write back the value read in the RsvdP
bits when writing one of these registers.

RsvdZ - Reserved and Zero. Register bits of this type are reserved
for future use as R/WC bits. The value read is undefined. Writes
are ignored. Software must follow these rules when accessing RsvdZ
bits:

- Software must ignore RsvdZ bits when testing values read
from these registers.
- Software must not depends on a RsvdZ bit's ability to retain
information when written.
- Software must always write 0 to RsvdZ bits when writing one
of these register.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
795eb5c4a73bee30e8c2dbb29174b329da56051c 02-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] SHPC: Fix SHPC Logical Slot Register bits access

Current SHPCHP driver doesn't take care of RsvdP/RsvdZ[*] bits
in logical slot registers. This might cause unpredicable results. This
patch fixes this bug.

[*] RsvdP and RsvdZ are defined in SHPC spec as follows:

RsvdP - Reserved and Preserved. Register bits of this type are
reserved for future use as R/W bits. The value read is
undefined. Writes are ignored. Software must follow These rules
when accessing RsvdP bits:

- Software must ignore RsvdP bits when testing values read
from these registers.
- Software must not depend on RsvdP bit's ability to retain
information when written
- Software must always write back the value read in the RsvdP
bits when writing one of these registers.

RsvdZ - Reserved and Zero. Register bits of this type are reserved
for future use as R/WC bits. The value read is undefined. Writes
are ignored. Software must follow these rules when accessing RsvdZ
bits:

- Software must ignore RsvdZ bits when testing values read
from these registers.
- Software must not depends on a RsvdZ bit's ability to retain
information when written.
- Software must always write 0 to RsvdZ bits when writing one
of these register.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
5858759c2098c6792af1afa6d5ded94044740f9c 02-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] SHPC: Cleanup SHPC Logical Slot Register bits access

This patch cleans up the code to access bits in slot logical
registers. This patch has no functional change.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
2b34da7e61383b4b7773d2d4e776e58725794347 02-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] SHPC: Cleanup SHPC Logical Slot Register access

This patch cleans up the code to access slot logical registers. This
patch has no functional changes.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
75d97c59a192ca0fe2577974dac0c16a73a377eb 02-May-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] SHPC: Cleanup SHPC register access

This patch cleans up the code to access SHPC working register
sets. This patch has no functional changes.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
0afabe906539b4e8b9e895f19ea31aabdf12f30b 01-Mar-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: cleanup bus speed handling

The code related to handling bus speed in SHPCHP driver is
unnecessarily complex. This patch cleans up and simplify that.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
f7391f5325ea744f0632f7ef39a90085162743ac 22-Feb-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: event handling rework

The event handler of SHPCHP driver is unnecessarily very complex. In
addition, current event handler can only a fixed number of events at
the same time, and some of events would be lost if several number of
events happened at the same time.

This patch simplify the event handler by using 'work queue', and it
also fix the above-mentioned issue.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
e4e73041ecc4a3559c42ed9489f58531c2a8646b 26-Jan-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp - Fix incorrect return value of interrupt handler

Current SHPCHP driver has a bug in its interrupt handler which cause
"IRQ #: nobody cared" oops. This problem can be reproduced easily by
the following operation.

# cd /sys/bus/pci/slots/<slot#>
# while true; do echo 1 > attention ; done &

The reason is that when command complete interrupt is raised, current
SHPCHP driver's interrupt handler returns IRQ_NONE regardless of if
the interrupt is handled or not.

This patch fixes this issue.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
57c95c0d1c9ec83877dfea2f62bebf31059bc93c 26-Jan-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp - replace kmalloc() with kzalloc() and cleanup arg of sizeof()

This patch replaces kmalloc() and memset() pair with kzalloc() and
cleans up the arg of sizeof() in SHPCHP driver.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
d29aaddab3ef3bdaecf3c9c6d9423f0bf0452ccf 26-Jan-2006 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp - cleanup check command status

This patch cleanups codes that check the command status. For this, it
introduces a new semaphore "cmd_sem" for each controller.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
6aa4cdd07139ba4d5b89139b0070d795cc4dea88 13-Jan-2006 Ingo Molnar <mingo@elte.hu> [PATCH] PCI hotplug: convert semaphores to mutex

semaphore to mutex conversion.

the conversion was generated via scripts, and the result was validated
automatically via a script as well.

build tested with allyesconfig.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
bd62e271401c5ebf33a0dd24d89baf706f213251 24-Nov-2005 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: fix improper wait for command completion

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.524s

o With this patch

# time echo 1 > power

real 0m2.221s
user 0m0.000s
sys 0m0.532s

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
f467f6187fc60c954a9509b3a3e17ef89a4f6f22 24-Nov-2005 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: fix improper write to Command Completion Detect bit

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 <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
0455986cce45d28511f59a29d6cecc17d6b65720 24-Nov-2005 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: fix improper mmio mapping

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 <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
87d6c5593111844f308af7d5106b3fd259b36514 24-Nov-2005 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: fix improper reference to Mode 1 ECC Capability" bit

The hpc_get_mode1_ECC_cap() function of SHPCHP driver seems to refer
the wrong bit for refering the "Mode 1 ECC Capability" bit. This bug
seems not to cause any problem so far. But I think this should be
fixed. This patch fixes this bug.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
6558b6ab145ceead45632e4214cd5ef14f48f412 24-Nov-2005 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> [PATCH] shpchp: fix improper reference to Slot Avail Regsister

The hpc_get_max_bus_speed() function of the SHPCHP driver seems to
refer wrong bits in the "Slot Avail Register I" and "Slot Avail
Register II". This patch fixes this bug. And this also cleanup the
code.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
d4d28dd4b12649d02a89d19e6bd12ab92a6fcd4e 14-Nov-2005 Andrew Morton <akpm@osdl.org> [PATCH] shpchp_hpc build fix

Missing include.

Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/pci/hotplug/shpchp_hpc.c
7c8942f993dc069db0e0327a343bbec8a6e96074 13-Oct-2005 rajesh.shah@intel.com <rajesh.shah@intel.com> [PATCH] shpchp: reduce debug message verbosity

Reduce the number of debug messages generated if shpchp debug is
enabled. I tried to restrict this to removing debug messages that
are either early-driver-debug type messages, or print information
that can be inferred through other debug prints.

Signed-off-by: Rajesh Shah <rajesh.shah@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
ee138334d5eb5ca662b2d69228420c1ccc051e0e 13-Oct-2005 rajesh.shah@intel.com <rajesh.shah@intel.com> [PATCH] shpchp: miscellaneous cleanups

Remove un-necessary header includes, remove dead code, remove
some type casts, receive function return in the correct data
type...

Signed-off-by: Rajesh Shah <rajesh.shah@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
424600f9706b20a8a33ad928d3d0326bd88679bc 13-Oct-2005 rajesh.shah@intel.com <rajesh.shah@intel.com> [PATCH] shpchp: reduce dependence on ACPI

Reduce the SHPC hotplug driver's dependence on ACPI. We don't
walk the acpi namespace anymore to build a list of bridges and
devices. The remaining interaction with ACPI is to run the
_OSHP method to transition control of hotplug hardware from
system BIOS to the shpc hotplug driver, and to run the _HPP
method to get hotplug device parameters like cache line size,
latency timer and SERR/PERR enable from BIOS.

Note that one of the side effects of this patch is that shpchp
does not enable the hot-added device or its DMA bus mastering
automatically now. It expects the device driver to do that.
This may break some drivers and we will have to fix them as
they are reported.

Signed-off-by: Rajesh Shah <rajesh.shah@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/shpchp_hpc.c
8cf4c19523b7694c88bba716d88fb659fa702411 17-Aug-2005 Kristen Accardi <kristen.c.accardi@intel.com> [PATCH] PCI Hotplug: new contact info

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/pci/hotplug/shpchp_hpc.c
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 17-Apr-2005 Linus Torvalds <torvalds@ppc970.osdl.org> Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
/drivers/pci/hotplug/shpchp_hpc.c