Contribute
Register

[SUCCESS] Gigabyte Designare Z390 (Thunderbolt 3) + i7-9700K + AMD RX 580

Both 0x1578 and 0x15D3 are Alpine Ridge. So it would be interesting to see what happens if we put an Alpine Ridge device ID in UPSB or in the firmware itself. My previous attempts to put Alpine Ridge in UPSB were not successful, but I'll try again with your SSDT-TbtOnPch.
Sure ! We can do this on Clover device properties.
 
Both 0x1578 and 0x15D3 are Alpine Ridge. So it would be interesting to see what happens if we put an Alpine Ridge device ID in UPSB or in the firmware itself. My previous attempts to put Alpine Ridge in UPSB were not successful, but I'll try again with your SSDT-TbtOnPch.

My Apple MacBook Air (2018) is 0x1578.
 
Which Root Port is used for this AR card ?
RP23
You should prepare ACPIDebug package (kext and SSDT file) and use previously described method to rename _INI of your RPxx.
I will have to go back thru the thread a bit and figure out what the steps are. Once I do I will give it a try and get back to you!
 
OK, uncommon RP ! But I can't see my PM, I don't have min 75 posts ..

Here are ACPI dumps from my Z390 Ultra. One with the Titan Ridge card, and one with the Alpine Ridge card.

also, this is what I see in IOReg.. pretty sure that means its on RP23

Screen Shot 2020-01-23 at 6.59.18 PM.png
 

Attachments

  • ACPI-Z390-Ultra-AlpineRidge.zip
    129.6 KB · Views: 92
  • ACPI-z390-Ultra-TitanRidge.zip
    130.1 KB · Views: 92
OK, I have another question for my Pro-Audio/DAW brethren.
I am using Digital performer, and I am seeing clicks and pops at low buffer settings even though the CPU is barely taxed at all.
Like I only have a single track with an amp sim on it.
44k with buffers set at 128.
The CPU meter in DP is like 10% but every so often I get a click and the "overload" light comes on.
I have been trying to isolate what is causing it.
Disabled wifi, Bluetooth, ethernet...
But it still happens.
It has me wondering if I have something misconfigured and I am just too dumb to know it.
Maybe its something grabbing the PCIe bus too often.
 
OK, I have another question for my Pro-Audio/DAW brethren.
I am using Digital performer, and I am seeing clicks and pops at low buffer settings even though the CPU is barely taxed at all.
Like I only have a single track with an amp sim on it.
44k with buffers set at 128.
The CPU meter in DP is like 10% but every so often I get a click and the "overload" light comes on.
I have been trying to isolate what is causing it.
Disabled wifi, Bluetooth, ethernet...
But it still happens.
It has me wondering if I have something misconfigured and I am just too dumb to know it.
Maybe its something grabbing the PCIe bus too often.

Do you have any other DAWs installed? Are those DAWs exhibiting the same symptoms? The reason I ask is because I was experiencing something similar and it ended up being a bug specific to the latest Cubase update which was causing a memory leak and abnormal CPU consumption of certain VST3 plugins. Other DAWS work fine on my computer and when I rolled back to a previous version of Cubase, the problem was gone.
 
Hi augustopaulo,

Like CaseySJ, we don't have any log after "ACPIDebug: "PCED UPSB"" except NHI0 state change request few second later. On SSDT, we should have "PCED - enable GPIO" without any conditions. On my laptop, I have the following sequences :
...
ACPIDebug: "_PS0 UPSB"
ACPIDebug: "PCED UPSB"
ACPIDebug: "PCED - enable GPIO"
ACPIDebug: "UGIO - PCI wants on"
ACPIDebug: "UGIO - NHI wants on"
ACPIDebug: "UGIO - XHCI wants on"
ACPIDebug: "UGIO - TBT forced on"
ACPIDebug: "UGIO - USB forced on"
ACPIDebug: "UGIO - TBT GPIO should be on"
ACPIDebug: "UGIO - USB GPIO should be on"
ACPIDebug: "UGIO - Make sure TBT & USBC is on"
ACPIDebug: "PCED UPSB- restored flag, THUNDERBOLT_PCI_LINK_MGMT_DEVICE.PRSR"
ACPIDebug: 0x0
ACPIDebug: "PCED UPSB- Wait for config space..."
ACPIDebug: "PCED UPSB- Read VID/DID ="
ACPIDebug: 0x15d38086
ACPIDebug: "CRMW Read Value1:"
ACPIDebug: 0x4304027
ACPIDebug: "CRMW Write Value1"
ACPIDebug: 0x4304227
ACPIDebug: "CRMW Read Value2:"
ACPIDebug: 0x4304227
ACPIDebug: "CRMW - Success"
ACPIDebug: "CRMW Read Value1:"
ACPIDebug: 0x430412f
ACPIDebug: "CRMW Write Value1"
ACPIDebug: 0x430432f
ACPIDebug: "CRMW Read Value2:"
ACPIDebug: 0x430432f
ACPIDebug: "CRMW - Success"
ACPIDebug: "_PS0 DSB0"
ACPIDebug: "PCEU DSB0"
ACPIDebug: "PCEU DSB0- Put upstream bridge back into D0 "
ACPIDebug: "_PS0 DSB2"
ACPIDebug: "PCEU DSB2"
ACPIDebug: "PCEU DSB2- Put upstream bridge back into D0 "
ACPIDebug: "_PS0 NHI0"
ACPIDebug: "PCED NHI0"
ACPIDebug: "PCED - enable GPIO"
ACPIDebug: "UGIO - PCI wants on"
ACPIDebug: "UGIO - NHI wants on"
ACPIDebug: "UGIO - XHCI wants on"
ACPIDebug: "UGIO - TBT forced on"
ACPIDebug: "UGIO - USB forced on"
ACPIDebug: "UGIO - TBT GPIO should be on"
ACPIDebug: "UGIO - USB GPIO should be on"
ACPIDebug: "UGIO - Make sure TBT & USBC is on"
...

Could you change RMDT method like described on this post https://www.tonymacx86.com/threads/...olt-3-i7-9700k-amd-rx-580.267551/post-2061815 ?

I see on your IOReg file that you have NHI0 properties, where have you extract yours (maybe customized..) ?
You have ThunderboltConfig property :
<00 02 1c 00 02 00 05 03 01 00 04 00 05 03 02 00 03 00 05 03 01 00 00 00 03 03 02 00 01 00 02 00>

On iMac19,1 (including TitanRidge), we have : ADDED: Oops, this is for the iMacPro1,1 (Alpine rigde) :yawn:
<00 02 ff ff 04 00 03 01 01 00 04 00 05 01 02 00 03 00 03 01 01 00 00 00 03 01 02 00 02 00 01 00> for Controller 1 (Route string or Bus number)
<01 02 ff ff 04 00 03 01 01 00 04 00 05 01 02 00 03 00 03 01 01 00 01 00 03 01 02 00 04 00 03 00> for Controller 2 (@CaseySJ @jiffyslot two last bolded values seem to be Port number)
@CaseySJ,

About _INI RP05 only renaming within DSDT .. without extracting DSDT.aml (Clover F4), I have find a solution (and can be used for another method insertion).

The idea is to :
Replace: LNSL = PNL5 (included on native _INI of RP05) on CloverConfigurator
By: XINI
Renaming: _INI of the current SST_TbtOnPch to XINI
and adding previously replaced line within the beginning of XINI method
and don't forget to add on SSDT the following declarations :
External (PNL5, FieldUnitObj)
External (LNSL, IntObj)


On CloverConfigurator, ACPI section, Patches >> I add the following patch:
70504e4c354c4e534c replaced by 58494e49
[which mean pPNL5LNSL replaced by XINI ]

for other Root Port (RP01 or RP21), change PNL5 to PNL1 for RP01, ... to PNLL for RP21

Tested it on my laptop and it work !

UPDATE: .. OR using pre-defined RP05 PINI method with no arguments, this is possible on Z390 Designare DSDT because natively included but I don't know if it's used somewhere else ! The idea is more simple : Only renaming SSDT-TbtOnPch RP05 _INI method to PINI (I haven't this motherboard for testing).
Very nice !

You can inject ThunderboltDROM property:
71000000 000000ED 00E04034 98016900 ED0008C0 01010881 80028000 00000882 90018000 00000883 80048001 00000884 90038001 00000585 50000005 86500000 02C70B88 20010064 00000000 00038980 058A5040 00058B50 40000B01 47494741 42595445 0011025A 33393020 44455349 474E4152 4500

It seem that port 7 is used for IOThunderboltSwitchType3 !

UPDATE:
Z390 Designare (TitanRidge):

71 >> CRC
00 00 00 00 00 00 ED 00 >> UID SwitchType3: ED000000000000
E0 >> CRC
40 34 98 01 69 00 ED 00 >> To be defined
08 C0 01 01 >> To be defined
08 81 80 02 80 00 0000 >> TBPort1 DualLinkport2 HPMAddr0
08 82 90 01 80 00 0000 >> TBPort2 DualLinkport1 HPMAddr0
08 83 80 04 80 01 0000 >> TBPort3 DualLinkport4 HPMAddr1
08 84 90 03 80 01 0000 >> TBPort4 DualLinkport3 HPMAddr1
05 85 50 00 00 >> TBPort5 DisplayPort Adapter
05 86 50 00 00 >> TBPort6 DisplayPort Adapter
02 C7 >> TBSwitch7
0B 88 20 01 00 64 00 00 00 00 00 >> TBPort8 PCI Down Adapter DSB1
03 89 80 >> TBPort9 PCI Down Adapter DSB4
05 8A 50 40 00 >> TBPortA DisplayPort Adapter
05 8B 50 40 00 >> TBPortB DisplayPort Adapter
0B 01 47 49 47 41 42 59 54 45 00 GIGABYTE
11 02 5A 33 39 30 20 44 45 53 49 47 4E 41 52 45 00 Z390 DESIGNARE

Analyzed for long time :crazy: !
I'm just wondering if faking device-id for UPSB (seem to be the first entry point of the whole TB device tree) from 15ea to 1578 may help here?

From my experience comparing IORegs of real iMac19,1, Macmini8,1 and any of our hacks the difference is that real macs always has "1578" in their device-id properties (Alpine Ridge) on upper UPSB and more recent Titan Ridge "15ea" on DSB.

Apple does intentionally fake it, even there are no any Alpine Ridge chips anywhere on the actual PCB (I was observing close-up photos but there are just Titan Ridge chips in the latest Apple products).

Maybe that also explains why macOS can't fully initialize Thunderbolt device tree, because as @CaseySJ just said: "Apple's Thunderbolt 3 drivers might be looking for Alpine Ridge here...".
The following changes have been tested:
  • Use of clean, unmodified DSDT by doing the following:
    • Use Clover ACPI Rename to rename all _Lxx and _Exx GPE events to XLxx and XExx
      • This allows ACPIDebug to work (to log all _Lxx and _Exx events)
    • Use Clover ACPI Rename to replace LNSL=PNL5 with a call to XINI
    • Rename RP05._INI to RP05.XINI in SSDT-TbtOnPch_Designare-Draft07.aml
      • Also added:
        • External (PNL5, FieldUnitObj)
        • External (LNSL, IntObj)
        • LNSL = PNL5 at the beginning of XINI method
  • Use Clover --> Devices --> Properties to inject:
    • ThunderboltDROM based on actual DROM extracted from Gigabyte TB3 firmware
    • device-id 0x1578 for UPSB device
Outcome:
  • This method achieves the objective of avoiding a pre-customized DSDT. All changes needed to the DSDT are dynamically performed by Clover.
  • However, setting UPSB to device-id 0x1578 does not have any effect.
  • Thunderbolt Bus and Local Node not yet achieved.
  • Full Thunderbolt device tree not yet materialized.
Code:
Timestamp                       (process)[PID]
2020-01-23 19:44:01.368207-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::start(IOService*)> ACPIDebug: Version 0.1.4 starting on OS X Darwin 19.2.
2020-01-23 19:44:01.368288-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x40039854
2020-01-23 19:44:01.368353-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe00e4000
2020-01-23 19:44:01.368416-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0800000
2020-01-23 19:44:01.368478-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0900000
2020-01-23 19:44:01.368540-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0908000
2020-01-23 19:44:01.368603-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0910000
2020-01-23 19:44:01.368665-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0920000
2020-01-23 19:44:01.368727-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0a00000
2020-01-23 19:44:01.368790-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "_INI Root Port"
2020-01-23 19:44:01.368853-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICMBoot"
2020-01-23 19:44:01.368915-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Tbt TWIN set to One"
2020-01-23 19:44:01.368978-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Tbt Force Power with FPG0"
2020-01-23 19:44:01.369040-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Up Stream VID/DID =0000000015EA8086"
2020-01-23 19:44:01.369103-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Delay to appear = 198 us"
2020-01-23 19:44:01.369166-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICMS"
2020-01-23 19:44:01.369230-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICME_0="
2020-01-23 19:44:01.369292-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xffffffff
2020-01-23 19:44:01.369355-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI called"
2020-01-23 19:44:01.369419-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI RP OK!"
2020-01-23 19:44:01.369482-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI UPSB OK!"
2020-01-23 19:44:01.369544-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI Dp 0 done"
2020-01-23 19:44:01.369606-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI Dp 3 done"
2020-01-23 19:44:01.369669-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI Dp 4 done"
2020-01-23 19:44:01.369731-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI Dp 5 done"
2020-01-23 19:44:01.369794-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI DPs done"
2020-01-23 19:44:01.369856-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI0 all done"
2020-01-23 19:44:01.369918-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI End"
2020-01-23 19:44:01.369981-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICME_1="
2020-01-23 19:44:01.370043-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800001a1
2020-01-23 19:44:01.370106-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICME_2="
2020-01-23 19:44:01.370168-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800001a1
2020-01-23 19:44:01.370230-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICME_3="
2020-01-23 19:44:01.370293-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800001a7
2020-01-23 19:44:01.370355-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800003f5
2020-01-23 19:44:01.370418-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICME_4="
2020-01-23 19:44:01.370480-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800001a7
2020-01-23 19:44:01.370542-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ISTA="
2020-01-23 19:44:01.370605-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800003f5
2020-01-23 19:44:01.370667-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configuration delay = 1004 ms"
2020-01-23 19:44:01.413595-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "_PS0 RP05"
2020-01-23 19:44:01.413740-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCEU RP05"
2020-01-23 19:44:01.413828-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCEU RP05- Put upstream bridge back into D0 "
2020-01-23 19:44:01.415404-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "_PS0 UPSB"
2020-01-23 19:44:01.415944-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCED UPSB"
2020-01-23 19:44:01.416408-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCED - enable GPIO"
2020-01-23 19:44:01.417162-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - PCI wants on"
2020-01-23 19:44:01.418122-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - NHI wants on"
2020-01-23 19:44:08.813075-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "RTPC NHI0 called with arg: 0000000000000000"
2020-01-23 19:44:08.813884-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "_PS3 NHI0, Nothing to do!"
2020-01-23 19:44:08.814825-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "_PS3 DSB0"
2020-01-23 19:44:08.814897-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCDA DSB0"
2020-01-23 19:44:08.814968-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "POFF DSB0"
2020-01-23 19:44:08.815040-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCDA DSB0- Put upstream bridge into D3"
2020-01-23 19:44:08.815112-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCDA DSB0- Set link disable on upstream bridge"
2020-01-23 19:44:08.815184-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCDA DSB0- Wait for link to drop..."
2020-01-23 19:44:09.825585-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCDA DSB0- disable GPIO"
2020-01-23 19:44:09.825665-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - PCI wants on"
2020-01-23 19:44:09.825739-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - NHI wants off"
2020-01-23 19:44:09.825815-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - XHCI wants on"
2020-01-23 19:44:09.825893-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - TBT allows off"
2020-01-23 19:44:09.825970-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - USB forced on"
2020-01-23 19:44:09.826044-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - TBT GPIO should be off"
2020-01-23 19:44:09.826120-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - USB GPIO should be on"
2020-01-23 19:44:09.826196-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - Make sure TBT & USBC is on"
Test 1: Screenshot of RP05: Partial device tree materialization.

Screen Shot 2020-01-23 at 8.00.45 PM.png

Code:
Timestamp                       (process)[PID]
2020-01-23 20:09:20.382896-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::start(IOService*)> ACPIDebug: Version 0.1.4 starting on OS X Darwin 19.2.
2020-01-23 20:09:20.384716-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x40039854
2020-01-23 20:09:20.384811-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe00e4000
2020-01-23 20:09:20.384909-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0800000
2020-01-23 20:09:20.384973-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0900000
2020-01-23 20:09:20.385037-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0908000
2020-01-23 20:09:20.385099-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0910000
2020-01-23 20:09:20.385162-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0920000
2020-01-23 20:09:20.385224-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xe0a00000
2020-01-23 20:09:20.385292-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "_INI Root Port"
2020-01-23 20:09:20.385364-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICMBoot"
2020-01-23 20:09:20.385430-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Tbt TWIN set to One"
2020-01-23 20:09:20.385493-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Tbt Force Power with FPG0"
2020-01-23 20:09:20.385556-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Up Stream VID/DID =0000000015EA8086"
2020-01-23 20:09:20.385621-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Delay to appear = 200 us"
2020-01-23 20:09:20.385685-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICMS"
2020-01-23 20:09:20.385750-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICME_0="
2020-01-23 20:09:20.385812-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0xffffffff
2020-01-23 20:09:20.385876-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI called"
2020-01-23 20:09:20.385940-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI RP OK!"
2020-01-23 20:09:20.386003-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI UPSB OK!"
2020-01-23 20:09:20.386065-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI Dp 0 done"
2020-01-23 20:09:20.386128-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI Dp 3 done"
2020-01-23 20:09:20.386190-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI Dp 4 done"
2020-01-23 20:09:20.386252-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI Dp 5 done"
2020-01-23 20:09:20.386315-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI DPs done"
2020-01-23 20:09:20.386377-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI0 all done"
2020-01-23 20:09:20.386439-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configure NHI End"
2020-01-23 20:09:20.386502-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICME_1="
2020-01-23 20:09:20.386564-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800001a1
2020-01-23 20:09:20.386626-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICME_2="
2020-01-23 20:09:20.386689-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800001a1
2020-01-23 20:09:20.386751-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICME_3="
2020-01-23 20:09:20.386813-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800001a7
2020-01-23 20:09:20.386876-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800003f5
2020-01-23 20:09:20.386938-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ICME_4="
2020-01-23 20:09:20.387001-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800001a7
2020-01-23 20:09:20.387063-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "ISTA="
2020-01-23 20:09:20.387125-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: 0x800003f5
2020-01-23 20:09:20.387188-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "Configuration delay = 1004 ms"
2020-01-23 20:09:20.428788-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "_PS0 RP05"
2020-01-23 20:09:20.428902-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCEU RP05"
2020-01-23 20:09:20.429003-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCEU RP05- Put upstream bridge back into D0 "
2020-01-23 20:09:20.431766-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "_PS0 UPSB"
2020-01-23 20:09:20.433011-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCED UPSB"
2020-01-23 20:09:20.433449-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCED - enable GPIO"
2020-01-23 20:09:20.433907-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - PCI wants on"
2020-01-23 20:09:20.434257-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - NHI wants on"
2020-01-23 20:09:27.805286-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "RTPC NHI0 called with arg: 0000000000000000"
2020-01-23 20:09:27.805568-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "_PS3 NHI0, Nothing to do!"
2020-01-23 20:09:27.806467-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "_PS3 DSB0"
2020-01-23 20:09:27.806540-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCDA DSB0"
2020-01-23 20:09:27.806615-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "POFF DSB0"
2020-01-23 20:09:27.806694-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCDA DSB0- Put upstream bridge into D3"
2020-01-23 20:09:27.806770-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCDA DSB0- Set link disable on upstream bridge"
2020-01-23 20:09:27.806846-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCDA DSB0- Wait for link to drop..."
2020-01-23 20:09:28.812781-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "PCDA DSB0- disable GPIO"
2020-01-23 20:09:28.812854-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - PCI wants on"
2020-01-23 20:09:28.812927-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - NHI wants off"
2020-01-23 20:09:28.812999-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - XHCI wants on"
2020-01-23 20:09:28.813070-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - TBT allows off"
2020-01-23 20:09:28.813141-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - USB forced on"
2020-01-23 20:09:28.813212-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - TBT GPIO should be off"
2020-01-23 20:09:28.813285-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - USB GPIO should be on"
2020-01-23 20:09:28.813357-0800  localhost kernel[0]: (ACPIDebug) <ACPIDebug`org_rehabman_ACPIDebug::PrintTraces()> ACPIDebug: "UGIO - Make sure TBT & USBC is on"
Test 2: Screenshot of RP05: No TB3 devices connected.

Screen Shot 2020-01-23 at 8.12.37 PM.png

On hot-plug, the system crashes. But after hard reboot, the full device tree materializes for a few seconds before another hard crash. The next reboot results in the screenshot of TEST 1 above (partial materialization), but the system is stable.

So it seems that as soon as the system starts to materialize the full device tree, something happens to crash the system. This might be due to missing PCED calls as you stated previously.

The sequence is as follows:
  • Cold boot with no TB3 devices --> system stable; no devices in RP05 (screenshot #2)
  • Now hotplug TB3 device --> system crashes
  • Now press physical reset button to reboot system (not a cold start) --> full device materialization, but system crashes after a few seconds
  • Warm boot with TB3 dock attached --> system stable; partial tree materialization (screenshot #1)
 
Last edited:
Back
Top