[Intel-gfx] [RFC 10/12] drm/i915/config: Introduce a test table and code to make use of it.
Bob Paauwe
bob.j.paauwe at intel.com
Thu Feb 12 15:41:36 PST 2015
Modify the table loading function to accept an included property table
as a last resort. This can be used to create test cases. It may
also be used to provide a static, compiled in configuration.
A sample test table (source and compiled HEX version) are included in
this commit.
Signed-off-by: Bob Paauwe <bob.j.paauwe at intel.com>
---
drivers/gpu/drm/i915/i915-properties.asl | 150 +++++++++++++++++++++++++++
drivers/gpu/drm/i915/i915-properties.hex | 173 +++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/intel_config.c | 20 +++-
3 files changed, 342 insertions(+), 1 deletion(-)
create mode 100644 drivers/gpu/drm/i915/i915-properties.asl
create mode 100644 drivers/gpu/drm/i915/i915-properties.hex
diff --git a/drivers/gpu/drm/i915/i915-properties.asl b/drivers/gpu/drm/i915/i915-properties.asl
new file mode 100644
index 0000000..7e9d12b
--- /dev/null
+++ b/drivers/gpu/drm/i915/i915-properties.asl
@@ -0,0 +1,150 @@
+DefinitionBlock ("i915-properties.aml", "SSDT", 5, "", "", 0x00000001)
+{
+ External (DSEN)
+
+ Device (\_SB.PRP) {
+ Device(GFX0) {
+ Name (_ADR, 0x00020000)
+ Name (_HID, "PRP0000")
+
+ Method (_DOS, 1, NotSerialized) {
+ Store (And (Arg0, 0x07), DSEN)
+ If (LEqual (And (Arg0, 0x03), Zero)) {
+ }
+ }
+
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package() {"display_detect", 1},
+ Package() {"fastboot", 1},
+ Package() {"powersave", 0},
+ Package() {"count", 99},
+ }
+ })
+
+ Device (CRTC) {
+ Name (_HID, "PRP0000")
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package() { "enabled", "3" },
+ Package() { "count", 3 }
+ }
+ })
+
+ Device (ID0) {
+ Name (_HID, "PRP0000")
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package() { "id", 0 },
+ Package() { "canvas_color", Package() { 0, 0, 0 } },
+ Package() { "blend_equ", 0 },
+ Package() { "enabled", 1 }
+ }
+ })
+ }
+
+ Device (ID1) {
+ Name (_HID, "PRP0000")
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package() { "id", 1 },
+ Package() { "canvas_color", Package() { 0, 0, 0 } },
+ Package() { "blend_equ", 0 },
+ Package() { "enabled", 1 }
+ }
+ })
+ }
+
+ Device (ID2) {
+ Name (_HID, "PRP0000")
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package() { "id", 2 },
+ Package() { "canvas_color", Package() { 0, 0, 0 } },
+ Package() { "blend_equ", 0 },
+ Package() { "enabled", 1 }
+ }
+ })
+ }
+ }
+
+ Device (PLNS) {
+ Name (_HID, "PRP0000")
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package() { "count", 2 }
+ }
+ })
+
+ Device (PL0) {
+ Name (_HID, "PRP0000")
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package () { "gamma", 1 },
+ Package () { "color-key", 0xffffffff },
+ }
+ })
+ }
+
+ Device (PL1) {
+ Name (_HID, "PRP0000")
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package () { "gamma", 0 },
+ Package () { "color-key", 0xffffffff },
+ }
+ })
+ }
+ }
+
+
+ Device (CNCT) {
+ Name (_HID, "PRP0000")
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package() { "count", 2 }
+ }
+ })
+
+ Device(C0) {
+ Name (_HID, "PRP0000")
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package() { "name", "analog" },
+ Package() { "enabled", 1 },
+ Package() { "bits_per_color", 6 },
+ Package() { "constant_alpha", 255 }
+ }
+ })
+ }
+
+ Device(C1) {
+ Name (_HID, "PRP0000")
+ Name (_DSD, Package() {
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package () {
+ Package() { "name", "displayport_a" },
+ Package() { "enabled", 1 },
+ Package() { "scaling_mode", "Full aspect" },
+ Package() { "audio", "force-dvi" },
+ Package() { "Broadcast_RGB", "Automatic" },
+ Package() { "bits_per_color", 8 },
+ Package() { "constant_alpha", 255 }
+ }
+ })
+ }
+ }
+ }
+ }
+}
+
diff --git a/drivers/gpu/drm/i915/i915-properties.hex b/drivers/gpu/drm/i915/i915-properties.hex
new file mode 100644
index 0000000..0a391eef
--- /dev/null
+++ b/drivers/gpu/drm/i915/i915-properties.hex
@@ -0,0 +1,173 @@
+/*
+ *
+ * Intel ACPI Component Architecture
+ * ASL Optimizing Compiler version 20131115-64 [Nov 26 2013]
+ * Copyright (c) 2000 - 2013 Intel Corporation
+ *
+ * Compilation of "i915-properties.asl" - Mon Aug 18 13:16:20 2014
+ *
+ * C source code output
+ * AML code block contains 0x4EA bytes
+ *
+ */
+unsigned char AmlCode[] =
+{
+ 0x53,0x53,0x44,0x54,0xEA,0x04,0x00,0x00, /* 00000000 "SSDT...." */
+ 0x05,0x98,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000008 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000010 "........" */
+ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
+ 0x15,0x11,0x13,0x20,0x5B,0x82,0x44,0x4C, /* 00000020 "... [.DL" */
+ 0x5C,0x2E,0x5F,0x53,0x42,0x5F,0x50,0x52, /* 00000028 "\._SB_PR" */
+ 0x50,0x5F,0x5B,0x82,0x46,0x4B,0x47,0x46, /* 00000030 "P_[.FKGF" */
+ 0x58,0x30,0x08,0x5F,0x41,0x44,0x52,0x0C, /* 00000038 "X0._ADR." */
+ 0x00,0x00,0x02,0x00,0x08,0x5F,0x48,0x49, /* 00000040 "....._HI" */
+ 0x44,0x0D,0x50,0x52,0x50,0x30,0x30,0x30, /* 00000048 "D.PRP000" */
+ 0x30,0x00,0x14,0x19,0x5F,0x44,0x4F,0x53, /* 00000050 "0..._DOS" */
+ 0x01,0x70,0x7B,0x68,0x0A,0x07,0x00,0x44, /* 00000058 ".p{h...D" */
+ 0x53,0x45,0x4E,0xA0,0x08,0x93,0x7B,0x68, /* 00000060 "SEN...{h" */
+ 0x0A,0x03,0x00,0x00,0x08,0x5F,0x44,0x53, /* 00000068 "....._DS" */
+ 0x44,0x12,0x47,0x05,0x02,0x11,0x13,0x0A, /* 00000070 "D.G....." */
+ 0x10,0x14,0xD8,0xFF,0xDA,0xBA,0x6E,0x8C, /* 00000078 "......n." */
+ 0x4D,0x8A,0x91,0xBC,0x9B,0xBF,0x4A,0xA3, /* 00000080 "M.....J." */
+ 0x01,0x12,0x3F,0x04,0x12,0x13,0x02,0x0D, /* 00000088 "..?....." */
+ 0x64,0x69,0x73,0x70,0x6C,0x61,0x79,0x5F, /* 00000090 "display_" */
+ 0x64,0x65,0x74,0x65,0x63,0x74,0x00,0x01, /* 00000098 "detect.." */
+ 0x12,0x0D,0x02,0x0D,0x66,0x61,0x73,0x74, /* 000000A0 "....fast" */
+ 0x62,0x6F,0x6F,0x74,0x00,0x01,0x12,0x0E, /* 000000A8 "boot...." */
+ 0x02,0x0D,0x70,0x6F,0x77,0x65,0x72,0x73, /* 000000B0 "..powers" */
+ 0x61,0x76,0x65,0x00,0x00,0x12,0x0B,0x02, /* 000000B8 "ave....." */
+ 0x0D,0x63,0x6F,0x75,0x6E,0x74,0x00,0x0A, /* 000000C0 ".count.." */
+ 0x63,0x5B,0x82,0x42,0x1A,0x43,0x52,0x54, /* 000000C8 "c[.B.CRT" */
+ 0x43,0x08,0x5F,0x48,0x49,0x44,0x0D,0x50, /* 000000D0 "C._HID.P" */
+ 0x52,0x50,0x30,0x30,0x30,0x30,0x00,0x08, /* 000000D8 "RP0000.." */
+ 0x5F,0x44,0x53,0x44,0x12,0x34,0x02,0x11, /* 000000E0 "_DSD.4.." */
+ 0x13,0x0A,0x10,0x14,0xD8,0xFF,0xDA,0xBA, /* 000000E8 "........" */
+ 0x6E,0x8C,0x4D,0x8A,0x91,0xBC,0x9B,0xBF, /* 000000F0 "n.M....." */
+ 0x4A,0xA3,0x01,0x12,0x1D,0x02,0x12,0x0E, /* 000000F8 "J......." */
+ 0x02,0x0D,0x65,0x6E,0x61,0x62,0x6C,0x65, /* 00000100 "..enable" */
+ 0x64,0x00,0x0D,0x33,0x00,0x12,0x0B,0x02, /* 00000108 "d..3...." */
+ 0x0D,0x63,0x6F,0x75,0x6E,0x74,0x00,0x0A, /* 00000110 ".count.." */
+ 0x03,0x5B,0x82,0x4F,0x06,0x49,0x44,0x30, /* 00000118 ".[.O.ID0" */
+ 0x5F,0x08,0x5F,0x48,0x49,0x44,0x0D,0x50, /* 00000120 "_._HID.P" */
+ 0x52,0x50,0x30,0x30,0x30,0x30,0x00,0x08, /* 00000128 "RP0000.." */
+ 0x5F,0x44,0x53,0x44,0x12,0x45,0x05,0x02, /* 00000130 "_DSD.E.." */
+ 0x11,0x13,0x0A,0x10,0x14,0xD8,0xFF,0xDA, /* 00000138 "........" */
+ 0xBA,0x6E,0x8C,0x4D,0x8A,0x91,0xBC,0x9B, /* 00000140 ".n.M...." */
+ 0xBF,0x4A,0xA3,0x01,0x12,0x3D,0x04,0x12, /* 00000148 ".J...=.." */
+ 0x07,0x02,0x0D,0x69,0x64,0x00,0x00,0x12, /* 00000150 "...id..." */
+ 0x16,0x02,0x0D,0x63,0x61,0x6E,0x76,0x61, /* 00000158 "...canva" */
+ 0x73,0x5F,0x63,0x6F,0x6C,0x6F,0x72,0x00, /* 00000160 "s_color." */
+ 0x12,0x05,0x03,0x00,0x00,0x00,0x12,0x0E, /* 00000168 "........" */
+ 0x02,0x0D,0x62,0x6C,0x65,0x6E,0x64,0x5F, /* 00000170 "..blend_" */
+ 0x65,0x71,0x75,0x00,0x00,0x12,0x0C,0x02, /* 00000178 "equ....." */
+ 0x0D,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64, /* 00000180 ".enabled" */
+ 0x00,0x01,0x5B,0x82,0x4F,0x06,0x49,0x44, /* 00000188 "..[.O.ID" */
+ 0x31,0x5F,0x08,0x5F,0x48,0x49,0x44,0x0D, /* 00000190 "1_._HID." */
+ 0x50,0x52,0x50,0x30,0x30,0x30,0x30,0x00, /* 00000198 "PRP0000." */
+ 0x08,0x5F,0x44,0x53,0x44,0x12,0x45,0x05, /* 000001A0 "._DSD.E." */
+ 0x02,0x11,0x13,0x0A,0x10,0x14,0xD8,0xFF, /* 000001A8 "........" */
+ 0xDA,0xBA,0x6E,0x8C,0x4D,0x8A,0x91,0xBC, /* 000001B0 "..n.M..." */
+ 0x9B,0xBF,0x4A,0xA3,0x01,0x12,0x3D,0x04, /* 000001B8 "..J...=." */
+ 0x12,0x07,0x02,0x0D,0x69,0x64,0x00,0x01, /* 000001C0 "....id.." */
+ 0x12,0x16,0x02,0x0D,0x63,0x61,0x6E,0x76, /* 000001C8 "....canv" */
+ 0x61,0x73,0x5F,0x63,0x6F,0x6C,0x6F,0x72, /* 000001D0 "as_color" */
+ 0x00,0x12,0x05,0x03,0x00,0x00,0x00,0x12, /* 000001D8 "........" */
+ 0x0E,0x02,0x0D,0x62,0x6C,0x65,0x6E,0x64, /* 000001E0 "...blend" */
+ 0x5F,0x65,0x71,0x75,0x00,0x00,0x12,0x0C, /* 000001E8 "_equ...." */
+ 0x02,0x0D,0x65,0x6E,0x61,0x62,0x6C,0x65, /* 000001F0 "..enable" */
+ 0x64,0x00,0x01,0x5B,0x82,0x40,0x07,0x49, /* 000001F8 "d..[. at .I" */
+ 0x44,0x32,0x5F,0x08,0x5F,0x48,0x49,0x44, /* 00000200 "D2_._HID" */
+ 0x0D,0x50,0x52,0x50,0x30,0x30,0x30,0x30, /* 00000208 ".PRP0000" */
+ 0x00,0x08,0x5F,0x44,0x53,0x44,0x12,0x46, /* 00000210 ".._DSD.F" */
+ 0x05,0x02,0x11,0x13,0x0A,0x10,0x14,0xD8, /* 00000218 "........" */
+ 0xFF,0xDA,0xBA,0x6E,0x8C,0x4D,0x8A,0x91, /* 00000220 "...n.M.." */
+ 0xBC,0x9B,0xBF,0x4A,0xA3,0x01,0x12,0x3E, /* 00000228 "...J...>" */
+ 0x04,0x12,0x08,0x02,0x0D,0x69,0x64,0x00, /* 00000230 ".....id." */
+ 0x0A,0x02,0x12,0x16,0x02,0x0D,0x63,0x61, /* 00000238 "......ca" */
+ 0x6E,0x76,0x61,0x73,0x5F,0x63,0x6F,0x6C, /* 00000240 "nvas_col" */
+ 0x6F,0x72,0x00,0x12,0x05,0x03,0x00,0x00, /* 00000248 "or......" */
+ 0x00,0x12,0x0E,0x02,0x0D,0x62,0x6C,0x65, /* 00000250 ".....ble" */
+ 0x6E,0x64,0x5F,0x65,0x71,0x75,0x00,0x00, /* 00000258 "nd_equ.." */
+ 0x12,0x0C,0x02,0x0D,0x65,0x6E,0x61,0x62, /* 00000260 "....enab" */
+ 0x6C,0x65,0x64,0x00,0x01,0x5B,0x82,0x45, /* 00000268 "led..[.E" */
+ 0x0E,0x50,0x4C,0x4E,0x53,0x08,0x5F,0x48, /* 00000270 ".PLNS._H" */
+ 0x49,0x44,0x0D,0x50,0x52,0x50,0x30,0x30, /* 00000278 "ID.PRP00" */
+ 0x30,0x30,0x00,0x08,0x5F,0x44,0x53,0x44, /* 00000280 "00.._DSD" */
+ 0x12,0x25,0x02,0x11,0x13,0x0A,0x10,0x14, /* 00000288 ".%......" */
+ 0xD8,0xFF,0xDA,0xBA,0x6E,0x8C,0x4D,0x8A, /* 00000290 "....n.M." */
+ 0x91,0xBC,0x9B,0xBF,0x4A,0xA3,0x01,0x12, /* 00000298 "....J..." */
+ 0x0E,0x01,0x12,0x0B,0x02,0x0D,0x63,0x6F, /* 000002A0 "......co" */
+ 0x75,0x6E,0x74,0x00,0x0A,0x02,0x5B,0x82, /* 000002A8 "unt...[." */
+ 0x41,0x05,0x50,0x4C,0x30,0x5F,0x08,0x5F, /* 000002B0 "A.PL0_._" */
+ 0x48,0x49,0x44,0x0D,0x50,0x52,0x50,0x30, /* 000002B8 "HID.PRP0" */
+ 0x30,0x30,0x30,0x00,0x08,0x5F,0x44,0x53, /* 000002C0 "000.._DS" */
+ 0x44,0x12,0x37,0x02,0x11,0x13,0x0A,0x10, /* 000002C8 "D.7....." */
+ 0x14,0xD8,0xFF,0xDA,0xBA,0x6E,0x8C,0x4D, /* 000002D0 ".....n.M" */
+ 0x8A,0x91,0xBC,0x9B,0xBF,0x4A,0xA3,0x01, /* 000002D8 ".....J.." */
+ 0x12,0x20,0x02,0x12,0x0A,0x02,0x0D,0x67, /* 000002E0 ". .....g" */
+ 0x61,0x6D,0x6D,0x61,0x00,0x01,0x12,0x12, /* 000002E8 "amma...." */
+ 0x02,0x0D,0x63,0x6F,0x6C,0x6F,0x72,0x2D, /* 000002F0 "..color-" */
+ 0x6B,0x65,0x79,0x00,0x0C,0xFF,0xFF,0xFF, /* 000002F8 "key....." */
+ 0xFF,0x5B,0x82,0x41,0x05,0x50,0x4C,0x31, /* 00000300 ".[.A.PL1" */
+ 0x5F,0x08,0x5F,0x48,0x49,0x44,0x0D,0x50, /* 00000308 "_._HID.P" */
+ 0x52,0x50,0x30,0x30,0x30,0x30,0x00,0x08, /* 00000310 "RP0000.." */
+ 0x5F,0x44,0x53,0x44,0x12,0x37,0x02,0x11, /* 00000318 "_DSD.7.." */
+ 0x13,0x0A,0x10,0x14,0xD8,0xFF,0xDA,0xBA, /* 00000320 "........" */
+ 0x6E,0x8C,0x4D,0x8A,0x91,0xBC,0x9B,0xBF, /* 00000328 "n.M....." */
+ 0x4A,0xA3,0x01,0x12,0x20,0x02,0x12,0x0A, /* 00000330 "J... ..." */
+ 0x02,0x0D,0x67,0x61,0x6D,0x6D,0x61,0x00, /* 00000338 "..gamma." */
+ 0x00,0x12,0x12,0x02,0x0D,0x63,0x6F,0x6C, /* 00000340 ".....col" */
+ 0x6F,0x72,0x2D,0x6B,0x65,0x79,0x00,0x0C, /* 00000348 "or-key.." */
+ 0xFF,0xFF,0xFF,0xFF,0x5B,0x82,0x44,0x19, /* 00000350 "....[.D." */
+ 0x43,0x4E,0x43,0x54,0x08,0x5F,0x48,0x49, /* 00000358 "CNCT._HI" */
+ 0x44,0x0D,0x50,0x52,0x50,0x30,0x30,0x30, /* 00000360 "D.PRP000" */
+ 0x30,0x00,0x08,0x5F,0x44,0x53,0x44,0x12, /* 00000368 "0.._DSD." */
+ 0x25,0x02,0x11,0x13,0x0A,0x10,0x14,0xD8, /* 00000370 "%......." */
+ 0xFF,0xDA,0xBA,0x6E,0x8C,0x4D,0x8A,0x91, /* 00000378 "...n.M.." */
+ 0xBC,0x9B,0xBF,0x4A,0xA3,0x01,0x12,0x0E, /* 00000380 "...J...." */
+ 0x01,0x12,0x0B,0x02,0x0D,0x63,0x6F,0x75, /* 00000388 ".....cou" */
+ 0x6E,0x74,0x00,0x0A,0x02,0x5B,0x82,0x4D, /* 00000390 "nt...[.M" */
+ 0x07,0x43,0x30,0x5F,0x5F,0x08,0x5F,0x48, /* 00000398 ".C0__._H" */
+ 0x49,0x44,0x0D,0x50,0x52,0x50,0x30,0x30, /* 000003A0 "ID.PRP00" */
+ 0x30,0x30,0x00,0x08,0x5F,0x44,0x53,0x44, /* 000003A8 "00.._DSD" */
+ 0x12,0x43,0x06,0x02,0x11,0x13,0x0A,0x10, /* 000003B0 ".C......" */
+ 0x14,0xD8,0xFF,0xDA,0xBA,0x6E,0x8C,0x4D, /* 000003B8 ".....n.M" */
+ 0x8A,0x91,0xBC,0x9B,0xBF,0x4A,0xA3,0x01, /* 000003C0 ".....J.." */
+ 0x12,0x4B,0x04,0x04,0x12,0x10,0x02,0x0D, /* 000003C8 ".K......" */
+ 0x6E,0x61,0x6D,0x65,0x00,0x0D,0x61,0x6E, /* 000003D0 "name..an" */
+ 0x61,0x6C,0x6F,0x67,0x00,0x12,0x0C,0x02, /* 000003D8 "alog...." */
+ 0x0D,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64, /* 000003E0 ".enabled" */
+ 0x00,0x01,0x12,0x14,0x02,0x0D,0x62,0x69, /* 000003E8 "......bi" */
+ 0x74,0x73,0x5F,0x70,0x65,0x72,0x5F,0x63, /* 000003F0 "ts_per_c" */
+ 0x6F,0x6C,0x6F,0x72,0x00,0x0A,0x06,0x12, /* 000003F8 "olor...." */
+ 0x14,0x02,0x0D,0x63,0x6F,0x6E,0x73,0x74, /* 00000400 "...const" */
+ 0x61,0x6E,0x74,0x5F,0x61,0x6C,0x70,0x68, /* 00000408 "ant_alph" */
+ 0x61,0x00,0x0A,0xFF,0x5B,0x82,0x44,0x0D, /* 00000410 "a...[.D." */
+ 0x43,0x31,0x5F,0x5F,0x08,0x5F,0x48,0x49, /* 00000418 "C1__._HI" */
+ 0x44,0x0D,0x50,0x52,0x50,0x30,0x30,0x30, /* 00000420 "D.PRP000" */
+ 0x30,0x00,0x08,0x5F,0x44,0x53,0x44,0x12, /* 00000428 "0.._DSD." */
+ 0x4A,0x0B,0x02,0x11,0x13,0x0A,0x10,0x14, /* 00000430 "J......." */
+ 0xD8,0xFF,0xDA,0xBA,0x6E,0x8C,0x4D,0x8A, /* 00000438 "....n.M." */
+ 0x91,0xBC,0x9B,0xBF,0x4A,0xA3,0x01,0x12, /* 00000440 "....J..." */
+ 0x42,0x0A,0x07,0x12,0x17,0x02,0x0D,0x6E, /* 00000448 "B......n" */
+ 0x61,0x6D,0x65,0x00,0x0D,0x64,0x69,0x73, /* 00000450 "ame..dis" */
+ 0x70,0x6C,0x61,0x79,0x70,0x6F,0x72,0x74, /* 00000458 "playport" */
+ 0x5F,0x61,0x00,0x12,0x0C,0x02,0x0D,0x65, /* 00000460 "_a.....e" */
+ 0x6E,0x61,0x62,0x6C,0x65,0x64,0x00,0x01, /* 00000468 "nabled.." */
+ 0x12,0x1D,0x02,0x0D,0x73,0x63,0x61,0x6C, /* 00000470 "....scal" */
+ 0x69,0x6E,0x67,0x5F,0x6D,0x6F,0x64,0x65, /* 00000478 "ing_mode" */
+ 0x00,0x0D,0x46,0x75,0x6C,0x6C,0x20,0x61, /* 00000480 "..Full a" */
+ 0x73,0x70,0x65,0x63,0x74,0x00,0x12,0x14, /* 00000488 "spect..." */
+ 0x02,0x0D,0x61,0x75,0x64,0x69,0x6F,0x00, /* 00000490 "..audio." */
+ 0x0D,0x66,0x6F,0x72,0x63,0x65,0x2D,0x64, /* 00000498 ".force-d" */
+ 0x76,0x69,0x00,0x12,0x1C,0x02,0x0D,0x42, /* 000004A0 "vi.....B" */
+ 0x72,0x6F,0x61,0x64,0x63,0x61,0x73,0x74, /* 000004A8 "roadcast" */
+ 0x5F,0x52,0x47,0x42,0x00,0x0D,0x41,0x75, /* 000004B0 "_RGB..Au" */
+ 0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x00, /* 000004B8 "tomatic." */
+ 0x12,0x14,0x02,0x0D,0x62,0x69,0x74,0x73, /* 000004C0 "....bits" */
+ 0x5F,0x70,0x65,0x72,0x5F,0x63,0x6F,0x6C, /* 000004C8 "_per_col" */
+ 0x6F,0x72,0x00,0x0A,0x08,0x12,0x14,0x02, /* 000004D0 "or......" */
+ 0x0D,0x63,0x6F,0x6E,0x73,0x74,0x61,0x6E, /* 000004D8 ".constan" */
+ 0x74,0x5F,0x61,0x6C,0x70,0x68,0x61,0x00, /* 000004E0 "t_alpha." */
+ 0x0A,0xFF /* 000004E8 ".." */
+};
diff --git a/drivers/gpu/drm/i915/intel_config.c b/drivers/gpu/drm/i915/intel_config.c
index c1b06b7..7db749b 100644
--- a/drivers/gpu/drm/i915/intel_config.c
+++ b/drivers/gpu/drm/i915/intel_config.c
@@ -39,6 +39,17 @@
#define i915_ACPI_PRP_ROOT "\\_SB.PRP.GFX0"
/*
+ * For testing we insert this fixed table into the ACPI configuration
+ * space. In the real world, this will either be part of the firmware
+ * or inserted into the ACPI configuration space via a well defined
+ * kernel method.
+ *
+ * iasl -f -tc i915-properties.asl
+ *
+ */
+#include "i915-properties.hex"
+
+/*
* Load an ACPI property table into the ACPI subsystem.
*
* First, verify that a table isn't already loaded. The table may
@@ -82,7 +93,14 @@ static int intel_acpi_load_table(struct drm_device *dev, char *firmware)
DRM_ERROR("Failed to find ACPI table %s: %d\n",
firmware, ret);
fw = NULL;
- goto bad_table;
+
+ /*
+ * A static ACPI table can be linked into the code.
+ * This is used primarily for testing out the code
+ * but can also be used with a driver compiled
+ * into the kernel for an embedded type configuration.
+ */
+ table = (struct acpi_table_header *)AmlCode;
} else {
table = (struct acpi_table_header *)fw->data;
}
--
2.1.0
More information about the Intel-gfx
mailing list