InfiniteMac OSx86  


 
 
Thread tools Display modes
Prev Previous Post   Next Post Next
  #1  
Old 08-11-2010, 11:01 AM
mtest mtest is offline
Cheetah
 
Join Date: Aug 2010
Posts: 3
Brightness Problem - Implementing _bcm _bcl And _bcq ?

Hi all,
I'm desperately trying to fix an annoying problem I am facing with my Samsung N130 (with a GMA950), where every time I boot OSX the brightness level gets reset to the maximum.

I can see the brightness being boosted to the max at the very last moment of the boot, just before the mouse cursor gets displayed.

I came to think that it could be related to some ACPI controls... At some point maybe the system cannot get the current state of the backlight level and then decides to set it to the max (that's my own interpretation after reading similar reports here and there).

I want to mention that I can change the brightness level normally through the control panel and it works just fine (except the at the minimum level the screen gets blank).

If I understand well, _BCQ ("Backlight C... Query" ?) should return the current level of the backlight. I've read here and there there that:

1. _BCQ might sometimes return weird values
2. If _BCQ returns something weird of if there is no _BCQ available then the system will set it back to the max, which could explain my problem.


So here are my question:

- I've noticed that in my DSDT.aml I do not have those methods declared, similar to:
Code:
				Device (LCD)
				{
					Method (_ADR, 0, NotSerialized)
					{
						Return (0x0400)
					}

					Method (_DCS, 0, NotSerialized) //return status of output
					{
						Store (SMI (0x8E, One), Local0)
						Return (Local0)
					}

					Method (_DGS, 0, NotSerialized) // active or inactive
					{
						Store (SMI (0x99, One), Local0)
						Return (Local0)
					}

					Method (_DSS, 1, NotSerialized) //device set state
					{
						DSS (One, Arg0)
					}

					Name (BTVL, 0x64)
					Name (DBCL, Package (0x0A) {})
					Method (_BCL, 0, NotSerialized) //list of supported brightness
					{
						SX10 ()
						SX30 (0x19)
						SX30 (Zero)
						SX11 ()
						Store (SX40 (), Index (DBCL, Zero))
						Store (SX40 (), Index (DBCL, One))
						Store (SX40 (), Index (DBCL, 0x02))
						Store (SX40 (), Index (DBCL, 0x03))
						Store (SX40 (), Index (DBCL, 0x04))
						Store (SX40 (), Index (DBCL, 0x05))
						Store (SX40 (), Index (DBCL, 0x06))
						Store (SX40 (), Index (DBCL, 0x07))
						Store (SX40 (), Index (DBCL, 0x08))
						Store (SX40 (), Index (DBCL, 0x09))
						SX12 ()
						Return (DBCL)
					}

					Method (_BCM, 1, NotSerialized) //set brightness
					{
						SX10 ()
						SX30 (0x19)
						SX30 (One)
						SX30 (Arg0)
						Store (Arg0, BTVL)
						SX11 ()
						SX12 ()
					}

					Method (_BQC, 0, NotSerialized) //brightness level
					{
						SX10 ()
						SX30 (0x19)
						SX30 (0x02)
						SX11 ()
						Store (SX40 (), Local0)
						Store (Local0, BTVL)
						SX12 ()
						Return (Local0)
					}
				}
Any idea ?

Can I add an LCD device to my DSDT just like that ?

Please find attached my current DSDT

Thank you for your help.
Attached Files
File Type: zip dsdt.zip (15.7 KB, 3 views)

Last edited by mtest; 08-11-2010 at 11:24 AM.
Reply With Quote