Bug 14856

Summary: no brightness control on NB samsung x120
Product: ACPI Reporter: Victor Naumov (naumovvv)
Component: Power-VideoAssignee: Zhang Rui (rui.zhang)
Status: REJECTED DOCUMENTED    
Severity: normal CC: rui.zhang, yakui.zhao
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.30-32 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg
kernel config
acpidump

Description Victor Naumov 2009-12-21 12:58:56 UTC
Created attachment 24246 [details]
dmesg

I have a vanilla kernel with my custom config.

In /sys/devices/virtual/backlight/acpi_video0 present:
actual_brightness (value 3)
bl_power (value 0)
brightness (value 3)
max_brightness (value 3)
event (empty)

When booting there is some ACPI warnings:
ACPI Warning: _BQC returned an invalid level (20090903/video-631)
ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
ACPI: I/O resource 0000:00:1f.3 [0x1c00-0x1c1f] conflicts with ACPI region SMBI [0x1c00-0x1c0f]
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
Comment 1 Victor Naumov 2009-12-21 13:00:22 UTC
Created attachment 24247 [details]
kernel config
Comment 2 ykzhao 2009-12-22 01:16:48 UTC
Will you please attach the output of acpidump on your box?

thanks.
Comment 3 Victor Naumov 2009-12-22 05:12:43 UTC
that it.
Comment 4 Victor Naumov 2009-12-22 05:14:33 UTC
Created attachment 24253 [details]
acpidump
Comment 5 Zhang Rui 2009-12-22 05:35:15 UTC
the _BQCM/_BQC method on this laptop is buggy.

        Method (_BQC, 0, NotSerialized)
        {
            Divide (BRTL, 0x0A, Local0, Local1)
            If (LEqual (Local0, 0x00))
            {
                Return (BRTL)
            }
        }
_BQC only returns a valid value if the brightness level is a multiple of 10.

I'm afraid we can not workaround this in Linux kernel. IMO, a better way is to fix it in the BIOS code.
please check if there is any BIOS upgrade for your laptop.
If no, you can try xrandr to change the backlight instead of ACPI.