ALSA: hda/tegra: Enable Jack poll for tegra
authorMohan Kumar <mkumard@nvidia.com>
Mon, 11 Apr 2022 07:32:10 +0000 (13:02 +0530)
committerTakashi Iwai <tiwai@suse.de>
Tue, 12 Apr 2022 09:34:30 +0000 (11:34 +0200)
Enable HDA Jack polling for the tegra platforms as Jack detection
logic doesn't work when the HDACODEC in runtime suspended state as
unsol event won't be triggered during D3 state. This will help the
userspace audio setting controls to correctly show available audio
devices in gui.

Signed-off-by: Mohan Kumar <mkumard@nvidia.com>
Link: https://lore.kernel.org/r/20220411073210.23445-3-mkumard@nvidia.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_tegra.c

index 2347d03..7debb2c 100644 (file)
@@ -420,6 +420,7 @@ static int hda_tegra_create(struct snd_card *card,
        chip->driver_caps = driver_caps;
        chip->driver_type = driver_caps & 0xff;
        chip->dev_index = 0;
+       chip->jackpoll_interval = msecs_to_jiffies(5000);
        INIT_LIST_HEAD(&chip->pcm_list);
 
        chip->codec_probe_mask = -1;
@@ -436,6 +437,7 @@ static int hda_tegra_create(struct snd_card *card,
        chip->bus.core.sync_write = 0;
        chip->bus.core.needs_damn_long_delay = 1;
        chip->bus.core.aligned_mmio = 1;
+       chip->bus.jackpoll_in_suspend = 1;
 
        err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops);
        if (err < 0) {