Jump to content

[HELP ME] About ig-platform-id data & modify


Meowthra
 Share

6 posts in this topic

Recommended Posts

for example:

 

 

Intel Haswell HD - GT1 ID: 0x0a06 8086

 

Display Connector 0 : may be eDP

Display Connector 1 : VGA

Display Connector 2 : HDMI

 

2014-08-25_191145.jpg

 

DSDT Injection:

AAPL,ig-plartform-id  00 00 16 0A
device-id             16 0a 00 00
ig-platform-id: 0A160000 (ORIGINAL DATA)
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
00 00 16 0A 00 03 03 03 00 00 00 04 00 00 00 01
00 00 F0 00 00 00 00 40 D9 0A 00 00 D9 0A 00 00
00 00 00 00 00 00 00 00 00 00 08 00 02 00 00 00
30 00 00 00 01 05 09 00 04 00 00 00 04 00 00 00
02 04 09 00 00 08 00 00 82 00 00 00 FF 00 00 00
01 00 00 00 40 00 00 00 04 00 00 00 00 00 07 00
04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+0h ig-platform-id (4-byte)
 
+5h pipes
+6h ports
+7h framebuffernumber
 
+8h fStolenMemorySize (4-byte)
+Ch fFramebufferMemorySize (4-byte)
 
+10h fCursorBytes (4-byte)
 
+14h VRAM (4-byte)
 
+18h fBacklightFrequency
 
+1Ch fBacklightMax
 
+28h Display Connector Type 1
 
+34h Display Connector Type 2
 
+40h Display Connector Type 3
 
+4Ch Display Connector Type 4
 
Display Connector
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
00 00 08 00 02 00 00 00 30 00 00 00 LVDS connector
01 05 09 00 04 00 00 00 04 00 00 00 eDP connector
02 04 09 00 00 08 00 00 82 00 00 00 HDMI connector
FF 00 00 00 01 00 00 00 40 00 00 00 VGA connector
+0h frame buffer index (1-byte)
+1h port nibble (1-byte)
+2h pipe attribute (1-byte)
+4h Connector Type (4-byte)
+8h Connector attribute (4-byte)
 

 

 

How to get the right information from Windows or Linux

 
How to modify the correct values
 
THX

 

 

Link to comment
Share on other sites

 
Patch Script Error

 

Still no QE CI
 
SYSTEM LOG
 
2015/9/7 kernel[0]: No interval found for . Using 8000000
2015/9/7 kernel[0]: hmm.. mismatch sizes: 3100 vs 20

2015/9/7 WindowServer[139]: Found 7 modes for display 0x00000000 [7, 0]
2015/9/7 WindowServer[139]: Found 1 modes for display 0x00000000 [1, 0]
2015/9/7 WindowServer[139]: Found 1 modes for display 0x00000000 [1, 0]
2015/9/7 WindowServer[139]: update_gl_acceleration: device (0x7fcd3ad14d20) is unsuitable for gl - disabling OpenGL
2015/9/7 WindowServer[139]: Display 0x6b856f80: GL mask 0x1; bounds (0, 0)[1366 x 768], 7 modes available
Main, Active, on-line, enabled, built-in, boot, Vendor dae, Model 15be, S/N 0, Unit 0, Rotation 0
UUID 0xe1ecca77ec9c157abd84fbd8e563926d
2015/9/7 WindowServer[139]: Display 0x003f003d: GL mask 0x1; bounds (0, 0)[0 x 0], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 0, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
2015/9/7 WindowServer[139]: Display 0x003f003c: GL mask 0x1; bounds (0, 0)[0 x 0], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 0, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
2015/9/7 WindowServer[139]:   Display 0x6b856f80: Unit 0; Vendor 0xdae Model 0x15be S/N 0 Dimensions 13.54 x 7.60; online enabled built-in, Bounds (0,0)[1366 x 768], Rotation 0, Resolution 1
2015/9/7 WindowServer[139]:   Display 0x003f003d: Unit 0; Vendor 0xffffffff Model 0xffffffff S/N -1 Dimensions 0.00 x 0.00; offline enabled, Bounds (2390,0)[1 x 1], Rotation 0, Resolution 1
2015/9/7 WindowServer[139]:   Display 0x003f003c: Unit 0; Vendor 0xffffffff Model 0xffffffff S/N -1 Dimensions 0.00 x 0.00; offline enabled, Bounds (2391,0)[1 x 1], Rotation 0, Resolution 1
Link to comment
Share on other sites

  • 2 weeks later...

I'm trying to do the same, for an other computer.

I don't find solution to have good information from Linux or Windows.

 

I'l do a spécial post to resume piker-alpha's work.

 

We have to understand pipe, port and attribut to have a working patch.

 

By the way, what is your computer ?

How many ports you have ?

Who works ?

Link to comment
Share on other sites

For capri, dumped data base on SJ_UNDERWATER php script + Pike:

0b0066010002030200000002 ==> Platform-ID: 0b006601 | *Port: 02 | Pipes: 03 | *FBMem: 02 | StolenMemSize: 00000002 (32Mb)
000000010000006010070000 ==> FBMemSize: 00000001 (16Mb) | Vram: 00000060 (1536Mb) | BacklightFreq: 10070000 (1808Hz)
100700000000000000000000 ==> BacklightFreqMax: 10070000 (1808Hz)
000000000000000000000000
020500000004000007010000 ==> Index: 02 | *Port: 05 | *Pipe: 00 | ConnType: 00040000 | ConnAtts: 07010000 | DP
030400000004000007010000 ==> Index: 03 | *Port: 04 | *Pipe: 00 | ConnType: 00040000 | ConnAtts: 07010000 | DP
040600000008000006000000 ==> Index: 04 | *Port: 06 | *Pipe: 00 | ConnType: 00080000 | ConnAtts: 06000000 | HDMI
000000000100000040000000 ==> FB not-inused
000000000000020010c80f00 ==> *

What will work:

 

  • Changing StolenMemSize, max found: 00000006 (96Mb)
  • Changing FBMemSize, max found: 00008001 (24Mb)
  • Re-order/Index the pipes

What will NOT:

 

  • Cut-off pipes

Lets say i just want to have only one pipe/FB in this Platform-ID, and set it to primary, i modified values below, and always failed

 

  • Pipes: 01 (total FB)
  • Flush other pipes

Note:

 

- [*] full mystery

- Default Vram: 00000060 (1536Mb) (10.11) / 00000020 (512Mb) (10.10)

- Port in each FB indicate to nothing, since it completely different with ioreg values:

Index: 02 - Port: 05, in ioreg: port-number: 0x5
Index: 03 - Port: 04, in ioreg: port-number: 0x6
Index: 04 - Port: 06, in ioreg: port-number: 0x7
0b0066010002030200000002 ==> Platform-ID: 0b006601 | *Port: 02 | Pipes: 01 | *FBMem: 02 | StolenMemSize: 00000002 (32Mb)
000000010000006010070000 ==> FBMemSize: 00000001 (16Mb) | Vram: 00000060 (1536Mb) | BacklightFreq: 10070000 (1808Hz)
100700000000000000000000 ==> BacklightFreqMax: 10070000 (1808Hz)
000000000000000000000000
020500000004000007010000 ==> Index: 02 | *Port: 05 | *Pipe: 00 | ConnType: 00040000 | ConnAtts: 07010000 | DP
000000000100000040000000 ==> FB not-inused
000000000100000040000000 ==> FB not-inused
000000000100000040000000 ==> FB not-inused
000000000000020010c80f00 ==> *

* I never play with VGA / LVDS

* Got FB @2 (with HDMI cable attached) marked as active display, while only 2 port (DP & HDMI) available on my board. Dunno what port @0 is...

Link to comment
Share on other sites

port in framebuffer are not port-number !!

apple always use port-number 0, 5, 6 and 7.

port in framebuffer is more a connection-number (preference order) than other.

 

i started a POC, but in french for now:

http://www.insanelymac.com/forum/topic/308152-poc-patch-framebuffer-display/

 

BTW: Framebuffer@0 is internal display for laptop.

 

Pipe are related to connector type, and port type (report, dual, single, ...)

 

i think have understand your problem, but it' not clear when i read you.

 

try kext and kernel patch, in clover:

 

Name: "name of your kext"

Find:

0b0066010002030200000002000000010000006010070000100700000000000000000000000000000000000000000000020400000004000007010000 000000000100000040000000

Replace:

0b0066010002030200000002000000010000006010070000100700000000000000000000000000000000000000000000020400000004000007010000 010500000008000006000000

Comment: "what you want"

 

It will enable framebuffer@1 and make it primary, configured as HDMI port.

Your display port still untouched.

 

Cheers,

Link to comment
Share on other sites

 Share

×
×
  • Create New...