Commit ccc5df05 authored by Wei Ni's avatar Wei Ni Committed by Takashi Iwai

ALSA: hda - Add support for more the 8 streams

In azx_stream_start() and azx_stream_stop(),
it use azx_readb/azx_writeb to read/write SIE,
it just enable/disable 8 streams.
But according to the HDA spec, it support 30 streams,
and the new HDA controller will support more then 8
streams. So we should use azx_readl/azx_writel to
read/write SIE.
Signed-off-by: default avatarWei Ni <wni@nvidia.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 0aea778e
...@@ -954,8 +954,8 @@ static void azx_stream_start(struct azx *chip, struct azx_dev *azx_dev) ...@@ -954,8 +954,8 @@ static void azx_stream_start(struct azx *chip, struct azx_dev *azx_dev)
azx_dev->insufficient = 1; azx_dev->insufficient = 1;
/* enable SIE */ /* enable SIE */
azx_writeb(chip, INTCTL, azx_writel(chip, INTCTL,
azx_readb(chip, INTCTL) | (1 << azx_dev->index)); azx_readl(chip, INTCTL) | (1 << azx_dev->index));
/* set DMA start and interrupt mask */ /* set DMA start and interrupt mask */
azx_sd_writeb(azx_dev, SD_CTL, azx_sd_readb(azx_dev, SD_CTL) | azx_sd_writeb(azx_dev, SD_CTL, azx_sd_readb(azx_dev, SD_CTL) |
SD_CTL_DMA_START | SD_INT_MASK); SD_CTL_DMA_START | SD_INT_MASK);
...@@ -974,8 +974,8 @@ static void azx_stream_stop(struct azx *chip, struct azx_dev *azx_dev) ...@@ -974,8 +974,8 @@ static void azx_stream_stop(struct azx *chip, struct azx_dev *azx_dev)
{ {
azx_stream_clear(chip, azx_dev); azx_stream_clear(chip, azx_dev);
/* disable SIE */ /* disable SIE */
azx_writeb(chip, INTCTL, azx_writel(chip, INTCTL,
azx_readb(chip, INTCTL) & ~(1 << azx_dev->index)); azx_readl(chip, INTCTL) & ~(1 << azx_dev->index));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment