Bug 209347 - Silent audio output and corrupted input on MSI X570-A PRO
Summary: Silent audio output and corrupted input on MSI X570-A PRO
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-22 00:52 UTC by Dan Crawford
Modified: 2020-09-25 11:27 UTC (History)
2 users (show)

See Also:
Kernel Version: 5.7.8
Subsystem:
Regression: No
Bisected commit-id:


Attachments
output of alsa-info.sh with patched kernel (63.15 KB, text/plain)
2020-09-23 23:26 UTC, Dan Crawford
Details
output of alsa-info.sh with unpatched kernel (63.55 KB, text/plain)
2020-09-23 23:27 UTC, Dan Crawford
Details
output of alsa-info.sh with patched kernel, minus override_conn_list calls (63.58 KB, text/plain)
2020-09-25 11:26 UTC, Dan Crawford
Details

Description Dan Crawford 2020-09-22 00:52:55 UTC
Similar to this bug: https://bugzilla.kernel.org/show_bug.cgi?id=205275.

On my MSI X580-A PRO motherboard there is no output from the analog audio, and the analog audio input is corrupted.

The issue is resolved following Christian Lachner's patch, submitted at https://lkml.org/lkml/2020/8/28/1051. The issue likely effects kernel versions 4.19, 5.4, 5.8, 5.9 etc (I'm running this patch on 5.7.8 with no issues). It likely also effects similar X570 chipset devices.

However, this patch seems to have side effects with nvidia (see comment 2 of the prior bug report), and also for this user: https://bugzilla.redhat.com/show_bug.cgi?id=1879277. This user doesn't appear to have any nvidia devices, so there may be some more complicated interaction occurring.
Comment 1 Takashi Iwai 2020-09-22 07:17:25 UTC
Could you give alsa-info.sh output on your system?  Run the script with --no-upload option and attach to Bugzilla.  At best, give the results on both patched and non-patched kernels.
Comment 2 Dan Crawford 2020-09-23 23:26:47 UTC
Created attachment 292603 [details]
output of alsa-info.sh with patched kernel
Comment 3 Dan Crawford 2020-09-23 23:27:05 UTC
Created attachment 292605 [details]
output of alsa-info.sh with unpatched kernel
Comment 4 Dan Crawford 2020-09-23 23:27:41 UTC
Sure, I've just attached.

I'm seeing some unusual behaviour across reboots with patched/unpatched kernel. It seems like sometimes the patched kernel is still bugged, and sometimes the unpatched works. I would like to confirm that the kernel is correctly building with/without the patch.

Anyway, hopefully the attachments have some insight.
Comment 5 Takashi Iwai 2020-09-24 06:47:04 UTC
The comparison of those two files indicated a few differences:

1. The USB-audio device is registered as the first card
2. GPIO 0 and 1 are cleared after patch by some reason
3. Pin 0x1b (headphone) is connected to 0x0c -> DAC1 0x02, shared with the speaker

1 is likely just a coincidence by the parallel probe, but you can put a module option like
  options snd-usb-audio index=2
for enforcing the slot.  I don't think this would matter, but who knows.

2 is mysterious, because clevo-p950 quirk doesn't touch GPIO at all.  Maybe those are the ones tied with EAPD?
You can toggle GPIO via hda-verb dynamically and see what influence they may have.

3 is the result of clevo-p950 quirk.  And clevo-p950 quirk has two changes,

- Enable some magic COEF
  	alc_update_coef_idx(codec, 0x7, 0, 0x3c3);

- Override the connection list to enforce the connection

I wonder whether applying the COEF above would be enough without the connection change.  Could you comment out two lines of snd_hda_override_conn_list() in alc1220_fixup_clevo_p950() and check whether it still works?
Comment 6 Dan Crawford 2020-09-25 11:26:06 UTC
Created attachment 292639 [details]
output of alsa-info.sh with patched kernel, minus override_conn_list calls
Comment 7 Dan Crawford 2020-09-25 11:27:32 UTC
Re (3), see latest attachment. Audio seems to be ok across reboots.

I can try toggling the GPIO manually later.

Note You need to log in before you can comment on or make changes to this bug.