On Wed, 28 Jul 2021 22:03:45 +0200, Alexander Monakov wrote:
On Wed, 28 Jul 2021, Takashi Iwai wrote:
- at high enough gain, recording the microphone is picking up what is
being played via the headphones; maybe it's supposed to be like that, but it surprised me;
Hrm, that doesn't sound right. Some internal loopback in the codec? Dunno. It doesn't pick up the sound physically, right?
How can I tell? If I don't have anything plugged into the jack, playback uses the built-in speakers. In that case there's no feedback. And if I plug in a headset or common headphones, then built-in speakers are automatically muted, and recording the mic can pick up the output signal.
Is there a way to forcefully direct output to the jack instead of built-in speakers even when there isn't anything plugged in?
I am sure it is not picking the sound over the air, but I'm considering it's picking it up electrically near the jack somehow.
- there is a very noticeable "pop" when plugging the headset in/out,
accompanied by
pcieport 0000:00:08.1: PME: Spurious native interrupt! pcieport 0000:00:08.1: PME: Spurious native interrupt!
in dmesg. I'd appreciate info and any help about this issue.
The pop noise is often a thing with the codec and there are a bunch of different workarounds found in the driver. But the spurious interrupt is more worrisome. Is the PCI slot corresponding to the HD-audio controller?
No, it's actually the PCI bridge under which the HDA core resides:
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus 00:08.1/03:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller
Note that I have autosuspend enabled for PCI devices. If I disable PCI autosuspend for the 03:00.6 HDA device, there's no "pop" and no spurious interrupt. My understanding that the chip generates a power management event when it senses a jack plug/unplug event while suspended. Apparently something about the PME interrupt is not fully in order?
As of now, I'm inclined to take your patch as is, at least as a first-aid workaround. Let's see whether we get a better development soonish.
*nod*, I will appreciate it!
FYI, I merged the fix to for-linus branch, which will be likely included in Linus tree in this week.
For the rest issue, at least about the bogus messages from PCI bridge, better to report to the PCI subsystem. It's possibly some missing PCI quirk for the specific chip.
thanks,
Takashi