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

From: Dmitry Torokhov
Date: Thu Jan 19 2006 - 10:22:25 EST


On 1/18/06, Kristen Accardi <kristen.c.accardi@xxxxxxxxx> wrote:
> 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 :).
>

ACPI has (had?) a braindamage - it drops devices that do not present
when initially scanning ACPI namespace. So if you boot undocked - too
bad. Driver won't ever see your docking station.

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