Re: Re: Problem while inserting pciehp (PCI Express Hot-plug) driver

From: Rajesh Shah
Date: Thu Jul 28 2005 - 19:56:49 EST


On Thu, Jul 28, 2005 at 07:45:49PM +0900, Rajat Jain wrote:
>
> Okay. I'm sorry but I'm not very clear with this. I'm just putting
> down here my understanding. So basically we have two mutually
> EXCLUSIVE hotplug drivers I can use for PCI Express:
>
A hotplug slot can be controlled only by a single hotplug
technology - pcie shpc or acpiphp. However, different parts of
the I/O hierarchy can be controlled by different technologies.
For example, a host bridge I/O complex can be hotplugged using
acpiphp, but end devices under this IO complex may be hotpplugged
using pcie or shpc hotplug.

> 1) "pciehp.ko" : We use this PCIE HP driver when our BIOS supports
> Native Hot-plug for PCI Express (which means that hot-plug will be
> handled by OS single handedly).
>
> 2) "acpiphp.ko" : We use this "generic" ACPI HP driver when BIOS
> allows only ITSELF to handle hot-plug events.
>
No, acpi hotplug is not handled by BIOS only.
Both acpi and pcie hotplug need firmware support as well as hardware
support. Hardware in many (but not all) systems support both types of
hotplug and its up to the BIOS to decide which type to support. If the
platform supports pcie hotplug, you see an _OSC & _SUN methods in the
ACPI namespace and the pciehp driver controls hotplug slots. If the
system supports acpi hotplug, you see _ADR and _EJ0 methods in the ACPI
namespace and the acpiphp driver controls the corresponding hotplug slots.

Rajesh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/