revert the fix of amdgpu suspend issue, audio issue also can be observed.

Did you check the behavior with the single AMD GPU hardware?
If confirmed, we can forget about vga_switcheroo.

... and taking a look back at the recent changes, I guess it can be
the forced runtime PM enablement, not directly with vga_switcheroo
action itself.

Yeah, the function vga_switcheroo_set_dynamic_switch() has discarded,
so there is no way GFX driver to control audio power. However, keep in
mind, current audio is bound to iGPU, that mean the issue should be
nothing about
vgaswtichreoo. since current audio pci bus is different from dGPU,
that means the pci_bus_set_current_state() in
vga_switcheroo_runtime_suspend() and pci_wakeup_bus() in
vga_switcheroo_runtime_resume() could not touch the audio pci power
state from dGPU instance.
This is a feedback got from our OEM developer, it is the overview of
audio detect process.

First, the kernel audio driver will be triggered to read ELD, if the

ELD is valid, it will report a jack event (on or available) to sound
core driver; the pulseaudio subscribe all jack events, if it is told
that the hdmi jack is plugged in (on), the pulseaudio will set this
port to available, then the pa-card or pa-sink has available port, it
can be selected (manually, some daemons or policy in
/usr/share/pulseaudio/alsa-mixer/) as default output card/default sink.

If the description is correct. I think there are maybe two problems.
1. audio will auto power off after setup device link duo to usage_count=0.
2. duo to audio is power down, it could not get the HDMI jack insert event.
How do you think?

Jim, could you tell me which PCI devices are handled as vga_switcheroo
audio client? The kernel should show all messages "xxx: Handle
vga_switcheroo audio client".

OK this sheds a brighter light, finally.
If my understanding is correct, the issue is a false vga_switcheroo
audio detection, after all. This is the primary GPU and it shouldn't
be registered as a vga_switcheroo discrete GPU.
Below is a very ugly workaround for this particular case. It assumes
that the AMD+AMD combo will never have audio outputs on both but only
for the primary, and it's possibly wrong.
Is there a handy way to identify whether the given VGA PCI entry is
a discrete GPU or not? The amdgpu and radeon seem checking ATPX
ACPI.

This is no issue about this topic, in amdgpu driver, both iGPU/dGPU will
register as VGA_SWITCHEROO_UNKNOWN_ID, and the client id will be
re-initialized in vgaswitchreoo_enable() via ATPX call. Then, iGPU will
set as VGA_SWITCHEROO_IGD, and dGPU will set as VGA_SWITCHEROO_DIS.

I think current focus should be how to detect HDMI audio device under
audio suspend state.