InfiniteMac OSx86  


 
 
Thread tools Display modes
Prev Previous Post   Next Post Next
  #1  
Old 02-24-2010, 04:56 AM
uninc uninc is offline
Cheetah
 
Join Date: Jun 2009
Posts: 10
DSDT editing needed to fix brightness/sleep HP DV3XXX

I was poking around in the dsdt.aml trying to find what the sleep error and the brightness errors could be for the DV3XXX, and I stumbled upon this interesting info earlier:

projectosx.com/forum/index.php?showtopic=461

specifically post #4. It explains what code is used for controlling the brightness > (BCL) and (BCM). I was comparing our dsdt to others like the Dell 1340 in the above thread and HP 6XXX series here:
http://www.insanelymac.com/forum/lof...p/t135410.html
Compare the (_BCL) ASL Code differences below.
i see a major difference in that their _BCL and _BCM are serialized and the DV3XXX is not. Also, because of this difference the DV3XXX is missing a crucial string of code after "Method (_BCL... Not Serialized)" to the end of the string below.

Does anyone have any idea as to how to read code or better, fix this issue? I believe it is the same problem as our sleep, as 0x80 is code for sleep and 0x02 is code for wake, and the two are always referenced under BCL and BCM.

HP DV3XXX series dsdt:

Code:
                   Device (LCD)
                    {
                        Name (_ADR, 0x0110)
                        Name (_DCS, 0x1F)
                        Name (_DGS, Zero)
                        Method (_DSS, 1, NotSerialized)
                        {
                            And (GDGS, 0x12, GDGS)
                            If (And (Arg0, One))
                            {
                                Or (GDGS, One, GDGS)
                            }
                        }

                        Name (BCL1, Package (0x0D)
                        {
                            0x64, 
                            0x28, 
                            Zero, 
                            0x0A, 
                            0x14, 
                            0x1E, 
                            0x28, 
                            0x32, 
                            0x3C, 
                            0x46, 
                            0x50, 
                            0x5A, 
                            0x64
                        })
                        Method (_BCL, 0, NotSerialized)
                        {
                            Return (BCL1)
                        }

                        Method (_BQC, 0, NotSerialized)
                        {
                            Add (BRTL, 0x02, Local0)
                            Return (DerefOf (Index (BCL1, Local0)))
                        }

                        Method (_BCM, 1, NotSerialized)
                        {
                            Store (0x02, Local0)
                            While (LNotEqual (Arg0, DerefOf (Index (BCL1, Local0))))
                            {
                                Increment (Local0)
                            }

                            Subtract (Local0, 0x02, BRTL)
                        }
                    }
HP Pavilion 6XXX Series dsdt:


Code:
  Device (C1AD)
                {
                    Method (_ADR, 0, Serialized)
                    {
                        Return (C163 (Zero))
                    }

                    Method (_DCS, 0, NotSerialized)
                    {
                        Return (C15B (Zero))
                    }

                    Method (_DGS, 0, NotSerialized)
                    {
                        Return (C15C (Zero))
                    }

                    Method (_DSS, 1, NotSerialized)
                    {
                        C167 (Zero, Arg0)
                    }

                    Name (C1AE, Package (0x0D)
                    {
                        0x64, 
                        0x33, 
                        0x1E, 
                        0x25, 
                        0x2C, 
                        0x33, 
                        0x3A, 
                        0x41, 
                        0x48, 
                        0x4F, 
                        0x56, 
                        0x5D, 
                        0x64
                    })
                    Name (C1AF, Zero)
                    Method (_BCL, 0, Serialized)
                    {
                        If (LAnd (LEqual (C1AF, Zero), And (C06B, 0x10)))
                        {
                            Store (C06D, Local0)
                            Store (Zero, Local1)
                            While (LLess (Local1, 0x0B))
                            {
                                Store (DerefOf (Index (Local0, Local1)), Local2)
                                Multiply (Local2, 0x64, Local3)
                                Divide (Add (Local3, 0x7F), 0xFF, Local4, Local2)
                                Store (Local2, Index (C1AE, Add (Local1, 0x02)))
                                Increment (Local1)
                            }

                            Store (DerefOf (Index (C1AE, 0x05)), Index (C1AE, One))
                            Store (Local2, Index (C1AE, Zero))
                            Store (One, C1AF)
                        }

                        Return (C1AE)
                    }

                    Name (C1B0, 0x64)
                    Method (_BCM, 1, Serialized)
                    {
                        Store (Zero, Local0)
                        If (LGreater (\C009 (), 0x05))
                        {
                            Or (C05A, 0x40, C05A)
                            Store (One, Local0)
                        }

                        Store (Arg0, C1B0)
                        Store (Match (C1AE, MGE, Arg0, MTR, Zero, 0x02), Local1)
                        If (LEqual (Local1, Ones))
                        {
                            Subtract (SizeOf (C1AE), One, Local1)
                        }

                        Subtract (Local1, 0x02, Local1)
                        If (Local0)
                        {
                            Store (Local1, C071)
                            If (LEqual (C168 (), Zero))
                            {
                                C1B1 (0xEA74, 0x04, Local1, Zero, Zero)
                            }

                            Signal (C1AB)
                        }
                    }

                    Method (_BQC, 0, Serialized)
                    {
                        Store (C1B0, Local0)
                        Return (Local0)
                    }
                }
any ideas to change DV3XXX so screen dimming/sleep may work?

Asus A8N SLI DX . AMD 64X2 +4600 OC 2.69Ghz . Zotac 9800GT 1GB Eco . 4GB DDR 400Mhz OCZ Platinum .
HP DV3510nr . Intel C2D P7350 2Ghz . nVidia 9300M GS 512Mb . 4Gb DDR2 800Mhz
Reply With Quote