[PATCH] drm/radeon: add new AMD ACPI header and update relevant code
Alex Deucher
alexdeucher at gmail.com
Sat Jul 28 14:29:25 PDT 2012
On Sat, Jul 28, 2012 at 10:56 AM, Luca Tettamanti <kronos.it at gmail.com> wrote:
> On Thu, Jul 26, 2012 at 03:42:26PM -0400, Alex Deucher wrote:
>> On Thu, Jul 26, 2012 at 3:33 PM, Luca Tettamanti <kronos.it at gmail.com> wrote:
>> > On Thu, Jul 26, 2012 at 11:35:25AM -0400, Alex Deucher wrote:
>> >> On Thu, Jul 26, 2012 at 8:58 AM, Luca Tettamanti <kronos.it at gmail.com> wrote:
>> >> > The other missing bit is how to actually change the brightness... Alex,
>> >> > do you know what registers to poke?
>> >>
>> >> You need to check if the GPU controls the backlight or the system
>> >> does. I think the attached patches should point you in the right
>> >> direction.
>> >
>> > Yep :)
>> >
>> > 0050: ATOM_FIRMWARE_CAPABILITY_ACCESS usFirmwareCapability :
>> > 0050: (union) ATOM_FIRMWARE_CAPABILITY sbfAccess :
>> > USHORT GPUControlsBL:1 = 0x0001 (1)
>> >
>> > The panel is using the INTERNAL_UNIPHY encoder, and I see the
>> > UNIPHYTransmitterControl command table.
>> >
>> > Interaction with video.ko is still a bit messy...
>> >
>> > Do you already have code for handling the notifications? I'll work on it
>> > in the weekend otherwise ;)
>>
>> I don't have patches for that. Please feel free to work on it :)
>
> I just found the first problem (probably a BIOS bug):
> ATIF_FUNCTION_GET_SYSTEM_PARAMETERS is implemented in the DSDT, but the
> corresponding bit ATIF_GET_SYSTEM_PARAMETERS_SUPPORTED is not set :(
> I intended to use the method to set up the notification handler but now
> my BIOS says that it's not there even if it is...
> Can I assume some default values (e.g. notifications are enabled and will
> use 0x81 unless ATIF_FUNCTION_GET_SYSTEM_PARAMETERS says something
> different)?
The spec says that the bits in the supported functions vector mean
that if bit n is set, function n+1 exists, but it's possible that the
spec is wrong and it's actually a 1 to 1 mapping; if bit n is set,
function n is supported. In which case the the supported functions
vector bits should be:
+/* supported functions vector */
+# define ATIF_GET_SYSTEM_PARAMETERS_SUPPORTED (1 << 1)
+# define ATIF_GET_SYSTEM_BIOS_REQUESTS_SUPPORTED (1 << 2)
+# define ATIF_SELECT_ACTIVE_DISPLAYS_SUPPORTED (1 << 3)
+# define ATIF_GET_LID_STATE_SUPPORTED (1 << 4)
+# define ATIF_GET_TV_STANDARD_FROM_CMOS_SUPPORTED (1 << 5)
+# define ATIF_SET_TV_STANDARD_IN_CMOS_SUPPORTED (1 << 6)
+# define ATIF_GET_PANEL_EXPANSION_MODE_FROM_CMOS_SUPPORTED (1 << 7)
+# define ATIF_SET_PANEL_EXPANSION_MODE_IN_CMOS_SUPPORTED (1 << 8)
+# define ATIF_TEMPERATURE_CHANGE_NOTIFICATION_SUPPORTED (1 << 13)
+# define ATIF_GET_GRAPHICS_DEVICE_TYPES_SUPPORTED (1 << 15)
See if that lines up better. I'm still new to these ACPI interfaces
so I'm not an expert yet.
Alex
More information about the dri-devel
mailing list