OSDN Git Service

ALSA: hda: Fix a mask wrong issue in snd_hdac_stream_start()
authorKeyon Jie <yang.jie@linux.intel.com>
Wed, 9 Jan 2019 08:20:51 +0000 (16:20 +0800)
committerTakashi Iwai <tiwai@suse.de>
Wed, 9 Jan 2019 09:29:18 +0000 (10:29 +0100)
To enable SIE(Stream Interrupt Enable) in snd_hdac_stream_start(), we
should set both mask and value to be "1 << azx_dev->index" for register
update, the mask was 0, here fix it.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/hdac_stream.c

index eee4223..ba73a33 100644 (file)
@@ -56,7 +56,9 @@ void snd_hdac_stream_start(struct hdac_stream *azx_dev, bool fresh_start)
                azx_dev->start_wallclk -= azx_dev->period_wallclk;
 
        /* enable SIE */
-       snd_hdac_chip_updatel(bus, INTCTL, 0, 1 << azx_dev->index);
+       snd_hdac_chip_updatel(bus, INTCTL,
+                             1 << azx_dev->index,
+                             1 << azx_dev->index);
        /* set DMA start and interrupt mask */
        snd_hdac_stream_updateb(azx_dev, SD_CTL,
                                0, SD_CTL_DMA_START | SD_INT_MASK);