Re: [Pcihpd-discuss] Re: [patch 0/4] Hot Dock/Undock support

From: Kristen Accardi
Date: Wed Jan 18 2006 - 19:02:51 EST


On Wed, 2006-01-18 at 23:23 +0100, Pavel Machek wrote:
<snip>
> Device GDCK looks like dock to my untrained eye. Unfortunately its
> type is IBM0079... ...
>
> Ahha, and ibm_acpi.c agrees with me.
>
> IBM_HANDLE(dock, root, "\\_SB.GDCK", /* X30, X31, X40 */
>
> Scope (\_SB)
> {
> Device (GDCK)
> {
> Name (_HID, EisaId ("IBM0079"))
> Name (_CID, 0x150CD041)
> Method (_STA, 0, NotSerialized)
> {
> ...
> Method (_DCK, 1, NotSerialized)
> {
> Store (0x00, Local0)
> If (LEqual (GGID (), 0x03))
> {
> Store (\_SB.PCI0.LPC.EC.SDCK (Arg0), Local0)
> }
>
> If (LEqual (GGID (), 0x00))
> {
> Store (\_SB.PCI0.PCI1.DOCK.DDCK (Arg0), Local0)
> }
>
> Return (Local0)
> }
>
> Method (_EJ0, 1, NotSerialized)
> {
> If (LEqual (GGID (), 0x03))
> {
> \_SB.PCI0.LPC.EC.SEJ0 (Arg0)
> }
>
> If (LEqual (GGID (), 0x00))
> {
> \_SB.PCI0.PCI1.DOCK.DEJ0 (Arg0)
> }
> }
> ....
>
> Hope this helps.
> Pavel


so the problem that I see is that this dsdt defines two separate dock
devices, one outside the scope of pci, and one within it. The one
outside the scope of pci defines the _EJ0 and _DCK methods. So, when
acpiphp loads, it scans the pci slots for ejectable slots, finds none
(because _EJ0 is defined in the dock device that is outside the scope of
pci) and exits. This dsdt is different from the others I've used in
that most of them define all methods related to docking under the actual
dock bridge (within the scope of pci). perhaps some acpi people can
shed some light on the best way to handle this - otherwise I'm sure I
can hack something up that will be less than acceptable :).


-
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/