Here is the result of my investigation which will prove that this is truely a problem with amdgpu dc in the kernel.
AMDGPU dc enabled audio routing through hdmi in 4.14x kernel iirc.
While looking at the logs carefully, I found this:
kernel: snd_hda_intel 0000:00:09.2: azx_get_response timeout, switching to single_cmd mode: last cmd=0x0213b080
Now quoting from Audio-HD.txt,
BIOS reports the available codec slots wrongly, the driver gets
confused and tries to access the non-existing codec slot. This often
results in the total screw-up, and destructs the further communication
with the codec chips. The symptom appears usually as error messages
hda_intel: azx_get_response timeout, switching to polling mode:
hda_intel: azx_get_response timeout, switching to single_cmd mode:
The first line is a warning, and this is usually relatively harmless.
It means that the codec response isn’t notified via an IRQ. The
driver uses explicit polling method to read the response. It gives
very slight CPU overhead, but you’d unlikely notice it.
The second line is, however, a fatal error. If this happens, usually
it means that something is really wrong. Most likely you are
accessing a non-existing codec slot.
Secondly I issued
cat /proc/asound/cards and I got the result:
0 [HDMI ]: HDA-Intel - HDA ATI HDMI
HDA ATI HDMI at 0xf0d60000 irq 39
1 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xf0d64000 irq 38
Acer: selling with a lock down amd apu(amd-v is disabled for reason idk and they haven’t provided a setting to toggle that) wasn’t enough. They have already stopped updating the bios two years ago. Wish I could flash coreboot and get the ultimate freedom from this oem bits. :’(