Jump to content

DSDT HDMI


netgear
 Share

44 posts in this topic

Recommended Posts

# Maintained by: PJALM (help@pjalm.com) for: http://pjalm.com/repos/

# These patches are the registered property of PJALM.COM and can not be
# redistributed or modified without the written consent of PJALM.COM.
# Links to these patches are allowed. All material is protected under the DMCA.

# Last Updated  : 05/07/2016
# Patch Name    : H97-D3H
# Patch Version : 1.01

#IASL:Check $BUILD = 20131218

#External Fixes
into_all all code_regex \/\*\sExternal\sreference\s\*\/\s+ removeall_matched;
into definitionblock code_regex ,\sUnknownObj removeall_matched;

into definitionblock code_regex External\s\(_SB_.PCI0.PEG0\)\s+ removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEG0.PEGP\)\s+ removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEG1\)\s+ removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEG2\)\s+ removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEGP\)\s+ removeall_matched;
into definitionblock code_regex External\s\(_SB_.PCI0.PEGP.GFX0\)\s+ removeall_matched;

# Add the DTGP method
into method label DTGP remove_entry;
into definitionblock code_regex . insert begin
Method (DTGP, 5, NotSerialized)\n
{\n
    If (LEqual (Arg0, Buffer (0x10)\n
            {\n
                /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,\n
                /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B\n
            }))\n
    {\n
        If (LEqual (Arg1, One))\n
        {\n
            If (LEqual (Arg2, Zero))\n
            {\n
                Store (Buffer (One) { 0x03 }, Arg4)\n
                Return (One)\n
            }\n
            If (LEqual (Arg2, One))\n
            {\n
                Return (One)\n
            }\n
        }\n
    }\n
	Store (Buffer (One) { 0x00 }, Arg4)\n
    Return (Zero)\n
}
end;

# Add Darwin to the supported operating systems
into method label _INI code_regex (\s+)(If\s\(_OSI\s\("Windows\s2001"\)\)) replace_matched begin  \n
						If (_OSI ("Darwin"))\n
						{\n
							Store (0x2710, OSYS)\n
						}\n
\n
						$2
end;

# Intel 9 Series Fixes
into_all all code_regex _T_([0-6]) replaceall_matched begin T_%1 end;

into_all method label _INI code_regex INIR\n replace_matched begin Store (Zero, INIR)\n end;

into device label PCI0 code_regex (\s+Zero){2,} remove_matched;
into_all method label ADBG code_regex (?<=Return\s\(MDBG\))\s+Arg0 remove_matched;
into_all method label _PS3 code_regex PS3X\n replace_matched begin Store (Zero, PS3X)\n end;
into_all method label _PS2 code_regex PS2X\n replace_matched begin Store (Zero, PS2X)\n end;
into_all method label _PS0 code_regex PS0X\n replace_matched begin Store (Zero, PS0X)\n end;

into_all method label GPEH insert begin Return (Zero) end;

into method label _CRS parent_label PCI0 code_regex DWordField\s\(BUF0,\s\\_SB.PCI0._Y1E._LEN,\sMSLN\) replace_matched begin QWordField (BUF0, \\_SB.PCI0._Y1E._LEN, MSLN) end;

into_all all code_regex Acquire\s\(MUT0,\s0x0FFF\) replace_matched begin Acquire (MUT0, 0xFFFF) end;

into method label _HID parent_label _SB.PCI0.LPCB.TPM code_regex (Return\s\(Zero\)) remove_matched;
into method label _HID parent_label _SB.PCI0.LPCB.TPM insert begin Return (Zero) end;

into method label _PS0 parent_label NVM0 code_regex (Return\s\(Zero\)) remove_matched;
into method label _PS0 parent_label NVM0 insert begin Return (Zero) end;

into method label _PS0 parent_label XHC code_regex (Return\s\(Zero\)) remove_matched;
into method label _PS0 parent_label XHC insert begin Return (Zero) end;

into method label _PS0 parent_label RHUB code_regex (Return\s\(Zero\)) remove_matched;
into method label _PS0 parent_label RHUB insert begin Return (Zero) end;

into method label _PS3 parent_label NVM0 code_regex (Return\s\(Zero\)) remove_matched;
into method label _PS3 parent_label NVM0 insert begin Return (Zero) end;

into method label _PS3 parent_label XHC code_regex (Return\s\(Zero\)) remove_matched;
into method label _PS3 parent_label XHC insert begin Return (Zero) end;

into method label _DSM parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
into method label _DSM parent_label SHUB insert begin Return (Zero) end;

into method label RDCA parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
into method label RDCA insert begin Return (Zero) end;

into method label CNRS parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
into method label CNRS insert begin Return (Zero) end;

into method label SPL1 parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
into method label SPL1 insert begin Return (Zero) end;

into method label OE1X parent_label _GPE code_regex (Return\s\(Zero\)) remove_matched;
into method label OE1X parent_label _GPE insert begin Return (Zero) end;

# into method label TINI parent_label _SB.PCI0.RP05 code_regex (Return\s\(Zero\)) remove_matched;
into method label TINI parent_label _SB.PCI0.RP05 insert begin Return (Zero) end;

into method label TWAK parent_label _SB.PCI0.RP05 code_regex (Return\s\(Zero\)) remove_matched;
into method label TWAK parent_label _SB.PCI0.RP05 insert begin Return (Zero) end;

into method label TPTS parent_label _SB.PCI0.RP05 code_regex (Return\s\(Zero\)) remove_matched;
into method label TPTS parent_label _SB.PCI0.RP05 insert begin Return (Zero) end;

into method label SMSR parent_label _SB code_regex CreateDWordField\s\(Arg0,\s0x04,\sAEBX\)\s+ remove_matched;
into method label SDSP parent_label AMW0 code_regex CreateDWordField\s\(Arg0,\sZero,\sACTN\)\s+ remove_matched;
into method label GDSP parent_label AMW0 code_regex CreateDWordField\s\(Arg0,\sZero,\sACTN\)\s+ remove_matched;
into method label DEVS parent_label AMW0 code_regex CreateDWordField\s\(Arg0,\s0x04,\sCPAR\)\s+ remove_matched;

# Device injection for the Intel 9 Series SATA
into device label SAT0 set_label begin SATA end;
into_all all code_regex SAT0 replaceall_matched begin SATA end;
into device label SAT1 remove_entry;
into_all scope label _SB.PCI0.SAT0.PRT0 set_label begin _SB.PCI0.SATA.PRT0 end;
into_all scope label _SB.PCI0.SAT0.PRT1 set_label begin _SB.PCI0.SATA.PRT1 end;
into_all scope label _SB.PCI0.SAT0.PRT2 set_label begin _SB.PCI0.SATA.PRT2 end;
into_all scope label _SB.PCI0.SAT0.PRT3 set_label begin _SB.PCI0.SATA.PRT3 end;
into method label _DSM parent_label SATA remove_entry;
into device label SATA insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
	Store (Package (0x0A) {\n
		"AAPL,slot-name", "Built In",\n
		"name", "Intel AHCI Controller",\n
		"model", Buffer (0x2D) {"Intel 9 Series Chipset Family SATA Controller"},\n
		"device_type", Buffer (0x0F) {"AHCI Controller"},\n
		"device-id", Buffer (0x04) {0x02,0x1E,0x00,0x00}\n
	}, Local0)\n
	DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
	Return (Local0)\n
}
end;

# Gigabyte Series 9 Fixes

into method label _CRS parent_label ACD0 code_regex CreateByteField\s\(IRB([0-1]) replaceall_matched begin CreateDWordField (IRB%1 end;

into method label _CRS parent_label ACD1 code_regex CreateByteField\s\(RBUF,\s\\ replace_matched begin CreateDWordField (RBUF, \\ end;

into method label _CRS parent_label ACD2 code_regex CreateByteField\s\(RBUF,\s\\ replace_matched begin CreateDWordField (RBUF, \\ end;

into method label _CRS parent_label TPL0 code_regex CreateByteField\s\(SBFI,\s\\ replace_matched begin CreateDWordField (SBFI, \\ end;

into method label _CRS parent_label TPL1 code_regex CreateByteField\s\(SBFI,\s\\ replace_matched begin CreateDWordField (SBFI, \\ end;

into method label _CRS parent_label TPL2 code_regex CreateByteField\s\(IRBU,\s\\ replace_matched begin CreateDWordField (IRBU, \\ end;

into method label _CRS parent_label TPL3 code_regex CreateByteField\s\(SBFI,\s\\_SB replaceall_matched begin CreateDWordField (SBFI, \\_SB end;

into method label _CRS parent_label TPD0 code_regex CreateByteField\s\(SBFI,\s\\_SB replaceall_matched begin CreateDWordField (SBFI, \\_SB end;

into method label _CRS parent_label TPD1 code_regex CreateByteField\s\(SBFI,\s\\_SB replaceall_matched begin CreateDWordField (SBFI, \\_SB end;

into method label _CRS parent_label TPD2 code_regex CreateByteField\s\(SBFI,\s\\_SB replaceall_matched begin CreateDWordField (SBFI, \\_SB end;

into method label _CRS parent_label TPD3 code_regex CreateByteField\s\(SBFI,\s\\_SB replaceall_matched begin CreateDWordField (SBFI, \\_SB end;

into method label _CRS parent_label TPD7 code_regex CreateByteField\s\(SBFI,\s\\_SB replaceall_matched begin CreateDWordField (SBFI, \\_SB end;

into method label _CRS parent_label TPD8 code_regex CreateByteField\s\(SBFI,\s\\_SB replaceall_matched begin CreateDWordField (SBFI, \\_SB end;

into method label _DSM parent_label DFUD code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label DFUD insert begin Return (Zero) end;

into method label _DSM parent_label TPD4 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPD4 insert begin Return (Zero) end;

into method label _DSM parent_label TPD9 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPD9 insert begin Return (Zero) end;

into method label _DSM parent_label TPL0 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPL0 insert begin Return (Zero) end;

into method label _DSM parent_label TPL1 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPL1 insert begin Return (Zero) end;

into method label _DSM parent_label TPL2 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPL2 insert begin Return (Zero) end;

into method label _DSM parent_label TPL3 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPL3 insert begin Return (Zero) end;

into method label _DSM parent_label TPD0 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPD0 insert begin Return (Zero) end;

into method label _DSM parent_label TPD1 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPD1 insert begin Return (Zero) end;

into method label _DSM parent_label TPD2 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPD2 insert begin Return (Zero) end;

into method label _DSM parent_label TPD3 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPD3 insert begin Return (Zero) end;

into method label _DSM parent_label TPD7 code_regex (Return\s\(Zero\)) remove_matched;
into method label _DSM parent_label TPD7 insert begin Return (Zero) end;

into method label _DSM parent_label TPD8 code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _DSM parent_label TPD8 insert begin Return (Zero) end;

into method label _HID parent_label _SB.TPM code_regex (Return\s\(Zero\))\s+ remove_matched;
into method label _HID parent_label _SB.TPM insert begin Return (Zero) end;

## Method _CRS in ACD0
into method label _CRS parent_label ACD0 code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label ACD0 remove_entry;
into device label ACD0 insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label ACD0 code_regex .* replace_matched begin %8 end;

## Method _CRS in ACD1
into method label _CRS parent_label ACD1 code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label ACD1 remove_entry;
into device label ACD1 insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label ACD1 code_regex .* replace_matched begin %8 end;

## Method _CRS in ACD2
into method label _CRS parent_label ACD2 code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label ACD2 remove_entry;
into device label ACD2 insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label ACD2 code_regex .* replace_matched begin %8 end;

## Method _CRS in SHUB
into method label _CRS parent_label SHUB code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label SHUB remove_entry;
into device label SHUB insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label SHUB code_regex .* replace_matched begin %8 end;

## Method _CRS in DFUD
into method label _CRS parent_label DFUD code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label DFUD remove_entry;
into device label DFUD insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label DFUD code_regex .* replace_matched begin %8 end;

## Method _CRS in TPD4
into method label _CRS parent_label TPD4 code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label TPD4 remove_entry;
into device label TPD4 insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label TPD4 code_regex .* replace_matched begin %8 end;

## Method _CRS in TPD9
into method label _CRS parent_label TPD9 code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label TPD9 remove_entry;
into device label TPD9 insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label TPD9 code_regex .* replace_matched begin %8 end;

## Method _CRS in TPL0
into method label _CRS parent_label TPL0 code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label TPL0 remove_entry;
into device label TPL0 insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label TPL0 code_regex .* replace_matched begin %8 end;

## Method _CRS in TPFU
into method label _CRS parent_label TPFU code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label TPFU remove_entry;
into device label TPFU insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label TPFU code_regex .* replace_matched begin %8 end;

## Method _CRS in TPL1
into method label _CRS parent_label TPL1 code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label TPL1 remove_entry;
into device label TPL1 insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label TPL1 code_regex .* replace_matched begin %8 end;

## Method _CRS in TPL2
into method label _CRS parent_label TPL2 code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label TPL2 remove_entry;
into device label TPL2 insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label TPL2 code_regex .* replace_matched begin %8 end;

## Method _CRS in GPS2
into method label _CRS parent_label GPS2 code_regex ([\s\S]*) store_%8;
into method label _CRS parent_label GPS2 remove_entry;
into device label GPS2 insert begin Method (_CRS, 0, Serialized)\n{\n\n} end;
into method label _CRS parent_label GPS2 code_regex .* replace_matched begin %8 end;

## Method GACI in PTMD
into method label GACI parent_label PTMD code_regex ([\s\S]*) store_%8;
into method label GACI parent_label PTMD remove_entry;
into device label PTMD insert begin Method (GACI, 0, Serialized)\n{\n\n} end;
into method label GACI parent_label PTMD code_regex .* replace_matched begin %8 end;

## Method GDSV in PTMD
into method label GDSV parent_label PTMD code_regex ([\s\S]*) store_%8;
into method label GDSV parent_label PTMD remove_entry;
into device label PTMD insert begin Method (GDSV, 1, Serialized)\n{\n\n} end;
into method label GDSV parent_label PTMD code_regex .* replace_matched begin %8 end;

## Method GXDV in PTMD
into method label GXDV parent_label PTMD code_regex ([\s\S]*) store_%8;
into method label GXDV parent_label PTMD remove_entry;
into device label PTMD insert begin Method (GXDV, 1, Serialized)\n{\n\n} end;
into method label GXDV parent_label PTMD code_regex .* replace_matched begin %8 end;

# Add the missing MCHC device
into device label MCHC parent_label PCI0 remove_entry;
into device label PCI0 insert begin
Device (MCHC)\n
{\n
	Name (_ADR, Zero)\n
}
end;

# Fix the LPC Device
into method label _DSM parent_label LPCB remove_entry;
into device label LPCB insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
	Store (Package (0x02) {\n
		"compatible", Buffer () {"pci8086,8c44"}\n
	}, Local0)\n
	DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
	Return (Local0)\n
}
end;

# Fix the SMBUS to allow for loading of the AppleSMBusController.kext
into device label BUS0 parent_label SBUS remove_entry;
into device label SBUS insert begin
Device (BUS0)\n
{\n
	Name (_CID, "smbus")\n
	Name (_ADR, Zero)\n
	Device (DVL0)\n
	{\n
		Name (_ADR, 0x57)\n
		Name (_CID, "diagsvault")\n
		Method (_DSM, 4, NotSerialized)\n
		{\n
			Store (Package (0x02) {\n
				"address", 0x57
			}, Local0)\n
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
			Return (Local0)\n
		}\n
	}\n
}
end;

# Fix HDEF device for the Realtek ALC1150 audio codec
into method label _DSM parent_label HDEF remove_entry;
into device label HDEF insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
	Store (Package (0x10) {\n
		"AAPL,slot-name", "Built In",\n
		"name", "Realtek Audio Controller",\n
		"model", Buffer () {"Realtek ALC1150 Audio Controller"},\n
		"device_type", Buffer (0x10) {"Audio Controller"},\n
		"layout-id", Buffer (0x04) {0x01,0x00,0x00,0x00},\n
		"PinConfigurations", Buffer (Zero) {},\n
		"MaximumBootBeepVolume", Buffer(One) {0x40},\n
		"hda-gfx", Buffer (0x0A) {"onboard-1"}\n
	}, Local0)\n
	DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
	Return (Local0)\n
}
end;

# Fixes 'Built-in' status for Intel Gigabit Ethernet
into method label _DSM parent_label GLAN remove_entry;
into device label GLAN insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
	Store (Package (0x0C) {\n
		"AAPL,slot-name", "Built In",\n
		"name", "Intel Ethernet Controller",\n
		"model", "Intel I217-V Gigabit Network Controller",\n
		"device_type", Buffer (0x13) {"Ethernet Controller"},\n
		"built-in", Buffer (One) {0x01},\n
		"location", Buffer (0x02) {"1"}\n
	}, Local0)\n
	DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
	Return (Local0)\n
}
end;

# Patches the Intel USB3 on Intel 9 Series chipsets
into method label _DSM parent_label XHC remove_entry;
into device label XHC insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
	Store (Package (0x15) {\n
		"AAPL,slot-name", "Built In",\n
		"name", "Intel XHCI Controller",\n
		"model", Buffer (0x37) {"Intel 9 Series Chipset Family USB xHCI Host Controller"},\n
		"device_type", Buffer (0x0E) {"USB Controller"},\n
		"AAPL,current-available", 0x0834,\n
		"AAPL,current-extra", 0x0A8C,\n
		"AAPL,current-in-sleep", 0x03E8,\n
		"AAPL,current-extra-in-sleep", 0x0834,\n
		"AAPL,max-port-current-in-sleep", 0x0A8C,\n
		"AAPL,device-internal", 0x02,\n
		Buffer (One) {0x00}\n
	}, Local0)\n
	DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
	Return (Local0)\n
}
end;

Allora volevo usare la patch pjalm per la GA-Z97-D3H ALC 1150, che non so se già contiene correzioni audio, video GTX750Ti

 

Ma HDMI ha un layout suo, non si usa più tipo "1"

 

Aspetta post la patch pjalm:

Link to comment
Share on other sites

Premetto che non avendo visto il dsdt, parlo alla cieca, nel senso che la scheda video potrebbe essere su ssdt invece che su dsdt, quindi il tutto andrebbe adeguato di conseguenza...

Di generico cosa più semplice sarebbe iniettare solo HDAU sul dsdt, oltretutto la tua video è gestita dai web driver e quindi avrebbe poco senso iniettarla completamente sul dsdt.

 Per esempio, ovviamente da mettere nella posizione esatta di dove è collocata la scheda video sul dsdt

 


 Device (HDAU)
                    {
                        Name (_ADR, One)
                        Method (_DSM, 4, NotSerialized)
                        {
                            If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
                            Return (Package()
                            {
                                "layout-id", Buffer() { 1, 0, 0, 0, },
                                "hda-gfx", Buffer() { "onboard-1" },
                            })
                        }
                    }
 

Comunque qualcosa se non mi sbaglio dovrebbe essere già stato implementato su AppleALC...hai provato a mettere il fix addHDMI sul config?

Link to comment
Share on other sites

Scusa ma non ho capito...in che senso il dsdt di Mirone è già completo di suo?

Poi non confondere le patch, HDAU può essere relativo alla grafica integrata


nella patch che hai postato non vedo alcun hdmi...

Link to comment
Share on other sites

Pure quello vuoi, capito, domani te lo posto, stacco per oggi dalle 07:00 di stamani che sono qui davanti...

 

Grazie gengik a domani :) .

 

Ma Jolly è in vacanza...

 

Eccolo:

 


Ma Mirone invece è già completo di suo... Quando genera il DSDT

Link to comment
Share on other sites

si certo la patch di Mirone, poi con calma mi dici che hai aggiunto...

 

Ma questa di Toleda:

# Maintained by: toleda for: github.com/toleda/audio_hdmi_9series
# File: hsr1-dsdt-ami-9series_hdmi_audio-1_v3.1
# Credit: PikeRAlpha, RehabMan

# Desktop AMD/Nvidia/HD4600 HDMI audio dsdt edits (Audio ID: 1)
# Supports HD4400, HD4600, HD5000, HD5100, HD5200 and Iris Pro Graphics
# Enables HD4600/AMD and HD4600/Nvidia AirPlay Mirroring.
# Azul/Framebuffer: 0D22 0003 iMac14 - FB edits required for HDMI audio
#
# Verify dsdt/Device (IOReg/PEG0@1) exists. 
#
# NOTE: Run this patch file only once on a dsdt.  
#
# Tasks:
# 1. Insert device GFX0 and device HDAU into device PEG0 (Nvidia/AMD HDMI audio)
# 2. Disable device GFX0 and add device IGPU, add injection (HD4600 HDMI audio - Part 1/2)
# 3. Disable device B0D3 and add device HDAU, add injection (HD4600 HDMI audio - Part 2/2)
# 4. Insert audio injection into device HDEF (HDEF audio)
#
# Run this patch once for any dsdt.
#
# 1.  Insert device GFX0 and device HDAU (Nvidia/AMD HDMI audio)
# into_all all code_regex PEG0.PEGP replaceall_matched begin PEG0.GFX0 end;
into method label _DSM parent_adr 0x00010000 remove_entry;
into device label PEGP remove_entry;
into device label PEG0 insert
begin
Device (GFX0)\n
{\n
    Name (_ADR, Zero)\n
    Name (_SUN, One)\n
    Method (_DSM, 4, NotSerialized)\n
    {\n
	    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
	    Return (Package()\n
            {\n
                "@0,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },\n
                "@1,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },\n
                "@2,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },\n
                "@3,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },\n
                "@4,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },\n
                "@5,connector-type", Buffer() { 0x00, 0x08, 0x00, 0x00 },\n
                "hda-gfx", Buffer() { "onboard-2" },\n
	    })\n
    }\n
}\n
Device (HDAU)\n
{\n
    Name (_ADR, One)\n
    Method (_DSM, 4, NotSerialized)\n
    {\n
	    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
	    Return (Package()\n
            {\n
		"layout-id", Buffer() { 1, 0, 0, 0, },\n
                "hda-gfx", Buffer() { "onboard-2" },\n
	    })\n
    }\n
}\n
Device (PEGP)\n
{\n
    Name (_ADR, 0x0F)\n
}\n
end;

# 2. Disable device GFX0 and add IGPU with Azul injection (HD4600 HDMI audio - Part 1/2)
into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 set_label begin IGPU end;
into device name_adr 0x00020000 insert
begin
	Method (_DSM, 4, NotSerialized)\n
	{\n
	    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
	    Return (Package()\n
	    {\n
	        "AAPL,ig-platform-id", Buffer() { 0x03, 0x00, 0x22, 0x0D },\n
                "hda-gfx", Buffer() { "onboard-1" },\n
	    })\n
	}\n
end;
into device label PCI0 insert
begin
    Device (GFX0)\n
    {\n
        Name (_ADR, 0x00020001)\n
    }\n
end;

# 3. Disable device B0D3 and add HDAU with injection (HD4600 HDMI audio - Part 2/2)
into method label _DSM parent_adr 0x00030000 remove_entry;
into device name_adr 0x00030000 set_label begin HDAU end;
into device name_adr 0x00030000 insert
begin
	Method (_DSM, 4, NotSerialized)\n
	{\n
	    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
	    Return (Package()\n
	    {\n
                "layout-id", Buffer() { 1, 0, 0, 0, },\n
                "hda-gfx", Buffer() { "onboard-1" },\n
	    })\n
	}\n
end;
into device label PCI0 insert
begin
    Device (B0D3)\n
    {\n
        Name (_ADR, 0x00030001)\n
    }\n
end;

# 4. Insert audio injection into device HDEF (HDEF audio)
into method label _DSM parent_adr 0x001B0000 remove_entry;
into scope label _SB.PCI0.HDEF remove_entry;

into device name_adr 0x001B0000 insert
begin
    Method (_DSM, 4, NotSerialized)\n
    {\n
	    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
	    Return (Package()\n
	    {\n
                "layout-id", Buffer() { 1, 0, 0, 0, },\n
                "PinConfigurations", Buffer(Zero) {},\n
	    })\n
    }\n
end;
into definitionblock code_regex . insert
begin Store ("hsr1-dsdt-ami-9series_hdmi_audio-1_v3.1 dsdt edits, github.com/toleda", Debug) end 

Domani metto tutto su un HD e provo...

 

Grazie gengik a domani.

Link to comment
Share on other sites

Allora con il tuo DSDT mi va in KP, ne ho fatto uno con la patch di Toleda sopra e l'audio HDMI funziona, funziona tutto ma:

 

Il second stage boot non mi funziona più dopo HDMI di Toleda:

<key>AddProperties</key>
		<array>
			<dict>
				<key>Device</key>
				<string>Nvidia</string>
				<key>Key</key>
				<string>@1,AAPL,boot-display</string>
				<key>Value</key>
				<string>00000001</string>
			</dict>
Link to comment
Share on other sites

con quella patch hai iniettato completamente la scheda video in modo generico quindi credo che crei alcuni confitti...

Riguardo al KP nel momento non saprei, sono partito dal tuo dsdt già patchato.

Appena rientro a casa, guardo di rifare il tutto partendo da quello pulito

Link to comment
Share on other sites

ora metto la patch che avevi postato all'inizio:

Device (HDAU)
                    {
                        Name (_ADR, One)
                        Method (_DSM, 4, NotSerialized)
                        {
                            If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
                            Return (Package()
                            {
                                "layout-id", Buffer() { 1, 0, 0, 0, },
                                "hda-gfx", Buffer() { "onboard-1" },
                            })
                        }
                    }
Link to comment
Share on other sites

Poi come in passato il DSDT mi ha riportato a Generic il sata che prima era iniettato Series 9:

<key>Intel 9 Series Chipset</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.driver.AppleAHCIPort</string>
			<key>Chipset Name</key>
			<string>9 Series Chipset</string>
			<key>IOClass</key>
			<string>AppleAHCI</string>
			<key>IOPCIClassMatch</key>
			<string>0x01060100&0xffffff00</string>
			<key>IOPCIPrimaryMatch</key>
			<string>0x8c828086 0x8c838086 0x9c838086</string>
			<key>IOProbeScore</key>
			<integer>11000</integer>
			<key>IOProviderClass</key>
			<string>IOPCIDevice</string>
			<key>Vendor Name</key>
			<string>Intel</string>
		</dict>
Link to comment
Share on other sites

da provare il dsdt allegato, usato sempre come base il tuo da te patchato

 

Mi raccomando, se si mettono le patch sul dsdt, non devono essere messe sul config...altrimenti ci sono poi problemi

 

Gengik, non mi dire queste cose  :lol: ... Allora ho visto che rimettendo tutto "normale" il second stage non mi andava, nemmeno con new way e FixDisplay, quindi devo vedere bene, ora provo il DSDT...

Link to comment
Share on other sites

Nulla nessun Audio HDMI, ho messo il DSDT (di base) e solo patch Toleda SATA Series 9 rimane ma il second stage va a pallino...

 

In sostanza tutto OK ma il second stage va in basso a sinistra.


Allora ho risolto con l'iniezione completa per il second stage:

<key>Inject</key>
		<true/>
		<key>Properties</key>
		<string>1a0400000100000003000000620000000200000002010c00d041030a000000000101060000197fff0400160000006200750069006c0074002d0069006e00000005000000011c0000006400650076006900630065005f00740079007000650000000d00000045746865726e6574000c0300001100000002010c00d041030a000000000101060000010101060000007fff040014000000400033002c006e0061006d0065000000120000004e5644412c446973706c61792d4422000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c617920000000400033002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616320000000400032002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616314000000400032002c006e0061006d0065000000120000004e5644412c446973706c61792d4314000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d41100000006d006f00640065006c0000001d00000045564741204765466f7263652047545820373530546920534322000000400032002c006400650076006900630065005f00740079007000650000000b000000646973706c617914000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4222000000400033002c006400650076006900630065005f00740079007000650000000b000000646973706c617920000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616320000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616322000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c61791e00000072006f006d002d007200650076006900730069006f006e0000001200000038322e30372e32352e30302e35301c0000006400650076006900630065005f00740079007000650000000f0000004e5644412c506172656e742e000000400031002c004100410050004c002c0062006f006f0074002d0064006900730070006c0061007900000008000000010000001e0000005600520041004d002c0074006f00740061006c004d00420000000800000000080000a00000000300000002010c00d041030a0000000001010600001b7fff040028000000500069006e0043006f006e00660069006700750072006100740069006f006e00730000000500000000300000004d006100780069006d0075006d0042006f006f007400420065006500700056006f006c0075006d00650000000500000000180000006c00610079006f00750074002d006900640000000800000001000000</string>

Rimane il fatto che con le correzioni PJ il stata rimane Generico, nonostante l'iniezione... 

Link to comment
Share on other sites

 Share

×
×
  • Create New...