Hey
@RehabMan okay so I think we are getting somewhere close and only a step or two away from pointing out what the issue exactly is.
I am attaching PR files for the 3 scenarios. Describing them one by one below:
Scenario 1:
Injecting a bogus device-id on HDEF, leads to no FakePCIID load (expected) and no on-board audio but what it does interestingly is, the audio device on @1F,3,2 is not null as is recognized as 8086xxxx (confirming it's intel's device).
The PR files for this scenario are labelled as: alc_hdmi_non_null
Scenario 2:
Injecting another CFL device-id
0x9dc8 leads to attaching of FakePCIID to HDEF node, analog audio works fine but no HDMI audio codec is detected at @1F,3,2. In this case, Info.plist of Intel_HDMI* was modified to inject Rm,device-id 0x9D70 when matching to 0x9dc8.
The PR files for this scenario are labelled and attached as: FakeID_Loads_NO_HDMI_ANALOG_WORKS
Scenario 3:
Injecting a HASW device-id
0xac0 leads to working on-board audio. But HDMI codec is not being detected at all at @1F,3,2.
The PR files for this scenario are labelled and attached as: HSW_ID_ANALOG_NO_HDMI
The gist of all three scenarios from what I could gather is, Intel HDMI codec only loads when the on-board audio is not working and has a device-id that shouldn't match the ids of intel HDA controllers.
P.S: I have also turned on debugging logs for AppleALC, you can find them in kenrel_log.
Thanks a lot for reading it all. Waiting for your review.
Regards