toshiba video brightness
Len Brown
reviewerLuming
I've got 2.6.21-rc5 running on a Toshiba Satellite Pro laptop. The ACPI video drivers seems to supply 2 brightness levels in proc, but nothing in /sys/backlight, and the toshiba_acpi driver seems to supply 8 levels in /proc.
what am I missing?
thanks,
-Len
loading the video driver, I see this:
lenb@toshiba:/proc/acpi/video> ls -R
.:
VGA
./VGA:
CRT DOS info LCD POST POST_info ROM TV
./VGA/CRT:
brightness EDID info state
./VGA/LCD:
brightness EDID info state
./VGA/TV:
brightness EDID info state
lenb@toshiba:/proc/acpi/video/VGA/LCD> cd /proc/acpi/video/VGA/LCD lenb@toshiba:/proc/acpi/video/VGA/LCD> su
Password:
toshiba:/proc/acpi/video/VGA/LCD # echo 0 > brightness
(this dimmed the screen to minimum)
toshiba:/proc/acpi/video/VGA/LCD # echo 40 > brightness
(this make the screen max brightness)
toshiba:/proc/acpi/video/VGA/LCD # echo 100 > brightness
bash: echo: write error: Invalid argument toshiba:/proc/acpi/video/VGA/LCD # echo 20 > brightness toshiba:/proc/acpi/video/VGA/LCD # echo 10 > brightness toshiba:/proc/acpi/video/VGA/LCD # echo 0 > brightness toshiba:/proc/acpi/video/VGA/LCD # echo 40 > brightness toshiba:/proc/acpi/video/VGA/LCD # echo 50 > brightness toshiba:/proc/acpi/video/VGA/LCD # echo 30 > brightness
Only the values of 0 and 40 have any effect, the others are a NOP
toshiba:/proc/acpi/video/VGA/LCD # cd /proc/acpi/toshiba/ toshiba:/proc/acpi/toshiba # ls
fan keys lcd version video toshiba:/proc/acpi/toshiba # cat lcd
brightness: 3 brightness_levels: 8
toshiba:/proc/acpi/toshiba # echo brightness:0 > lcd toshiba:/proc/acpi/toshiba # echo brightness:2 > lcd toshiba:/proc/acpi/toshiba # echo brightness:3 > lcd toshiba:/proc/acpi/toshiba # echo brightness:4 > lcd toshiba:/proc/acpi/toshiba # echo brightness:5 > lcd toshiba:/proc/acpi/toshiba # echo brightness:6 > lcd toshiba:/proc/acpi/toshiba # echo brightness:7 > lcd toshiba:/proc/acpi/toshiba # echo brightness:8 > lcd
bash: echo: write error: Invalid argument toshiba:/proc/acpi/toshiba #
All of these 8 give a different brightness
video.c: brightness 0 = toshiba_acpi brightness 0 video.c: brightness 40 = toshiba_acpi brightness 3
rmmod toshiba_acpi makes no difference.
toshiba:/proc/acpi/video/VGA/LCD # ls /sys/class/backlight/ toshiba:/proc/acpi/video/VGA/LCD #
toshiba:/proc/acpi/video/VGA/LCD # gunzip -dc /proc/config.gz |grep BACKLIGHT CONFIG_BACKLIGHT_LCD_SUPPORT=yCONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_PROGEAR is not setCONFIG_FB_BACKLIGHT=yCONFIG_FB_RADEON_BACKLIGHT=y
Hi Len,
There are three issues according to your description.
Issue 1:
The missing of /sys/backlight on your Toshiba seems just due to the sysfs backlight requires bios expose _BCL, _BCM, and _BQC for returning levels supported, controlling brightness, querying the current brightness respectively. I checked the DSDT of the Toshiba box. There is NO _BQC. Without _BQC, the sysfs backlight driver will lose the capability of returning the current brightness level to user space. Maybe it is just not important, and need to loose the condition check to register into back light sysfs layer anyway.
Issue 2: Only the values of 0 and 40 have any effect, the others are a NOP I will take a closer look at the related methods to check if that is expected by the BIOS.
Issue 3: cannot remove video module
It is NOT reproducible on my napa. I will see if it is the consequence of the previous two issues.
Thanks,
Luming
Quoted 86 lines · Len Brown
Luming
I've got 2.6.21-rc5 running on a Toshiba Satellite Pro laptop. The ACPI video drivers seems to supply 2 brightness levels in proc, but nothing in/sys/backlight, and thetoshiba_acpidriver seems to supply 8 levels in /proc.what am I missing?
thanks,
-Lenloading the video driver, I see this:
lenb@toshiba:/proc/acpi/video> ls -R
.:
VGA./VGA:
CRT DOS info LCD POSTPOST_infoROM TV./VGA/CRT:
brightness EDID info state./VGA/LCD:
brightness EDID info state./VGA/TV:
brightness EDID info statelenb@toshiba:/proc/acpi/video/VGA/LCD> cd
/proc/acpi/video/VGA/LCDlenb@toshiba:/proc/acpi/video/VGA/LCD> su
Password:
toshiba:/proc/acpi/video/VGA/LCD # echo 0 > brightness(this dimmed the screen to minimum)
toshiba:/proc/acpi/video/VGA/LCD # echo 40 > brightness
(this make the screen max brightness)
toshiba:/proc/acpi/video/VGA/LCD # echo 100 > brightness
bash: echo: write error: Invalid argument toshiba:/proc/acpi/video/VGA/LCD # echo 20 > brightness toshiba:/proc/acpi/video/VGA/LCD # echo 10 > brightness toshiba:/proc/acpi/video/VGA/LCD # echo 0 > brightness toshiba:/proc/acpi/video/VGA/LCD # echo 40 > brightness toshiba:/proc/acpi/video/VGA/LCD # echo 50 > brightness toshiba:/proc/acpi/video/VGA/LCD # echo 30 > brightnessOnly the values of 0 and 40 have any effect, the others are a NOP
toshiba:/proc/acpi/video/VGA/LCD # cd
/proc/acpi/toshiba/toshiba:/proc/acpi/toshiba # ls
fan keys lcd version video toshiba:/proc/acpi/toshiba # cat lcdbrightness: 3 brightness_levels: 8toshiba:/proc/acpi/toshiba # echo brightness:0 > lcd toshiba:/proc/acpi/toshiba # echo brightness:2 > lcd toshiba:/proc/acpi/toshiba # echo brightness:3 > lcd toshiba:/proc/acpi/toshiba # echo brightness:4 > lcd toshiba:/proc/acpi/toshiba # echo brightness:5 > lcd toshiba:/proc/acpi/toshiba # echo brightness:6 > lcd toshiba:/proc/acpi/toshiba # echo brightness:7 > lcd toshiba:/proc/acpi/toshiba # echo brightness:8 > lcd
bash: echo: write error: Invalid argument toshiba:/proc/acpi/toshiba #All of these 8 give a different brightness
video.c: brightness 0 =toshiba_acpibrightness 0video.c: brightness 40 =toshiba_acpibrightness 3rmmod
toshiba_acpimakes no difference.toshiba:/proc/acpi/video/VGA/LCD # ls
/sys/class/backlight/toshiba:/proc/acpi/video/VGA/LCD #toshiba:/proc/acpi/video/VGA/LCD # gunzip -dc
/proc/config.gz|grep BACKLIGHTCONFIG_BACKLIGHT_LCD_SUPPORT=yCONFIG_BACKLIGHT_CLASS_DEVICE=y
#CONFIG_BACKLIGHT_PROGEARis not setCONFIG_FB_BACKLIGHT=yCONFIG_FB_RADEON_BACKLIGHT=y