drm/i915/opregion: add new opregion stuff
[linux-2.6-block.git] / drivers / gpu / drm / i915 / intel_opregion.c
index c4756a2d77bb98e76f10b8408d1968be51ec71e9..d05a504fd1767c5a422fb1a3d244f9948a7c3cef 100644 (file)
@@ -53,6 +53,7 @@
 #define MBOX_ACPI      (1<<0)
 #define MBOX_SWSCI     (1<<1)
 #define MBOX_ASLE      (1<<2)
+#define MBOX_ASLE_EXT  (1<<4)
 
 struct opregion_header {
        u8 signature[16];
@@ -62,7 +63,10 @@ struct opregion_header {
        u8 vbios_ver[16];
        u8 driver_ver[16];
        u32 mboxes;
-       u8 reserved[164];
+       u32 driver_model;
+       u32 pcon;
+       u8 dver[32];
+       u8 rsvd[124];
 } __packed;
 
 /* OpRegion mailbox #1: public ACPI methods */
@@ -84,7 +88,9 @@ struct opregion_acpi {
        u32 evts;       /* ASL supported events */
        u32 cnot;       /* current OS notification */
        u32 nrdy;       /* driver status */
-       u8 rsvd2[60];
+       u32 did2[7];    /* extended supported display devices ID list */
+       u32 cpd2[7];    /* extended attached display devices list */
+       u8 rsvd2[4];
 } __packed;
 
 /* OpRegion mailbox #2: SWSCI */
@@ -113,7 +119,10 @@ struct opregion_asle {
        u32 pcft;       /* power conservation features */
        u32 srot;       /* supported rotation angles */
        u32 iuer;       /* IUER events */
-       u8 rsvd[86];
+       u64 fdss;
+       u32 fdsp;
+       u32 stat;
+       u8 rsvd[70];
 } __packed;
 
 /* Driver readiness indicator */