drm/i915/opregion: add new opregion stuff
authorJani Nikula <jani.nikula@intel.com>
Thu, 2 Jul 2015 14:43:22 +0000 (17:43 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 6 Jul 2015 09:37:13 +0000 (11:37 +0200)
Inluding extended didl and cpdl fields

Present since opregion version 3.0.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
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 */