diff options
author | Wei Ni <wni@nvidia.com> | 2010-01-26 02:59:33 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-01-26 04:40:03 -0500 |
commit | ccc5df058da70d1c26c72cd1c24072a89998d735 (patch) | |
tree | 628d9b5a61588eb590f5fa1c816f3053f00f997c | |
parent | 0aea778efa0d632b62eb35122cbb3b9fae548c61 (diff) |
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: Wei Ni <wni@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/hda_intel.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 6d331c4cf185..6eeefda63838 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -954,8 +954,8 @@ static void azx_stream_start(struct azx *chip, struct azx_dev *azx_dev) | |||
954 | azx_dev->insufficient = 1; | 954 | azx_dev->insufficient = 1; |
955 | 955 | ||
956 | /* enable SIE */ | 956 | /* enable SIE */ |
957 | azx_writeb(chip, INTCTL, | 957 | azx_writel(chip, INTCTL, |
958 | azx_readb(chip, INTCTL) | (1 << azx_dev->index)); | 958 | azx_readl(chip, INTCTL) | (1 << azx_dev->index)); |
959 | /* set DMA start and interrupt mask */ | 959 | /* set DMA start and interrupt mask */ |
960 | azx_sd_writeb(azx_dev, SD_CTL, azx_sd_readb(azx_dev, SD_CTL) | | 960 | azx_sd_writeb(azx_dev, SD_CTL, azx_sd_readb(azx_dev, SD_CTL) | |
961 | SD_CTL_DMA_START | SD_INT_MASK); | 961 | 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 | { | 974 | { |
975 | azx_stream_clear(chip, azx_dev); | 975 | azx_stream_clear(chip, azx_dev); |
976 | /* disable SIE */ | 976 | /* disable SIE */ |
977 | azx_writeb(chip, INTCTL, | 977 | azx_writel(chip, INTCTL, |
978 | azx_readb(chip, INTCTL) & ~(1 << azx_dev->index)); | 978 | azx_readl(chip, INTCTL) & ~(1 << azx_dev->index)); |
979 | } | 979 | } |
980 | 980 | ||
981 | 981 | ||