summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Shtylyov <sshtylyov@ru.mvista.com>2006-03-21 14:01:17 +0300
committerJaroslav Kysela <perex@suse.cz>2006-03-22 12:43:28 +0300
commitc5c079e31cba3e6f93ef098911e216b79d0a84e8 (patch)
tree8879c5322c2e6c2b6b545eb966f40c63a63510f2
parentbb160b850d7e285f8b15906d9c0d1916acfdb953 (diff)
downloadlinux-c5c079e31cba3e6f93ef098911e216b79d0a84e8.tar.xz
[ALSA] AMD Au1x00: AC'97 controller is memory mapped
Modules: MIPS AU1x00 driver AMD Au1x00 ALSA driver erroneously calls request_region() for AC'97 controller registers -- the controller is actually memory mapped at addresses 0x10000000 thru 0x100FFFFF. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/mips/au1x00.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
index 961453b77fc9..cf476fe1ac56 100644
--- a/sound/mips/au1x00.c
+++ b/sound/mips/au1x00.c
@@ -561,12 +561,13 @@ snd_au1000_ac97_new(struct snd_au1000 *au1000)
.read = snd_au1000_ac97_read,
};
- if ((au1000->ac97_res_port = request_region(AC97C_CONFIG,
- sizeof(struct au1000_ac97_reg), "Au1x00 AC97")) == NULL) {
+ if ((au1000->ac97_res_port = request_mem_region(CPHYSADDR(AC97C_CONFIG),
+ 0x100000, "Au1x00 AC97")) == NULL) {
snd_printk(KERN_ERR "ALSA AC97: can't grap AC97 port\n");
return -EBUSY;
}
- au1000->ac97_ioport = (struct au1000_ac97_reg *) au1000->ac97_res_port->start;
+ au1000->ac97_ioport = (struct au1000_ac97_reg *)
+ KSEG1ADDR(au1000->ac97_res_port->start);
spin_lock_init(&au1000->ac97_lock);