Re: Dell OptiPlex 755 ACPI: DMI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 13 February 2008 04:23, Moritz Naumann wrote:
> Len Brown schrieb:
> > Please send me the output from acpidump.
> 
> Please see the attached file.
> 
> Invocation was:
> # acpidump > acpidump_linux_`uname -r`.txt 2>&1
> 
> Note the "Wrong checksum for generic table!" message (which is why I 
> redirected stderr).

Linux appears to be a special case in this BIOS.
ISLI returns 1 for OSI(Linux), which causes GUSB to do nothing.
(otherwise GUSB appears to touch SMM).  GUSB is called at init time,
and also at wakup time.

Do you notice any difference in USB operation with acpi_osi=Linux?
How about after resume from suspend?

thanks,
-Len

       Method (ISLI, 0, NotSerialized)
        {
            If (CondRefOf (_OSI, Local0))
            {
                If (_OSI ("Linux"))
                {
                    Return (One)
### hmmm, special case for Linux, every other OS returns Zero
                }
                Else
                {
                    Return (Zero)
                }
            }
            Else
            {
                Return (Zero)
            }
        }

    Method (GUSB, 0, NotSerialized)
    {
        If (ISLI ())
# only invocation of ISLI
        {
            Return (Zero)
# OSI(Linux) does nothing
        }
        Else
        {
            Return (SMI2 (0xBA))
# everybody else invokes SMM
        }
    }
...
    Method (SMI2, 1, NotSerialized)
    {
        Acquire (SMIM, 0xFFFF)
        Store (Arg0, SMIC)
        Store (MGIC, Local0)
        Store (SMIC, Local1)
        Store (SMID, Local0)
        ShiftLeft (Local0, 0x08, Local0)
        Add (Local1, Local0, Local0)
        Release (SMIM)
        Return (Local0)
    }
....
    Method (_WAK, 1, NotSerialized)
    {
        If (LEqual (Arg0, 0x04))
        {
# wakeup from hibernate

            GUSB ()
        }
        Else
        {
            If (LEqual (Arg0, 0x03))
            {
# wakeup from suspend
                If (And (0x20, CMRD (0x49)))
                {
                    GUSB ()
                }
            }
        }
...
    Scope (_SB.PCI0)
    {
        Device (USB0)
        {
            Name (_ADR, 0x001D0000)
            Name (_UID, 0x05)
            Name (_PRW, Package (0x02)
            {
                0x03,
                0x03
            })
            OperationRegion (UPC1, PCI_Config, 0xC1, One)
            Field (UPC1, ByteAcc, NoLock, Preserve)
            {
                LEGK,   8
            }

            Method (_INI, 0, NotSerialized)
            {
                If (HACK ()) {}
                Else
                {
                    Store (LEGK, Local0)
                    And (Local0, 0x60, Local0)
                    Or (Local0, 0x20, Local0)
                    Store (Local0, LEGK)
                }

                GUSB ()
            }
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux