aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/intel_opregion.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c
index b8f106d9ecf8..3035b402973f 100644
--- a/drivers/gpu/drm/i915/intel_opregion.c
+++ b/drivers/gpu/drm/i915/intel_opregion.c
@@ -55,7 +55,12 @@
55struct opregion_header { 55struct opregion_header {
56 u8 signature[16]; 56 u8 signature[16];
57 u32 size; 57 u32 size;
58 u32 opregion_ver; 58 struct {
59 u8 rsvd;
60 u8 revision;
61 u8 minor;
62 u8 major;
63 } __packed over;
59 u8 bios_ver[32]; 64 u8 bios_ver[32];
60 u8 vbios_ver[16]; 65 u8 vbios_ver[16];
61 u8 driver_ver[16]; 66 u8 driver_ver[16];
@@ -925,6 +930,11 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
925 opregion->header = base; 930 opregion->header = base;
926 opregion->lid_state = base + ACPI_CLID; 931 opregion->lid_state = base + ACPI_CLID;
927 932
933 DRM_DEBUG_DRIVER("ACPI OpRegion version %u.%u.%u\n",
934 opregion->header->over.major,
935 opregion->header->over.minor,
936 opregion->header->over.revision);
937
928 mboxes = opregion->header->mboxes; 938 mboxes = opregion->header->mboxes;
929 if (mboxes & MBOX_ACPI) { 939 if (mboxes & MBOX_ACPI) {
930 DRM_DEBUG_DRIVER("Public ACPI methods supported\n"); 940 DRM_DEBUG_DRIVER("Public ACPI methods supported\n");
@@ -953,7 +963,7 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
953 if (dmi_check_system(intel_no_opregion_vbt)) 963 if (dmi_check_system(intel_no_opregion_vbt))
954 goto out; 964 goto out;
955 965
956 if (opregion->header->opregion_ver >= 2 && opregion->asle && 966 if (opregion->header->over.major >= 2 && opregion->asle &&
957 opregion->asle->rvda && opregion->asle->rvds) { 967 opregion->asle->rvda && opregion->asle->rvds) {
958 opregion->rvda = memremap(opregion->asle->rvda, 968 opregion->rvda = memremap(opregion->asle->rvda,
959 opregion->asle->rvds, 969 opregion->asle->rvds,