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@xxxxxxxxx> --- 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..[.@.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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx