[PATCH] drm/radeon: add new AMD ACPI header and update relevant code

joeyli jlee at suse.com
Fri Jul 27 08:32:07 PDT 2012


於 五,2012-07-27 於 09:21 -0400,Alex Deucher 提到:
> On Fri, Jul 27, 2012 at 12:46 AM, joeyli <jlee at suse.com> wrote:
> >
> > + * flags
> > + * bits 1:0:
> > + * 0 - Notify(VGA, 0x81) is not used for notification
> > + * 1 - Notify(VGA, 0x81) is used for notification
> >
> > Per the above flags, when we detect bit set to 1, means 0x81 used for radeon-acpi
> > to be a general notification event. My question is: what's the event number for
> > ACPI_VIDEO_NOTIFY_PROBE on this AMD/ATI machine when 0x81 not available for acpi/video?
> >
> 
> 
> +/* ARG0: ATIF_FUNCTION_GET_SYSTEM_PARAMETERS
> + * ARG1: none
> + * OUTPUT:
> + * WORD  - structure size in bytes (includes size field)
> + * DWORD - valid flags mask
> + * DWORD - flags
> + *
> + * OR
> + *
> + * WORD  - structure size in bytes (includes size field)
> + * DWORD - valid flags mask
> + * DWORD - flags
> + * BYTE  - notify command code
> + *
> + * flags
> + * bits 1:0:
> + * 0 - Notify(VGA, 0x81) is not used for notification
> + * 1 - Notify(VGA, 0x81) is used for notification
> + * 2 - Notify(VGA, n) is used for notification where
> + * n (0xd0-0xd9) is specified in notify command code.
> + * bit 2:
> + * 1 - lid changes not reported though int10
> + */
> 
> if bits 1:0 == 0, there is no notify event for radeon.  When bits 1:0
> == 1, it uses 0x81; when bits 1:0 == 2 it uses the event number
> specified in the following byte (notify command code) which would be
> something in the 0xd0-0xd9 range.
> 
> Alex

Did you mean every time we received 0x81 event in kernel module, we need
access GET_SYSTEM_PARAMETERS to get the flags for distinguish between
ACPI_VIDEO_NOTIFY_PROBE?

Or just need access ONE time when system boot?


I have a machine the GET_SYSTEM_PARAMETERS looks like this:

Method (AF01, 0, NotSerialized)                 /* ATIF_FUNCTION_GET_SYSTEM_PARAMETERS 0x1 */
{
    CreateWordField (ATIB, Zero, SSZE)
    CreateDWordField (ATIB, 0x02, VMSK)
    CreateDWordField (ATIB, 0x06, FLGS)         /* flags bits 1:0 */
    Store (0x0A, SSZE)		/* structure SIZE fixed */
    Store (0x03, VMSK)		/* valid flags mask fixed to 0x03 */
    Store (One, FLGS)		/* FLAGS always set to 1 */
    Return (ATIB)
}

Looks like just need access ONE time when system boot because those
return value of AF01 fixed in DSDT.

On this machine doesn't support probe event, I didn't see any event
issued when I plug D-Sub. Does that means those kind of ATI/AMD machines
do NOT support probe notify?

If YES, then we can just direct disable acpi/video driver by radeon-acpi
when we detected FLAGS is 1.


Thanks a lot!
Joey Lee



More information about the dri-devel mailing list