2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-26 14:14:01 +08:00
linux-next/sound/pci
Hui Wang 7f641e26a6 ALSA: hda/hdmi - Consider eld_valid when reporting jack event
On the machines with AMD GPU or Nvidia GPU, we often meet this issue:
after s3, there are 4 HDMI/DP audio devices in the gnome-sound-setting
even there is no any monitors plugged.

When this problem happens, we check the /proc/asound/cardX/eld#N.M, we
will find the monitor_present=1, eld_valid=0.

The root cause is BIOS or GPU driver makes the PRESENCE valid even no
monitor plugged, and of course the driver will not get the valid
eld_data subsequently.

In this situation, we should not report the jack_plugged event, to do
so, let us change the function hdmi_present_sense_via_verbs(). In this
function, it reads the pin_sense via snd_hda_pin_sense(), after
calling this function, the jack_dirty is 0, and before exiting
via_verbs(), we change the shadow pin_sense according to both
monitor_present and eld_valid, then in the snd_hda_jack_report_sync(),
since the jack_dirty is still 0, it will report jack event according
to this modified shadow pin_sense.

After this change, the driver will not report Jack_is_plugged event
through hdmi_present_sense_via_verbs() if monitor_present is 1 and
eld_valid is 0.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2019-05-06 16:29:10 +02:00
..
ac97 ALSA: pci: Remove superfluous snd_info_register() calls 2019-02-06 18:11:54 +01:00
ali5451 ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
asihpi ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
au88x0 ALSA: au88xx: Add fall-through annotations 2018-10-12 09:31:34 +02:00
aw2 ALSA: pci: Drop superfluous PCM preallocation error checks 2019-02-06 10:29:09 +01:00
ca0106 Merge branch 'topic/memory-device-fixes-2' into for-next 2019-02-08 14:12:15 +01:00
cs46xx ALSA: cs46xx: Clean up proc file creations 2019-02-06 18:11:59 +01:00
cs5535audio ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
ctxfi ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
echoaudio ALSA: echoaudio: add a check for ioremap_nocache 2019-03-16 10:29:02 +01:00
emu10k1 ALSA: emu10k1: Drop superfluous id-uniquification behavior 2019-04-17 07:16:12 +02:00
hda ALSA: hda/hdmi - Consider eld_valid when reporting jack event 2019-05-06 16:29:10 +02:00
ice1712 ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
korg1212 ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
lola ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
lx6464es Merge branch 'topic/memory-device-fixes-2' into for-next 2019-02-08 14:12:15 +01:00
mixart ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
nm256 ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
oxygen ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
pcxhr ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
riptide ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
rme9652 Merge branch 'topic/memory-device-fixes-2' into for-next 2019-02-08 14:12:15 +01:00
trident ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
vx222 ALSA: vx222: Fix invalid endian conversions 2018-07-26 08:23:28 +02:00
ymfpci ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
ad1889.c Merge branch 'topic/memory-device-fixes-2' into for-next 2019-02-08 14:12:15 +01:00
ad1889.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ak4531_codec.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
als300.c ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
als4000.c ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
atiixp_modem.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
atiixp.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
azt3328.c ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
azt3328.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bt87x.c ALSA: pci: Drop superfluous PCM preallocation error checks 2019-02-06 10:29:09 +01:00
cmipci.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
cs4281.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
cs5530.c ASoC: sb16: Simplify snd_sb16dsp_pcm() 2015-01-02 16:28:35 +01:00
ens1370.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
ens1371.c
es1938.c ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
es1968.c ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
fm801.c ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
intel8x0.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
intel8x0m.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
Kconfig docs: Fix some broken references 2018-06-15 18:10:01 -03:00
maestro3.c ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rme32.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
rme96.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
sis7019.c ALSA: pci: Remove superfluous snd_pcm_suspend*() calls 2019-01-15 17:47:15 +01:00
sis7019.h
sonicvibes.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
via82xx_modem.c Merge branch 'topic/memory-device-fixes-2' into for-next 2019-02-08 14:12:15 +01:00
via82xx.c ALSA: pci: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00