Re: dmidecode 2.9 (Samsung R59P/R60P/R61P)

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

 



On Monday 21 January 2008 14:54, Stefan Becker wrote:
...
> 
> meanwhile i did some testing. these are some of my observations:
> 
> sometimes:
> - booting is lightning fast (< 25 seconds)
> - booting is dead slow (>> 60 seconds), have to press a key to continue
> 
> always:
> - poweroff or reboot not working (no shutdown)
> - no problem setting system clock (as opposed to 'select() to /dev/rtc 
> to wait for clock tick timed out' when starting with 'nolapic_timer 
> usbcore autosuspend=1 noapic'

thanks for the acpidump.
Like others, there is no special support for Linux here,
but setting OSI(Linux) will disable a bunch of hooks
that were put in for Vista.

So we should disable OSI(Linux) on this box unless
proof of incompatibility with the Vista BIOS hooks emerges.

thanks
-Len

                    If (\_OSI ("Windows 2006"))
                    {
                        Store (0x40, ^OSTB)
                        Store (0x40, ^TPOS)
                    }

                    If (\_OSI ("Linux"))
                    {
                        Store (0x01, LINX) # a no-op
                        Store (0x80, ^OSTB)
                        Store (0x80, ^TPOS)
                    }

# OSTB != x40 will change PCI initialization below:

        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A08"))
            Name (_CID, 0x030AD041)
            Name (_ADR, 0x00)
            Name (_UID, 0x01)
            Name (_BBN, 0x00)
            Method (_INI, 0, NotSerialized)
            {
                If (DTSE)
                {
                    DTSF (0x47)
                }

                \_SB.OSTP ()
                If (LGreaterEqual (TPOS, 0x04))
                {
                    Store (Zero, \_SB.PCI0.SMB.C4C3)
                    Store (0x49, \_SB.PCI0.LPC0.BCMD)
                    Store (0x01, \_SB.PCI0.LPC0.DID)
                    Store (0x00, \_SB.PCI0.LPC0.SMIC)
                }

                If (LEqual (\_SB.OSTB, 0x40))
                {
                    \_SB.PCI0.LPC0.PHS1 (0xA9, 0x01)
                }
                Else
                {
                    \_SB.PCI0.LPC0.PHS1 (0xA9, 0x00)
                }
            }

# OSTB != 40 will touch display brightness:

                        Method (_BCM, 1, NotSerialized)
                        {
                            Store (Arg0, BRTL)
                            If (LGreaterEqual (\_SB.OSTB, 0x40))
                            {
                                \_SB.PCI0.LPC0.PHS (0xA6)
                            }
                        }

# OSTB != 40 touches the RTC:

                Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (RCB0, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IRQ (Edge, ActiveHigh, Exclusive, )
                            {8}
                    })
                    Name (RCB1, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                    })
                    Method (_CRS, 0, Serialized)
                    {
                        If (LEqual (\_SB.OSTB, 0x40))
                        {
                            If (LEqual (\_SB.PCI0.SMB.GHPT (), 0xFED00000))
                            {
                                Return (RCB1)
                            }
                        }

                        Return (RCB0)
                    }
                }

...
OSTB != 40 will disable the new button hooks:

                    Device (MBTN)
                    {
                        Name (_HID, EisaId ("PNP0C32"))
                        Name (_UID, 0x01)
                        Method (_STA, 0, NotSerialized)
                        {
                            If (LEqual (\_SB.OSTB, 0x40))
                            {
                                Return (0x0F)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }

                        Method (GHID, 0, NotSerialized)
                        {
                            If (DMED)
                            {
                                Notify (MBTN, 0x02)
                            }

                            Return (Buffer (0x01)
                            {
                                0x01
                            })
                        }
                    }


...
OSTB != x40 changes _WAK
        If (LEqual (\_SB.OSTB, 0x40))
        {
            Store (\_SB.PCI0.LPC0.PHS1 (0xAA, 0x00), Local1)
            If (Local1)
            {
                Notify (\_SB.PCI0.LPC0.H_EC.MBTN, 0x02)
            }
        }

        If (LEqual (\_SB.OSTB, 0x40))
        {
            \_SB.PCI0.LPC0.PHS1 (0xA9, 0x01)
        }
        Else
        {
            \_SB.PCI0.LPC0.PHS1 (0xA9, 0x00)
        }

# TPOS != 40 changes SATA:
                   Method (_PS0, 0, NotSerialized)
                    {
                        GBAA ()
                        If (LAnd (LOr (LEqual (TPOS, 0x40), LEqual (TPOS, 0x04)), \_SB.PCI0.SATA.B5EN))
                        {
                            If (\_SB.PCI0.SATA.PMS1)
                            {
                                Store (0x32, Local0)
                                While (LAnd (LEqual (\_SB.PCI0.SATA.PMBY, 0x01), Local0))
                                {
                                    Sleep (0xFA)
                                    Decrement (Local0)
                                }
                            }

                            If (\_SB.PCI0.SATA.PSS1)
                            {
                                Store (0x32, Local0)
                                While (LAnd (LEqual (\_SB.PCI0.SATA.PSBY, 0x01), Local0))
                                {
                                    Sleep (0xFA)
                                    Decrement (Local0)
                                }
                            }
                        }

                        Store (0x00, PRIS)
                    }

-
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