AMD GPU: Toshiba, brightness and ATIF
Luca Tettamanti
kronos.it at gmail.com
Thu Jul 12 04:05:08 PDT 2012
Hello,
I'm trying to figure out how to control the brightness of the screen of my
laptop, a Toshiba L885-10W.
The ACPI DSDT table contains the standard control methods, the setter (_BCM),
however, only sets a value in the record returned by ATIF method and send out a
notification:
CreateByteField (ATIB, 0x0C, BRIL) // ATIB is returned by ATIF
Store (Arg0, BRIL)
Notify (VGA, 0x81)
When using the ACPI sysfs backlight interface nothing happens (obviously).
0x81 seems also strange, according to the specification is
"Output Device Status Change: Used to notify OSPM whenever the state of any
output devices attached to the VGA controller has been changed. This event
will, for example, be generated when the user plugs-in or remove a CRT from
the VGA port. In this case, OSPM will re-enumerate all devices attached to
VGA"
and confuses KDE when using more than one screen (but this is a
different issue).
I suspect that the notification means that the radeon driver is supposed to
change the brightness; the GPU is a:
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Thames XT/GL [Radeon HD 7600M Series] [1002:6840]
kernel drivers says:
[drm] initializing kernel modesetting (TURKS 0x1002:0x6840 0x1179:0xFB22)
Poking around with avivotools it seems that AVIVO_LVDS_BACKLIGHT_CNTL (0x7af8)
is not present anymore...
Furthermore ATIF returns a different structure based on the parameter passed by
the caller; radeon drm driver always passes "1", the BRIL field is mentioned
only when passing "2" (it shouldn't matter, the field is set unconditionally,
but it seems some king of versioning); it seems a versioned data structure...
Do you have any information that you can share about ATIF and brightness
control on modern GPUs?
Luca
More information about the xorg-driver-ati
mailing list