rpms/kernel/devel linux-2.6-pciehp-update.patch,1.2,1.3
Matthew Garrett
mjg59 at fedoraproject.org
Tue Nov 4 13:49:24 UTC 2008
- Previous message: rpms/cyphesis/devel cyphesis-0.5.17-gcrypt-init-fix.patch, NONE, 1.1 cyphesis-0.5.17-sockpath.patch, NONE, 1.1 .cvsignore, 1.9, 1.10 cyphesis.spec, 1.24, 1.25 sources, 1.9, 1.10
- Next message: rpms/audacity/devel audacity.spec,1.58.2.6,1.58.2.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: mjg59
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv15728
Modified Files:
linux-2.6-pciehp-update.patch
Log Message:
Reduce boot delay with hotpluggable machines
linux-2.6-pciehp-update.patch:
Index: linux-2.6-pciehp-update.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-pciehp-update.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- linux-2.6-pciehp-update.patch 3 Nov 2008 19:00:06 -0000 1.2
+++ linux-2.6-pciehp-update.patch 4 Nov 2008 13:48:53 -0000 1.3
@@ -1,6 +1,6 @@
-diff -ur vanilla-2.6.27/drivers/pci/hotplug/pciehp_core.c linux-2.6.27.noarch.p4/drivers/pci/hotplug/pciehp_core.c
+diff -ur vanilla-2.6.27/drivers/pci/hotplug/pciehp_core.c linux-2.6.27.noarch/drivers/pci/hotplug/pciehp_core.c
--- vanilla-2.6.27/drivers/pci/hotplug/pciehp_core.c 2008-10-09 23:13:53.000000000 +0100
-+++ linux-2.6.27.noarch.p4/drivers/pci/hotplug/pciehp_core.c 2008-11-03 18:51:51.000000000 +0000
++++ linux-2.6.27.noarch/drivers/pci/hotplug/pciehp_core.c 2008-11-04 13:43:48.000000000 +0000
@@ -41,6 +41,7 @@
int pciehp_poll_mode;
int pciehp_poll_time;
@@ -24,7 +24,7 @@
MODULE_PARM_DESC(pciehp_poll_mode, "Using polling mechanism for hot-plug events or not");
MODULE_PARM_DESC(pciehp_poll_time, "Polling mechanism frequency, in seconds");
MODULE_PARM_DESC(pciehp_force, "Force pciehp, even if _OSC and OSHP are missing");
-+MODULE_PARM_DESC(pciehp_force, "Listen for pciehp events, even if _OSC and OSHP are missing");
++MODULE_PARM_DESC(pciehp_passive, "Listen for pciehp events, even if _OSC and OSHP are missing");
#define PCIE_MODULE_NAME "pciehp"
@@ -33,10 +33,10 @@
};
+static struct hotplug_slot_ops pciehp_passive_hotplug_slot_ops = {
-+ .owner = THIS_MODULE,
-+ .get_adapter_status = get_adapter_status,
-+ .get_max_bus_speed = get_max_bus_speed,
-+ .get_cur_bus_speed = get_cur_bus_speed,
++ .owner = THIS_MODULE,
++ .get_adapter_status = get_adapter_status,
++ .get_max_bus_speed = get_max_bus_speed,
++ .get_cur_bus_speed = get_cur_bus_speed,
+};
+
/*
@@ -67,18 +67,50 @@
goto err_out_none;
ctrl = pcie_init(dev);
-@@ -468,7 +480,7 @@
+@@ -429,11 +441,9 @@
+ t_slot = pciehp_find_slot(ctrl, ctrl->slot_device_offset);
+
+ t_slot->hpc_ops->get_adapter_status(t_slot, &value); /* Check if slot is occupied */
+- if (value && pciehp_force) {
+- rc = pciehp_enable_slot(t_slot);
+- if (rc) /* -ENODEV: shouldn't happen, but deal with it */
+- value = 0;
+- }
++ if (value && (pciehp_force || pciehp_passive))
++ pciehp_enable_slot(t_slot);
++
+ if ((POWER_CTRL(ctrl)) && !value) {
+ rc = t_slot->hpc_ops->power_off_slot(t_slot); /* Power off slot if not occupied*/
+ if (rc)
+@@ -467,8 +477,11 @@
+
static int pciehp_resume (struct pcie_device *dev)
{
++ struct pci_dev *pdev = dev->port;
printk("%s ENTRY\n", __func__);
- if (pciehp_force) {
-+ if (pciehp_force || pciehp_passive) {
++
++ if (pciehp_force || (pciehp_passive &&
++ pciehp_get_hp_hw_control_from_firmware(pdev))) {
struct controller *ctrl = get_service_data(dev);
struct slot *t_slot;
u8 status;
-diff -ur vanilla-2.6.27/drivers/pci/hotplug/pciehp.h linux-2.6.27.noarch.p4/drivers/pci/hotplug/pciehp.h
+diff -ur vanilla-2.6.27/drivers/pci/hotplug/pciehp_ctrl.c linux-2.6.27.noarch/drivers/pci/hotplug/pciehp_ctrl.c
+--- vanilla-2.6.27/drivers/pci/hotplug/pciehp_ctrl.c 2008-10-09 23:13:53.000000000 +0100
++++ linux-2.6.27.noarch/drivers/pci/hotplug/pciehp_ctrl.c 2008-11-04 13:38:40.000000000 +0000
+@@ -179,7 +179,8 @@
+ * before taking any action that relies on power having been
+ * removed from the slot/adapter.
+ */
+- msleep(1000);
++ if (PWR_LED(ctrl) || ATTN_LED(ctrl))
++ msleep(1000);
+
+ if (PWR_LED(ctrl))
+ pslot->hpc_ops->green_led_off(pslot);
+diff -ur vanilla-2.6.27/drivers/pci/hotplug/pciehp.h linux-2.6.27.noarch/drivers/pci/hotplug/pciehp.h
--- vanilla-2.6.27/drivers/pci/hotplug/pciehp.h 2008-10-09 23:13:53.000000000 +0100
-+++ linux-2.6.27.noarch.p4/drivers/pci/hotplug/pciehp.h 2008-11-03 16:53:57.000000000 +0000
++++ linux-2.6.27.noarch/drivers/pci/hotplug/pciehp.h 2008-11-04 13:38:40.000000000 +0000
@@ -206,6 +206,10 @@
{
u32 flags = (OSC_PCI_EXPRESS_NATIVE_HP_CONTROL |
- Previous message: rpms/cyphesis/devel cyphesis-0.5.17-gcrypt-init-fix.patch, NONE, 1.1 cyphesis-0.5.17-sockpath.patch, NONE, 1.1 .cvsignore, 1.9, 1.10 cyphesis.spec, 1.24, 1.25 sources, 1.9, 1.10
- Next message: rpms/audacity/devel audacity.spec,1.58.2.6,1.58.2.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list