Bug 199029 - Dell Precision 7520: Dock headphones is detected as 'Line Out', 'Master' volume control doesn't change headphones volume
Summary: Dell Precision 7520: Dock headphones is detected as 'Line Out', 'Master' volu...
Status: RESOLVED CODE_FIX
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: 2018-03-06 10:22 UTC by Dmitry Nezhevenko
Modified: 2018-03-16 09:33 UTC (History)
1 user (show)

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


Attachments
alsa-info (51.92 KB, text/plain)
2018-03-06 10:22 UTC, Dmitry Nezhevenko
Details
dmesg (77.45 KB, text/plain)
2018-03-06 10:22 UTC, Dmitry Nezhevenko
Details
Fix patch (2.91 KB, patch)
2018-03-06 11:19 UTC, Takashi Iwai
Details | Diff

Description Dmitry Nezhevenko 2018-03-06 10:22:24 UTC
Created attachment 274583 [details]
alsa-info

Hi,

I'm using Dell Precision 7520 laptop with 'E-Port Plus' replicator and found that I can't adjust headphones volume using 'Master' channel in alsamixer. Headphones are connected to Dock station headphones output (there is headphones icon on it, so it's definitely not line out).

Changing 'Master' volume in alsamixer has no effect:
1. it's possible to mute by muting Master
2. 0-100 values results same volume

At the same time it's still possible to adjust headphones volume using 'PCM' but it pretty looks that whole userspace assumes that 'Master' changes all outputs.

PS. It's new install, so I don't know is it regression or not.

snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC3254: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:line
snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
snd_hda_codec_realtek hdaudioC0D0:    inputs:
snd_hda_codec_realtek hdaudioC0D0:      Dock Mic=0x18
snd_hda_codec_realtek hdaudioC0D0:      Headset Mic=0x19
snd_hda_codec_realtek hdaudioC0D0:      Headphone Mic=0x1a
snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
Comment 1 Dmitry Nezhevenko 2018-03-06 10:22:45 UTC
Created attachment 274585 [details]
dmesg
Comment 2 Takashi Iwai 2018-03-06 11:19:28 UTC
Aha, this codec has the third DAC and it's connected without volume amplifier (but only the mute switch).  And the codec driver assigns the line-out via this route, likely for achieving the individual streams as much as possible.

The patch below should work around it.  It simply disables the route to DAC3.
Please give it a try.
Comment 3 Takashi Iwai 2018-03-06 11:19:52 UTC
Created attachment 274587 [details]
Fix patch
Comment 4 Dmitry Nezhevenko 2018-03-06 12:52:04 UTC
Hi,

Thanks a lot! It works.
Comment 5 Dmitry Nezhevenko 2018-03-16 09:33:41 UTC
It looks like attached patch landed to kernel 4.15.10

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