90ab5ee94171b3e28de6bb42ee30b527014e0be7 |
|
13-Jan-2012 |
Rusty Russell <rusty@rustcorp.com.au> |
module_param: make bool parameters really bool (drivers & misc) module_param(bool) used to counter-intuitively take an int. In fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy trick. It's time to remove the int/unsigned int option. For this version it'll simply give a warning, but it'll break next kernel version. Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
/drivers/pci/hotplug/pciehp.h
|
486b10b9f43500741cd63a878d0ef23cd87fc66d |
|
07-Nov-2011 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: Handle push button event asynchronously Use non-ordered workqueue for attention button events. Attention button events on each slot can be handled asynchronously. So we should use non-ordered workqueue. This patch also removes ordered workqueue in pciehp as a result. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
a827ea307b147aeb050803433b3f6842582c6ced |
|
18-Oct-2010 |
Tejun Heo <tj@kernel.org> |
pciehp: update workqueue usage * Rename pciehp_wq to pciehp_ordered_wq and add non-ordered pciehp_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 pciehp_wq and pciehp_ordered_wq upfront. * Include workqueue.h from pciehp.h. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
6e63e80d88521a176989ed14b420f42dc418e46a |
|
25-Aug-2010 |
Rafael J. Wysocki <rjw@sisk.pl> |
PCI hotplug: Fix build with CONFIG_ACPI unset One of the recent changes caused complilation of drivers/pci/hotplug/pciehp_core.c to fail. Fix this issue. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
28eb5f274a305bf3a13b2c80c4804d4515d05c64 |
|
21-Aug-2010 |
Rafael J. Wysocki <rjw@sisk.pl> |
PCI: PCIe: Ask BIOS for control of all native services at once After commit 852972acff8f10f3a15679be2059bb94916cba5d (ACPI: Disable ASPM if the platform won't provide _OSC control for PCIe) control of the PCIe Capability Structure is unconditionally requested by acpi_pci_root_add(), which in principle may cause problems to happen in two ways. First, the BIOS may refuse to give control of the PCIe Capability Structure if it is not asked for any of the _OSC features depending on it at the same time. Second, the BIOS may assume that control of the _OSC features depending on the PCIe Capability Structure will be requested in the future and may behave incorrectly if that doesn't happen. For this reason, control of the PCIe Capability Structure should always be requested along with control of any other _OSC features that may depend on it (ie. PCIe native PME, PCIe native hot-plug, PCIe AER). Rework the PCIe port driver so that (1) it checks which native PCIe port services can be enabled, according to the BIOS, and (2) it requests control of all these services simultaneously. In particular, this causes pcie_portdrv_probe() to fail if the BIOS refuses to grant control of the PCIe Capability Structure, which means that no native PCIe port services can be enabled for the PCIe Root Complex the given port belongs to. If that happens, ASPM is disabled to avoid problems with mishandling it by the part of the PCIe hierarchy for which control of the PCIe Capability Structure has not been received. Make it possible to override this behavior using 'pcie_ports=native' (use the PCIe native services regardless of the BIOS response to the control request), or 'pcie_ports=compat' (do not use the PCIe native services at all). Accordingly, rework the existing PCIe port service drivers so that they don't request control of the services directly. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
1518c17ab736303098843bd306a0fc4f8f5faa42 |
|
11-Nov-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: use pci_pcie_cap() Use pci_pcie_cap() instead of pci_find_capability() to get PCIe capability offset in pciehp driver. This avoids unnecessary search in PCI configuration space. This patch also removes 'cap_base' field in struct controller, that was used to hold PCIe capability offset by pciehp itself. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
656927b119a6f2fe0ed453191e13eec6fe041f4c |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove slot capabilities definitions Use generic PCIe slot capabilities register definitions instead of internal definitions. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
d9fb42a845f8e56d91017462650ba41e854f5552 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove error message definitions Remove (almost) unused error message definitions. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
07a09694de556f307b1c5035cdf0f17c6243d1cd |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove number field Since slot_cap field in struct controller contains physical slot number informationq, we don't need number field in struct slot. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
82a9e79ef132cbf77de58aae35c1a14237f2fcde |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove hpc_ops The struct hpc_ops seems a set of hooks to controller specific routines. But, it is meaningless because no hotplug controller driver follows this framework. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
385e24917ed8eeba25dddd8e63bf3fe3d53eafc5 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove pci_dev field Since we have a pointer to pcie_device in struct controller, we don't need a pointer to pci_dev. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
6aaa6d06f57f3689afe27c1fad256c5d6aa9b271 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove crit_sect mutex The crit_sect mutex defined in struct controller is to serialize hot-plug operations against multiple slots under the same bus. But, since PCIe doesnstream port has only one slot at most, it is meaningless and we don't need it. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
5f9cab7af6f7ef1e3cbb25217617eb5bd082aa7b |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove slot_bus field Remove unused slot_bus field in struct controller. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
d54798f034b247b9d95a31cd755a4236655ca502 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove first_slot field The slot number can be calculated only by physical slot number field in the slot capabilities register. So the first_slot field in struct controller is meaningless and we don't need it. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
a2359a334fb2c89347e031c4494282e6756e9ae7 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove slot_device_offset field Since the device number of the hot-slot under the PCIe downstream port is always 0, the slot_device_offset field in the slot is meaningless and we don't need it. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
0e3631593c38e8a09bf58a46c6f6a3426d3ad0f0 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove hp_slot field The hp_slot field is to identify the slot under the same controller. But, since PCIe downstream port has only one slot at most, it is meaningless and we don't need it. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
d689f7eb364a51ccd857605dede0d6c22a1aad91 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove device field The device field in the struct slot is not necessary because it is always 0 in pciehp driver. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
ab9c6c86701b498445334db746aa2e8dc473c7b6 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove bus field The bus field in struct slot is not necessary. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
6a11c135f3511743d09474ccaac2137d34c352a8 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove slot_num_inc field The slot_num_inc field in struct controller is unused and meaningless in pciehp driver. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
e23727da77109ef856f7a76c1a7d2e2282f600f5 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove num_slots field Since PCIe downstream port has only one slot at most, we don't need num_slots field in struct controller. Note that struct controller itself doesn't exist if PCIe downstream port has no slot. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
8720d27dabf580278a7719fa8b5783d9878e2d42 |
|
15-Sep-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: remove slot_list field Since PCIe downstream port has only one slot at most, we don't need 'slot_list' linked list to manage multiple slots under the port. Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
d569c74d78ffcde2f163256e4da934ec3bacff0e |
|
15-Sep-2009 |
Bjorn Helgaas <bjorn.helgaas@hp.com> |
PCI hotplug: pciehp: use generic pci_configure_slot() Use the generic pci_configure_slot() rather than the PCIe-specific program_fw_provided_values(). Unlike the previous pciehp-specific code, we now walk through subordinate devices even if there are no settings for the parent. This should be harmless because we won't change anything unless we discover firmware settings farther down. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Acked-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
6a29172ba90e49c046245610caff9848307bfd6a |
|
15-Sep-2009 |
Bjorn Helgaas <bjorn.helgaas@hp.com> |
PCI hotplug: clean up acpi_get_hp_params_from_firmware() interface This patch makes acpi_get_hp_params_from_firmware() take a pci_dev rather than a pci_bus and makes it return a standard int errno rather than acpi_status. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Acked-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
bd3d99c17039fd05a29587db3f4a180c48da115a |
|
02-Jun-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: Remove untested Electromechanical Interlock (EMI) support in pciehp. The EMI support in pciehp is obviously broken. It is implemented using struct hotplug_slot_attribute, but sysfs_ops for pci_slot_ktype is NOT for struct hotplug_slot_attribute, but for struct pci_slot_attribute. This bug had been there for a long time, maybe it was introduced when PCI slot framework was introduced. The reason why this bug didn't cause any problem is maybe the EMI support is not tested at all because of lack of test environment. As described above, the EMI support in pciehp seems not to be tested at all. So this patch removes EMI support from pciehp, instead of fixing the bug. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
6a82e21823058eea95325005b79f3b8c9492460f |
|
03-Feb-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: make cmd_busy flag one bit The cmd_busy field in struct controller takes only two values 0 or 1. So it should be one bit. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
99f0169c17f334a11b0ace91188501c612f3e1e6 |
|
03-Feb-2009 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: enable software notification on empty slots Current pciehp disables software notification of adapter presence changed event and MRL changed event when slot is turned off. Because of this, there is no way to detect those events on empty slots in the current pciehp implementation. According to the past discussion(*), this behavior was introduced to prevent endless loop that could happen if pcie_isr() runs after power fault is detected on a certain platform whose stickey power-fault bit remains on till the slot is powered on again. (*) http://sourceforge.net/mailarchive/message.php?msg_id=20051130135409.A14918%40unix-os.sc.intel.com I think this endless loop can be avoided using one bit flag that indicates power fault had been detected, instead of disabling software notification of adapter present changed event and MRL changed event. With this patch, we can enable software notification mechanism of presence changed and MRL changed event on the empty slots again. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
1c35b8e538cb6259accb215099cdb673310cad84 |
|
06-Feb-2009 |
Frank Seidel <frank@f-seidel.de> |
PCI: add missing KERN_* constants to printks According to kerneljanitors todo list all printk calls (beginning a new line) should have an according KERN_* constant. Those are the missing pieces here for the pci subsystem. Signed-off-by: Frank Seidel <frank@f-seidel.de> Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Tested-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
dbc7e1e567ef8cfc4b792ef6acb51d4ceb15746a |
|
29-Jan-2009 |
Eric W. Biederman <ebiederm@xmission.com> |
PCI: pciehp: Handle interrupts that happen during initialization. Move the enabling of interrupts after all of the data structures are setup so that we can safely run the interrupt handler as soon as it is registered. Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Tested-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com> Signed-off-by: Jesse Barnes <jbarnes@hobbes.lan>
/drivers/pci/hotplug/pciehp.h
|
b2576e1d4408e134e2188c967b1f28af39cd79d4 |
|
09-Jan-2009 |
Len Brown <len.brown@intel.com> |
Merge branch 'linus' into release
|
c9ffa5a586a97da4d552f89b8f39eea79a63a612 |
|
16-Dec-2008 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: add ACPI based slot detection There is a problem that some non hot-pluggable PCIe slots are detected as hot-pluggable by pciehp on some platforms. The immediate cause of this problem is that hot-plug capable bit in the Slot Capabilities register is set even for non hot-pluggable slots on those platforms. It seems a BIOS/hardware problem, but we need workaround about that. Some of those platforms define hot-pluggable PCIe slots on ACPI namespace properly, while hot-plug capable bit in the Slot Capabilities register is set improperly. So using ACPI namespace information in pciehp to detect PCIe hot-pluggable slots would be a workaround. This patch adds 'pciehp_detect_mode' module option. When 'acpi' is specified, pciehp uses ACPI namespace information to detect PCIe hot-pluggable slots. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
ea7e96e0f2277107d9ea14c3f16c86ba82b2e560 |
|
16-Dec-2008 |
Lin Ming <ming.m.lin@intel.com> |
ACPI: remove private acpica headers from driver files External driver files should not include any private acpica headers. Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
/drivers/pci/hotplug/pciehp.h
|
18b341b76cd99ce949806ccf5565900465ec2e7f |
|
23-Oct-2008 |
Taku Izumi <izumi.taku@jp.fujitsu.com> |
PCI hotplug: pciehp: message refinement This patch refines messages in pciehp 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/pciehp.h
|
f18e9625e02bb3e5ba9e81104f14e9d904ab28c4 |
|
22-Oct-2008 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI hotplug: pciehp: poll data link layer link active This patch adds polling mechanism for Data Link Layer Link Active bit after turning power on, instead of waiting for 1000 msec. This reduces reduce the unnecessary long wait. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
e1acb24f059defdaa0264e925f19cc21b0a3e592 |
|
21-Oct-2008 |
Alex Chiang <achiang@hp.com> |
PCI: pciehp: remove 'name' parameter We do not need to manage our own name parameter, especially since the PCI core can change it on our behalf, in the case of duplicate slot names. Remove 'name' from pciehp's version of struct slot, and remove unused 'task_list' as well. Cc: kristen.c.accardi@intel.com Acked-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Alex Chiang <achiang@hp.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
7f2feec140f1f1e4f701e013a2bf8284a9ec2a3c |
|
04-Sep-2008 |
Taku Izumi <izumi.taku@jp.fujitsu.com> |
PCI: pciehp: replace printk with dev_printk This patch replaces printks within pciehp 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/pciehp.h
|
f7a10e32a1a7ae240fa3925c5727d224eba3e31d |
|
22-Aug-2008 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: pciehp: fix irq initialization Current pciehp driver gets irq number from pci_dev->irq. But because pciehp driver is a pci express port service driver, it should get irq number from pcie_device->irq. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
167e782e301188c7c7e31e486bbeea5f918324c1 |
|
21-Aug-2008 |
Alex Chiang <achiang@hp.com> |
PCI: pciehp: Rename duplicate slot name N as N-1, N-2, N-M... Commit 3800345f723fd130d50434d4717b99d4a9f383c8 (pciehp: fix slot name) introduces the pciehp_slot_with_bus module parameter, which was intended to help work around broken firmware that assigns the same name to multiple slots. Commit 9e4f2e8d4ddb04ad16a3828cd9a369a5a5287009 (pciehp: add message about pciehp_slot_with_bus option) tells the user to use the above parameter in the event of a name collision. This approach is sub-optimal because it requires too much work from the user. Instead, let's rename the slot on behalf of the user. If firmware assigns the name N to multiple slots, then: The first registered slot is assigned N The second registered slot is assigned N-1 The third registered slot is assigned N-2 The Mth registered slot becomes N-M In the event we overflow the slot->name parameter, we report an error to the user. This is a temporary fix until the entire PCI core can be reworked such that individual drivers no longer have to manage their own slot names. Tested-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Acked-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Alex Chiang <achiang@hp.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
9fce1bc956c21dfe0f46be028f18c4d5057f2bd7 |
|
16-Jul-2008 |
Ming Lei <tom.leiming@gmail.com> |
PCI: remove unnecessary volatile in PCIe hotplug struct controller Proper memory barriers have been added to order accesses to ->cmd_busy, so volatile declaration for cmd_busy can be removed. Signed-off-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
c4635eb06af700820d658a163f06aff12e17cfb2 |
|
19-Jun-2008 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: fix interrupt initialization Current pciehp driver's intialization sequence is as follows: (1) initialize controller data structure (2) install interrupt handler (3) enable software notification (4) initialize controller specific slot data structure (5) initialize generic slot data structure and register it to pci hotplug core The interrupt handler of pciehp assumes that controller specific slot data structure is already initialized. However, it is installed at (2) before initializing controller specific slot data structure at (4). Because of this, pciehp driver cannot handle the following cases properly. - If devices that shares IRQ with pciehp raise interrupts between (2) and (4). - If hotplug events (e.g. MRL open) happen between (3) and (4). We already have a workaround for this problem ("pciehp: fix NULL dereference in interrupt handler: dbd79aed1aea2bece0bf43cc2ff3b2f9baf48a08). But we still need fundamental fix. This patch fix the problem by changing the initilization sequence as follows: (1) initialize controller data structure (2) initialize controller specific slot data structure (3) install interrupt handler (4) enable software notification (5) initialize generic slot data structure and register it to pci hotplug core Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Acked-by: Alex Chiang <achiang@hp.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
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/pciehp.h
|
125c39f7d233de28f342d80858025ffed0c4b7f4 |
|
28-May-2008 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: evaluate _OSC/OSHP before controller init Current pciehp evaluates _OSC/OSHP method after some controller initialization is done. So if evaluating _OSC/OSHP is failed, we need to cleanup already initialized data structures or hardware. This clearly is not robust way. With this patch, _OSC/OSHP evaluation is done first. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
5808639bfa98d69f77a481d759570d85f164fea0 |
|
27-May-2008 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: fix slow probing Fix the "pciehp probing slow" problem reported from Jan C. Nordholz in http://bugzilla.kernel.org/show_bug.cgi?id=10751. The command completed bit in Slot Status register applies only to commands issued to control the attention indicator, power indicator, power controller, or electromechanical interlock. However, writes to other parts of the Slot Control register would end up writing to the control fields. Hence, any write to Slot Control register is considered as a command. However, if the controller doesn't support any of attention indicator, power indicator, power controller and electromechanical interlock, command completed bit would not set in writing to Slot Control register. In this case, we should not wait for command completed bit set, otherwise all commands would be considered not completed in timeout seconds (1 sec.). The cause of the problem is pciehp driver didn't take this situation into account. This patch changes pciehp to take it into account. This patch also add the check for "No Command Completed Support" bit in Slot Capability register. If it is set, we should not wait for command completed bit set as well. This problem seems to be revealed by the commit c27fb883dffe11aa4cb35ecea1fa1832ba45d4da that fixed the bug that pciehp did not wait for command completed properly (pciehp just ignored the command completion event). Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
dbd79aed1aea2bece0bf43cc2ff3b2f9baf48a08 |
|
27-May-2008 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: fix NULL dereference in interrupt handler Fix the following NULL dereference problem reported from Pierre Ossman and Ingo Molnar. pciehp: HPC vendor_id 8086 device_id 27d0 ss_vid 0 ss_did 0 pciehp: pciehp_find_slot: slot (device=0x0) not found BUG: unable to handle kernel NULL pointer dereference at 0000000000000070 IP: [<ffffffff80494a8b>] pciehp_handle_presence_change+0x7e/0x113 PGD 0 Oops: 0000 [1] CPU 0 Modules linked in: Pid: 1, comm: swapper Tainted: G W 2.6.26-rc3-sched-devel.git-00001-g2b99b26-dirty #170 RIP: 0010:[<ffffffff80494a8b>] [<ffffffff80494a8b>] pciehp_handle_presence_change+0x7e/0x113 RSP: 0000:ffff81003f83fbb0 EFLAGS: 00010046 RAX: 0000000000000039 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000046 RBP: ffff81003f83fbd0 R08: 0000000000000001 R09: ffffffff80245103 R10: 0000000000000020 R11: 0000000000000000 R12: ffff81003ea53a30 R13: 0000000000000000 R14: 0000000000000011 R15: ffffffff80495926 FS: 0000000000000000(0000) GS:ffffffff80be7400(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000000000000070 CR3: 0000000000201000 CR4: 00000000000006a0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swapper (pid: 1, threadinfo ffff81003f83e000, task ffff81003f840000) Stack: 0000000000000008 ffff81003f83fbf6 ffff81003ea53a30 0000000000000008 ffff81003f83fc10 ffffffff80495ab4 0000000000000011 0000000000000002 0000000000000202 0000000000000202 00000000fffffff4 ffff81003ea53a30 Call Trace: [<ffffffff80495ab4>] pcie_isr+0x18e/0x1bc [<ffffffff80260831>] request_irq+0x106/0x12f [<ffffffff80495fb6>] pcie_init+0x15e/0x6cc [<ffffffff804933a3>] pciehp_probe+0x64/0x541 [<ffffffff8048f4e7>] pcie_port_probe_service+0x4c/0x76 [<ffffffff8054af70>] driver_probe_device+0xd4/0x1f0 [<ffffffff8054b108>] __driver_attach+0x7c/0x7e [<ffffffff8054b08c>] ? __driver_attach+0x0/0x7e [<ffffffff8054a4b6>] bus_for_each_dev+0x53/0x7d [<ffffffff8054ad3c>] driver_attach+0x1c/0x1e [<ffffffff8054a9c2>] bus_add_driver+0xdd/0x25b [<ffffffff80c09d3d>] ? pcied_init+0x0/0x8b [<ffffffff8054b288>] driver_register+0x5f/0x13e [<ffffffff80c09d3d>] ? pcied_init+0x0/0x8b [<ffffffff8048f441>] pcie_port_service_register+0x47/0x49 [<ffffffff80c09d52>] pcied_init+0x15/0x8b [<ffffffff80bf3938>] kernel_init+0x75/0x243 [<ffffffff808639d2>] ? _spin_unlock_irq+0x2b/0x3a [<ffffffff80228d1f>] ? finish_task_switch+0x57/0x9a [<ffffffff8020c258>] child_rip+0xa/0x12 [<ffffffff8020bcec>] ? restore_args+0x0/0x30 [<ffffffff80bf38c3>] ? kernel_init+0x0/0x243 [<ffffffff8020c24e>] ? child_rip+0x0/0x12 Code: 83 80 00 00 00 48 39 f0 75 e1 0f b6 c9 48 c7 c2 00 0e 8d 80 48 c7 c6 8a 60 a6 80 48 c7 c7 10 db a8 80 31 c0 e8 3f 8d d9 ff 31 db <48> 8b 43 70 48 8d 75 ef 48 89 df ff 50 30 80 7d ef 00 74 37 48 RIP [<ffffffff80494a8b>] pciehp_handle_presence_change+0x7e/0x113 RSP <ffff81003f83fbb0> CR2: 0000000000000070 Kernel panic - not syncing: Fatal exception The situation under which it occurs is hw and timing related: it appears to happen on a system that has PCI hotplug hardware but with no active hotplug cards, and another interrupt in the same (shared) IRQ line arrives too early, before the hotplug-slot entry has been set up - as triggered by CONFIG_DEBUG_SHIRQ=y: This patch contains the following two fixes. (1) Clear all events bits in Slot Status register to prevent the pciehp driver from detecting the spurious events that would have been occur before pciehp loading. (2) Add check whether slot initialization had been already done. This is short term fix. We need more structural fixes to install interrupt handler after slot initialization is done. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
ae416e6b2936fdb70aeee6eb9066115d4521daa6 |
|
25-Apr-2008 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: Fix wrong slot capability check Current pciehp saves only 8bits of Slot Capability registers in ctrl->ctrlcap. But it refers more than 8bit for checking EMI capability. It is clearly a bug and EMI would never work. To fix this problem, this patch saves full Slot Capability contens in ctrl->slot_cap. It also reduce the redundant reads of Slot Capability register. And this pach also cleans up the macros to check the slot capabilitys (e.g. MRL_SENS(), and so on). Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
c6b069e94601aea8887afbbd922afe20a3580a7d |
|
25-Apr-2008 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: Fix interrupt event handlig Current pciehp implementation disables and re-enables hotplug interrupts in its interrupt handler. This operation might be intend to guarantee that interrupts for the events newly occured during previous events are being handled will be successfully generated. But current implementaion has the following prolems. - Current interrupt service routin clears status changes without waiting command completion. Because of this, events might not be cleared properly. - Current interrupt service routine clears status changes caused by disabling or enabling hotplug interrupts itself. This will lose new events that occurs during previous interrupts are being handled. - Current implementation doesn't have any serialization mechanism between the code to wait for command completion and the interrupt handler that clears the command completion events caused by itself. There is clearly race conditions between them, and it may cause the problem that waiting for command completion doesn't work for example. To fix those problems, this patch stops disabling/re-enabling hotplug interrupts in interrupt service routine. Instead of this, this patch re-inspects Slot Status register after clearing what is presumed to be the last bending interrupt in order to guarantee that all interrupt events are serviced. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
/drivers/pci/hotplug/pciehp.h
|
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/pciehp.h
|
0837974ddbdef14d268b3ffe032158f6490cbe64 |
|
09-Nov-2007 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI Hotplug: pciehp: remove needless members from struct controller Remove needless members from struct controller. This has no functional changes. 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/pciehp.h
|
ecdde93962eacd9c417977a4eabd318dbb612c11 |
|
22-Nov-2007 |
Mark Lord <lkml@rtr.ca> |
PCIe: fix double initialization bug Earlier patches to split out the hardware init for PCIe hotplug resulted in some one-time initializations being redone on every resume cycle. Eg. irq/polling initialization. This patch splits the hardware init into two parts, and separates the one-time initializations from those so that they only ever get done once, as intended. Signed-off-by: Mark Lord <mlord@pobox.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
cd2fe83a81510acfd1ae29b8ffe04f7ef675c993 |
|
29-Nov-2007 |
Mark Lord <lkml@rtr.ca> |
PCIE: Make use of the previously split out pcie_init_enable_events() function Make use of the previously split out pcie_init_enable_events() function to reinitialize the hotplug hardware on resume from suspend, but only when pciehp_force==1. Otherwise behaviour is unmodified. Signed-off-by: Mark Lord <mlord@pobox.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
0a3c33d77ff7ad5b988997536a8f09c49e35ad20 |
|
29-Nov-2007 |
Mark Lord <lkml@rtr.ca> |
PCIE: fix PCIe Hotplug so that it works with ExpressCard slots on Dell notebooks (and others?) in conjunction with modparam of pciehp_force=1. Fix pciehp_probe() to deal with ExpressCard cards that were inserted prior to the driver being loaded. Signed-off-by: Mark Lord <mlord@pobox.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
f477836457730a2b925f625023ec4e5bf11015be |
|
31-May-2007 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
PCI: hotplug: pciehp: Fix possible race condition in writing slot The slot control register is modified as follows: (1) Read the register value (2) Change the value (3) Write the value to the register Those must be done atomically, otherwise writing to control register would cause an unexpected result. 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/pciehp.h
|
e325e1f0783382298141c74737712637943c6063 |
|
21-Mar-2007 |
Kristen Carlson Accardi <kristen.c.accardi@intel.com> |
PCI: fix multiple definition of `queue_pushbutton_work' Fix duplicate names in shpchp and pciehp. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
9233352628bc8e284f66fc90c4dc74473db1fbc1 |
|
07-Mar-2007 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: Adapt to device driver model This patch adapts PCIEHP driver to PCI device driver model. 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/pciehp.h
|
5d386e1ac4025b4bcc6bad6811e771cb76064dfe |
|
07-Mar-2007 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: Event handling rework The event handler of PCIEHP 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 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/pciehp.h
|
34d03419f03bcfdf70d9617a9b90b60c93482c4a |
|
09-Jan-2007 |
Kristen Carlson Accardi <kristen.c.accardi@intel.com> |
PCIEHP: Add Electro Mechanical Interlock (EMI) support to the PCIE hotplug driver. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
262303fe329a51463925f3749aafc358a4201397 |
|
22-Dec-2006 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: fix wait command completion This patch fixes this problem that pciehp driver will sleep unnecessarily long when waiting for command completion. With this patch, modprobe pciehp driver becomes very faster as follows for instance. o Without this patch # time /sbin/modprobe pciehp real 0m4.976s user 0m0.000s sys 0m0.004s o With this patch # time /sbin/modprobe pciehp real 0m0.640s user 0m0.000s sys 0m0.004s 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/pciehp.h
|
44ef4cefb0168740184ee3d7d18254339741e9d5 |
|
22-Dec-2006 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: cleanup wait command completion This patch cleans up the code to wait for command completion. 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/pciehp.h
|
15232ece5566710d24c81ac3dd629f7556a92818 |
|
22-Dec-2006 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: cleanup pciehp.h This patch cleans up pciehp.h. 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/pciehp.h
|
a8c2b635979823043ea7766dea1d9371773b4d8e |
|
22-Dec-2006 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: remove unused pci_bus from struct controller This patch removes unused pci_bus member from struct controller. 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/pciehp.h
|
48fe39151727db350347e1dba09d71c8ca24207a |
|
22-Dec-2006 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: remove unnecessary 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/pciehp.h
|
2410fa4eaec4133f9fa8968f277ddb28b89b92b3 |
|
22-Dec-2006 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: cleanup slot list This patch cleans up slot list handling (use list_head). 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/pciehp.h
|
a0b1725720d9a023a1dee129234f5972056038c6 |
|
22-Dec-2006 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: cleanup init_slot() This patch cleans up init_slots() in pciehp_core.c based on pcihp_skeleton.c. 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/pciehp.h
|
7a54f25cef6c763f16c9fd49ae382de162147873 |
|
14-Oct-2006 |
Greg Kroah-Hartman <gregkh@suse.de> |
PCI Hotplug: move pci_hotplug.h to include/linux/ This makes it possible to build pci hotplug drivers outside of the main kernel tree, and Sam keeps telling me to move local header files to their proper places... Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
dd5619cb4407e830a8921a93c949be37c81105b5 |
|
22-Sep-2006 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp - add missing locking This patch fixes the problem that system will panic if multiple power on/off operations are issued to the same slot in parallel. This problem can be easily reproduced by commands below. # while true; do echo 1 > power; echo 0 > power; done & # while true; do echo 1 > power; echo 0 > power; done & The cause is lack of locking for enable/disable operations. This patch fixes this problem. 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/pciehp.h
|
49ed2b4963cd00993eab518b820a6700f94f222d |
|
22-Sep-2006 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
pciehp: fix improper info messages The slot number displayed in info messages would cause a confusion because those are displayed in several ways (decimal and hex). Furthermore, those slot number is not same as slot name (directory name). This patch fixes those improper info messages. 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/pciehp.h
|
e50d1088bf2e5a68068c5f602be1dcc3e52dc873 |
|
08-Aug-2006 |
Kristen Carlson Accardi <kristen.c.accardi@intel.com> |
pciehp: make pciehp build for powerpc Make pciehp build on powerpc Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Acked-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
7430e34c70106a9576fc61d77604d164b187a1b7 |
|
02-May-2006 |
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> |
[PATCH] acpi_pcihp: Fix programming _HPP values This patch fixes the problem that hotplug parameters are not programed when PCI cards are hot-added by ACPIPHP, SHPCHP and PCIEHP driver. The pci_dev structure being hot-added is not bound to ACPI handle, so we need to trace PCI bus tree to find ACPI 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/pciehp.h
|
783c49fc506d9afe4784390b556fa25ede5d6d1f |
|
03-Mar-2006 |
Kristen Accardi <kristen.c.accardi@intel.com> |
[PATCH] PCI Hotplug: add common acpi functions to core shpchprm_acpi.c and pciehprm_acpi.c are nearly identical. In addition, there are functions in both these files that are also in acpiphp_glue.c. This patch will remove duplicate functions from shpchp, pciehp, and acpiphp and move this functionality to pci_hotplug, as it is not hardware specific. Get rid of shpchprm* and pciehprm* files since they are no longer needed. shpchprm_nonacpi.c and pciehprm_nonacpi.c are identical, as well as shpchprm_legacy.c and can be replaced with a macro. This patch also changes acpiphp to use the common hpp code. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
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/pciehp.h
|
de25968cc87cc5b76d09de8b4cbddc8f24fcf5f7 |
|
08-Jan-2006 |
Tim Schmielau <tim@physik3.uni-rostock.de> |
[PATCH] fix more missing includes Include fixes for 2.6.14-git11. Should allow to remove sched.h from module.h on i386, x86_64, arm, ia64, ppc, ppc64, and s390. Probably more to come since I haven't yet checked the other archs. Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/pci/hotplug/pciehp.h
|
5a49f2036ad14092c11d09f186da86fd5ae49a05 |
|
24-Nov-2005 |
Rajesh Shah <rajesh.shah@intel.com> |
[PATCH] PCI Express Hotplug: clear sticky power-fault bit Per the PCI Express spec, the power-fault-detected bit in the slot status register can be set anytime hardware detects a power fault, regardless of whether the slot has a device populated in it or not. This bit is sticky and must be explicitly cleared. This patch is needed to allow hot-add after such a power fault has been detected. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/pci/hotplug/pciehp.h
|
6560aa5c430fd8a7002b6e7abc1ee6c42521b06b |
|
07-Nov-2005 |
Rajesh Shah <rajesh.shah@intel.com> |
[PATCH] PCI: fix namespace clashes Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
a3a45ec8f8edaf088449e37fe81c99cbf580b9bd |
|
01-Nov-2005 |
rajesh.shah@intel.com <rajesh.shah@intel.com> |
[PATCH] pciehp: clean-up how we request control of hotplug hardware This patch further tweaks how we request control of hotplug controller hardware from BIOS. We first search the ACPI namespace corresponding to a specific hotplug controller looking for an _OSC or OSHP method. On failure, we successively move to the ACPI parent object, till we hit the highest level host bridge in the hierarchy. This allows for different types of BIOS's which place the _OSC/OSHP methods at various places in the acpi namespace, while still not encroaching on the namespace of some other root level host bridge. This patch also introduces a new load time option (pciehp_force) that allows us to bypass all _OSC/OSHP checking. Not supporting these methods seems to be be the most common ACPI firmware problem we've run into. This will still _not_ allow the pciehp driver to work correctly if the BIOS really doesn't support pciehp (i.e. if it doesn't generate a hotplug interrupt). Use this option with caution. Some BIOS's may deliberately not build any _OSC/OSHP methods to make sure it retains control the hotplug hardware. Using the pciehp_force parameter for such systems can lead to two separate entities trying to control the same hardware. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
1a9ed1bfe2fb17cc30227a12a3c1212128bb78b6 |
|
01-Nov-2005 |
rajesh.shah@intel.com <rajesh.shah@intel.com> |
[PATCH] pciehp: reduce debug message verbosity Reduce the number of debug messages generated if pciehp 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/pciehp.h
|
ed6cbcf2ac706aa47194fd2f7a99865cc06833d7 |
|
01-Nov-2005 |
rajesh.shah@intel.com <rajesh.shah@intel.com> |
[PATCH] pciehp: miscellaneous cleanups Remove un-necessary header includes, remove dead code, remove some hardcoded constants... Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
ca22a5e4d70620b7f3d809e424daa5214b0aa00d |
|
01-Nov-2005 |
rajesh.shah@intel.com <rajesh.shah@intel.com> |
[PATCH] pciehp: remove redundant data structures State information is currently stored in per-slot as well as per-pci-function data structures in pciehp. There's a lot of overlap in the information kept, and some of it is never used. This patch consolidates the state information to per-slot and eliminates unused data structures. The biggest change is to eliminate the pci_func structure and the code around managing its lists. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
a8a2be949267cb0d1d933a92d9fb43eda4f4fe88 |
|
01-Nov-2005 |
rajesh.shah@intel.com <rajesh.shah@intel.com> |
[PATCH] pciehp: reduce dependence on ACPI Reduce the PCI Express hotplug driver's dependence on ACPI. We don't walk the acpi namespace anymore to build a list of bridges and devices. We go to ACPI only to run the _OSC or _OSHP methods to transition control of hotplug hardware from system BIOS to the 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 pciehp does not automatically enable the hot-added device or its DMA bus mastering capability 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/pciehp.h
|
71b720c0f96145f5868c87591c286b290bc1a6af |
|
01-Nov-2005 |
rajesh.shah@intel.com <rajesh.shah@intel.com> |
[PATCH] patch 1/8] pciehp: use the PCI core for hotplug resource management This patch converts the pci express hotplug controller driver to use the PCI core for resource management. This eliminates a lot of duplicated code and integrates pciehp with the system's normal PCI handling code. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
1248d636122e4ec9d7802b850904e3bb48a0da23 |
|
05-Aug-2005 |
Kristen Accardi <kristen.c.accardi@intel.com> |
[PATCH] PCI Hotplug: use bus_slot number for name For systems with multiple hotplug controllers, you need to use more than just the slot number to uniquely name the slot. Without a unique slot name, the pci_hp_register() will fail. This patch adds the bus number to the name. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
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/pciehp.h
|
8b245e45f34280ec61e3c8d643d4613b9e0eb7a4 |
|
07-May-2005 |
Dely Sy <dlsy@snoqualmie.dp.intel.com> |
[PATCH] PCI Hotplug: get pciehp to work on the downstream port of a switch Here is the updated patch to get pciehp driver to work for downstream port of a switch and handle the difference in the offset value of PCI Express capability list item of different ports. Signed-off-by: Dely Sy <dely.l.sy@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/pci/hotplug/pciehp.h
|
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/pciehp.h
|