On Sat, Jul 28, 2012 at 05:29:25PM -0400, Alex Deucher wrote: > On Sat, Jul 28, 2012 at 10:56 AM, Luca Tettamanti <kronos.it@xxxxxxxxx> wrote: > > 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, Hum, I don't follow. The vector in my case is 0x2 (1 << 1), that would mean that ATIF_SELECT_ACTIVE_DISPLAYS_SUPPORTED (1 << 2) is supported? Maybe if the bit n is set then functions 0..n are available? That would (almost) match what I see... > 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. Not really... the value returned by VERIFY_INTERFACE is 0x2, but in the DSDT I see: ATIF_FUNCTION_GET_SYSTEM_PARAMETERS ATIF_FUNCTION_GET_SYSTEM_BIOS_REQUESTS ATIF_FUNCTION_GET_TV_STANDARD_FROM_CMOS ATIF_FUNCTION_SET_TV_STANDARD_IN_CMOS The implementation of the first one makes sense, the second is used for brightness control. The other two _might_ be a leftover (the machine does not have an analog TV out). > I'm still new to these ACPI interfaces > so I'm not an expert yet. I've been exposed to a lot of ACPI code (I wrote the asus_atk0110 driver), in my experience the DSDT is full of crap: code copied&pasted from other machines, leftover no longer used, and other stuff that's plainly wrong. Luca _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel